У меня есть две таблицы, tblContacts
и tblAddresses
, которые связаны contactID
как внешний ключ на tblAddresses
.Не каждый адрес связан с контактом, так как некоторые из них связаны с организациями, но не с людьми.В настоящее время отношения между таблицами являются отношениями «один ко многим» между контактами и адресами, поскольку иногда контакт может иметь более одного адреса (офис, почтовое сообщение и т. Д.). Я не применяю ссылочную целостность в этом отношении из-заПричина выше - не у каждого адреса есть контакт.
В моей форме frmContacts
, которая имеет tblContacts
в качестве источника записи, у меня есть подчиненная форма fsubAddresses
, в которой tblAddresses
является источником записи,это должно быть связано с contactID
текущей записи.Однако отношения родитель-потомок между формой и подчиненной формой в contactID
не кажутся эффективными - когда я устанавливаю источник управления для текстового поля в моей подчиненной форме на contactID
, я вижу нулевое значение, а неожидаемый contactID
номер, соответствующий текущему контакту.
Я создал несколько неоднозначный обходной путь, и я хотел бы посмотреть, есть ли лучшее решение или другой способ структурирования этих отношений.
Я создал текстовое поле txtContactID
в главной форме frmContacts
с источником управления, установленным на contactID
, затем создал заблокированное комбинированное окно в подчиненной форме fsubAddresses
со значением по умолчанию, установленным на txtContactID
и это показывает правильный contactID
для текущей записи.Затем я установил свойство управления этого поля со списком на contactID
, чтобы оно передавало это значение в поле tblAddresses
для contactID
.Это работает, но я чувствую, что слишком усложнил проблему.Чего мне не хватает?