У меня проблема с одной из моих форм в базе данных MS Access, и, как ни странно, это единственная форма, которая имеет эту проблему.
Форма имеет типичную структуру Master / Detail с подчиненной формойстол.Источник записи подчиненной формы включает в себя внешний ключ, который извлекает информацию из другой таблицы и заполняет остальные поля на основе значения ключа.Этот внешний ключ является номером материала, который определяет конкретный объект в инвентаре, а другие поля в подчиненной форме показывают детали этого объекта.
Пример из таблицы знаков:
Номер материала: 116063175
Ящик для хранения: A116
Описание материала: Стоп
Размеры: 48x48
Вся эта информация содержится в одной таблице, но формадля таблицы, которая используется для заполнения знаков на конкретной дороге (остановки, ограничения скорости и т.остальные формы будут заполнены автоматически.Этот процесс работает и здесь, но по какой-то причине Access хочет попытаться заполнить оставшиеся данные поля, прежде чем я закончу набирать номер материала.Я введу «1», и access выдаст ошибку, из-за которой не может найти соответствующую запись в таблице Signs в таблице внешнего ключа.После двухкратного отклонения ошибки ввод данных может возобновиться как обычно, что также странно.
Надеюсь, я достаточно ясно сказал, что я впервые задаю вопрос здесь.
Заранее спасибо!
Редактировать: Попытка восстановления формы, та же проблема.Построил другую похожую форму, но без моих множественных списков, не было проблемы!Может ли это быть связано с базовым кодом запроса в событии Afterupdate моих списков?У меня есть каскадная настройка комбинированного списка в форме, может ли ввод данных вызывать запрос?
Edit2: на данный момент я использую исправление для определения номера и количества материала (два важных полядля этой формы) в текстовые поля вне подчиненной формы, которые пользователь может отредактировать, а затем поместить в подчиненную форму нажатием кнопки, которая закодирована следующим образом:
Private Sub Command1_Click()
If Me!PrimaryRoadInventorySubform.Form.Dirty Then
Me!PrimaryRoadInventorySubform.Form.Dirty = False
End If
Me!PrimaryRoadInventorySubform.SetFocus
DoCmd.GoToRecord , , acNewRec
Me!PrimaryRoadInventorySubform.Form!MaterialNumber = MaterialNumtxt
Me!PrimaryRoadInventorySubform.Form!Quantity = Quantitytxt
End Sub