Access VBA не может обновить источник элемента управления формы после открытия этой формы - PullRequest
0 голосов
/ 10 апреля 2019

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

У меня есть следующие коды VB.Но он застревает при обновлении управляющего источника, когда форма всплывает, вызывая ошибку времени выполнения 438. Я попробовал другую функцию в форме, чтобы обновить элементы управления сразу после открытия этой формы, и она также застряла.

Я пытался работать с этой формой, пока она была открыта, и все прошло хорошо.Поэтому я считаю, что VB думает, что эта форма все еще закрыта после ее открытия.Кто-нибудь знает, как открыть закрытую форму и оперировать ею в одном sub?Спасибо

 ...
 DoCmd.OpenForm "frmFormName", , , , , acDialog        
 Forms.frmFormName.Text50.ControlSource = "='value'"
 ...

1 Ответ

3 голосов
/ 10 апреля 2019
DoCmd.OpenForm "frmFormName", , , , , acDialog

открывает форму модальный .Это означает, что выполнение кода приостанавливается до тех пор, пока форма не будет закрыта (или не установлена ​​Visible=False).

Таким образом, следующая строка будет выполнена, когда форма уже закрыта.

Вы можете передатьпараметр через OpenArgs и установить источник управления в Form_Open, а не снаружи.

...