Передача значения из главной формы в подчиненную - PullRequest
0 голосов
/ 05 октября 2018

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

В моей форме frmContacts, которая имеет tblContacts в качестве источника записи, у меня есть подчиненная форма fsubAddresses, в которой tblAddresses является источником записи,это должно быть связано с contactID текущей записи.Однако отношения родитель-потомок между формой и подчиненной формой в contactID не кажутся эффективными - когда я устанавливаю источник управления для текстового поля в моей подчиненной форме на contactID, я вижу нулевое значение, а неожидаемый contactID номер, соответствующий текущему контакту.

Я создал несколько неоднозначный обходной путь, и я хотел бы посмотреть, есть ли лучшее решение или другой способ структурирования этих отношений.

Я создал текстовое поле txtContactID в главной форме frmContacts с источником управления, установленным на contactID, затем создал заблокированное комбинированное окно в подчиненной форме fsubAddresses со значением по умолчанию, установленным на txtContactID и это показывает правильный contactID для текущей записи.Затем я установил свойство управления этого поля со списком на contactID, чтобы оно передавало это значение в поле tblAddresses для contactID.Это работает, но я чувствую, что слишком усложнил проблему.Чего мне не хватает?

1 Ответ

0 голосов
/ 05 октября 2018

Вам не нужно обращаться к contactID основной формы и использовать его для заполнения contactID подчиненной формы при добавлении нового адреса.Кроме того, я думаю, что вы не хотите видеть contactID ни в основной форме, ни в подчиненной форме, и на самом деле вам это не нужно.Access использует отношение, определенное дочерними полями ссылки и основными полями ссылки, для заполнения contactID источника записей подчиненной формы при добавлении нового адреса в подчиненную форму.Этого не произойдет до того, как адрес будет сохранен, поэтому вы не увидите это значение в подчиненной форме, пока запись еще новая и несохраненная.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...