5. Создание своих диалоговых окон(форм), параметры запуска формы (A_DIALOG),
параметры открытия формы(Все примеры тестировались в MS Access 97, для того чтобы приведенный здесь код
работал Access 2000 или XP, необходимо включить в Visual Basic поддержку
Microsoft DAO 3.6 Object Library (Tools\References...))
Для управления работой программы быывает необходимо, в ходе выполнения
процедуры задать вопрос пользователю. При этом долеко не всегда хватает
возможностей MsgBox и InputBox. В таких случаях приходится создавать свои
формы для запроса данных у пользователя. При этом возникает следующая
проблемма, если текст программы выглядит так:
. . . Блок действий 1
DoCmd.OpenForm "My_Dialog_Form"
. . . Блок действий 2
в таком случае MS Access не дожидается пока пользователя ответит на вопросы
в форме "My_Dialog_Form", продолжает выполнение процедуры и выполняет команды
расположенные после DoCmd.OpenForm "My_Dialog_Form", для того чтобы MS Access
приостановил выполнения процедуры до закрытия формы "My_Dialog_Form" необходимо
окрыть ее с параметром "A_DIALOG":
. . . Блок действий 1
DoCmd.OpenForm "My_Dialog_Form", , , , , A_DIALOG
. . . Блок действий 2
Для того чтобы передать в форму какие-либо параметры:
. . . Блок действий 1
DoCmd.OpenForm "My_Dialog_Form", , , , , A_DIALOG, "My_Data"
. . . Блок действий 2
обратиться к параметрам (в форме "My_Dialog_Form"):
if Not IsNull(Me.OpenArgs) then
Select Case Me.OpenArgs
Case "My_Data1" : 'действия в зависимости от переданных параметров
Case "My_Data2" :
End Select
End if
----------------------------------------------------------------------
Архив рассылки
Дополнительная информация, примеры программ http:\\use-access.narod.ru
Написать письмо: use-access@bk.ru