Форма в Access Ошибка "Объект не определен" - PullRequest
1 голос
/ 25 сентября 2019

Я запрограммировал пользовательские формы в Word и Project без проблем, но у меня проблемы с загрузкой Form1 в MS Access.Это дает мне эту ошибку:

Переменная объекта или С блоком не установлен

Форма запускается, когда я использую DoCmd.OpenForm "Form1", acNormal, , , , acDialog.

I сейчаспонимаю, что Load Form1 не работает в MS Access.Поэтому я должен использовать DoCmd.OpenForm...

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

Моя форма имеет два поля ввода: frm_Company and frm_Date, ниже приведен код.

Dim str_Company as String 'variable to capture result for form input
Dim date_Forecast as String 'variable to capture result of form input


DoCmd.OpenForm "Form1", acNormal, , , , acDialog

str_Company = Forms!Form1!frm_Company
date_Forecast = Forms!Form1!frm_Date

При выполнении кода запускается Form1, пользователь вводит данные для двух полей и нажимает кнопку «Закрыть форму».Когда VBA пытается выполнить последние две строки, я получаю сообщение об ошибке:

Microsoft не может найти ссылочную форму Form1

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 25 сентября 2019

Не обязательно использовать переменную объекта формы только для открытия формы.Просто название справочной формы - как в успешной третьей попытке.Затем, если вызывающая форма должна ссылаться на открытую форму, используйте коллекцию форм.

Forms!Form1.controlname

или

Forms!Form1!fieldname

Me квалификаторкод объекта ссылки находится позади.

Однако acDialog приостанавливает выполнение кода, пока вызываемая форма не закроется.Поэтому, когда код первой формы возобновляется, вторая форма закрывается и не может быть найдена.Код за второй формой должен ссылаться первым, чтобы вернуть значения обратно в первую форму.Альтернативой может быть установка глобальных переменных или TempVars, на которые затем можно ссылаться с помощью любой процедуры.

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