Как я могу установить значение поля новой записи в подчиненной форме? - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть форма с именем Assembly, в которой есть подчиненная форма с именем PartsList.Они связаны между собой полем под названием Parent.Они работают с одной и той же таблицей, основная форма Assembly просто фильтрует подчиненную форму PartsList через комбинированный список, так что вы видите записи (поле Child) в подчиненной форме с тем же значением для Parent.

Я хотел бы использовать подчиненную форму, чтобы легко добавить потомков для того же Parent.

Я попытался добавить выражения и методы в свойство BeforeInsert подчиненной формы, которое пытается установить значение поля Parent новой записи в текущее значение Parent в основной форме.

BeforeInsert: =[Parent] = [Forms]![Assembly]![Parent]

Я получаю ошибку:

Произошла ошибка при обращении к объекту. Вы попытались запустить процедуру Visual Basic, которая неправильно ссылается на свойство илиметод объекта.

А в VBA ...

Private Sub Form_BeforeInsert(Cancel As Integer)
    [Parent] = [Forms]![Assembly]![Parent]
End Sub 

я получаю ошибку:

Ошибка времени выполнения '438': Object не поддерживает это свойство или метод.

Я предполагаю, что мои проблемы в том, что когда я пытаюсь установить поле [Parent] новой записи, я получаю доступ ко всему Parentполе объекта, а не только значение новой записи.Я не знаю, как получить только значение новой записи.

РЕДАКТИРОВАТЬ: Я также попытался установить значение по умолчанию для Parent в подчиненной форме на текущее значение Parent в основной форме, но значение подчиненной формы не обновляется, если я изменяю значение основной формы.

1 Ответ

0 голосов
/ 13 февраля 2019

В VBA поместите что-то вроде этого.Это сработает после каждой вставки и обновит вставленные записи. Родительское поле = текущее родительское поле в форме.

Private Sub Form_AfterInsert() 
   DoCMD.RunSQL "Update Assembly SET Parent = " & [Forms]![Assembly]![Parent]
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...