Один из способов - создать форму и подчиненную форму и установить для свойства Allow Additions
подчиненной формы значение No
, это предотвратит создание дочерних элементов. Затем добавьте кнопку в строку с именем, скажем, Assign
, событие Click
этой кнопки затем обновит FK для детей до PK для родителей, скажем:
Me.txtParentID = Me.Parent.txtID
Человеческая природа, какая она есть, вам, вероятно, понадобится форма или кнопка, позволяющая исключить родителей, когда они ошибочно назначены.
Вы можете исключить назначенных детей из вашей формы.
Есть, конечно, несколько других способов сделать это.
Редактировать
Предположительно, у вас есть какое-то поле в дочерней таблице, в котором указан родитель, поэтому вы можете использовать его для фильтрации неназначенных дочерних элементов. Источник записи вашей всплывающей формы будет выглядеть примерно так:
SELECT ID, Something FROM Children WHERE ParentID Is Null
У вас все еще может быть назначенная кнопка, которая может использовать OpenArg из главной формы с окном сообщения для подтверждения, идентификатор непосредственно из главной формы или дополнительную небольшую форму для выбора родителя.
Я не рекомендую всплывающее окно. Если вы не сделаете приложение модальным, возможно, что пользователь переместит основную запись формы, не обращая достаточного внимания, и если вы сделаете приложение модальным, это будет неприятно.
Подчиненная форма назначенных дочерних элементов будет более безопасной, или в форме назначения будут перечислены только неназначенные дочерние элементы, которая содержит комбинированный список на основе внешнего ключа идентификатора родительской таблицы дочерней таблицы для выбора родительского элемента. Это может быть непрерывная форма.