Преобразование макроса в VB-код

 

Если хотите узнать больше о языке Visual Basic и объекте DoCmd, можно взять существующий макрос и преобразовать его в чистый программный код, подпрограмму. Далее приведены необходимые действия.

1.           В области переходов выберите макрос, который хотите использовать.

2.     Выберите на ленте Работа с базами данных > Макрос > Преобразовать макросы (Database Tools > Macro > Convert Macros to Visual Basic). Можно также преобразовать внедренный в форму макрос, открыв форму и выбрав на ленте Работа с базами данных > Макрос > Преобразовать макросы формы (Database Tools > Macro > Convert Form’s Macros to Visual Basic).

На экране появится окно с двумя параметрами для выбора (рис. 17.9).

Рис. 17.9. Вы увидите это окно, если попросите программу Access преобразовать макрос FindHayEater

 

3.    Если хотите добавить базовую обработку ошибок, убедитесь в том, что флажок Добавить программу обработки ошибок (Add error handling to generated functions) установлен.

Немного обработки ошибок никогда не помешает.

4.    Если хотите включить комментарии макроса в комментарии VB, убедитесь в том, что установлен флажок Добавить примечания макросов (Include macro comments).

Если вы потратили время на добавление пояснительного текста, стоит сохранить его.

5.    Щелкните мышью кнопку Преобразовать (Convert).

Программа Access создаст новый модуль для преобразованного кода и даст ему имя, подобное имени Преобразованный макрос-[ИмяВашегоМакроса] (Converted Macro-[YourMacroName]). Внутри модуля Access создаст функцию с именем как у вашего макроса. Если преобразуется группа макросов (см. разд. "Группы макросов" главы 15), Access вставит по одной подпрограмме для каждого макроса в группе.

После завершения процесса преобразования программа Access откроет ваш модуль в редакторе Visual Basic, чтобы вы могли просмотреть код.

В следующем примере показан результат преобразования макроса из главы 15 (приведенного в разд. "Поиск записи" главы 15), который ищет определенный текст в таблице AnimalTypes:

Function FindHayEater (     )

On Error GoTo FindHayEater_Err

 

DoCmd.OpenForm "AnimalTypes",   acNormal,   " ",   " ",   ,   acNormal

DoCmd.GoToControl   "Diet"

DoCmd.FindRecord  "=""hay""",   acAnywhere,   False,  ,  _

False,   acCurrent,   False

 

FindHayEater_Exit : Exit  Function

FindHayEater_Err:

MsgBox Error$

Resume  FindHayEater_Exit End Function

Вы заметите, что в преобразованном коде интенсивно используется объект DoCmd — действительно почти в каждой строке кода встречается объект DoCmd. Сначала он применяется в методе OpenForm для открытия формы, затем — в методе GoToControl для перехода в  поле Diet и, наконец, он ищет первую запись, в которой встречается текст "hay". Эта строка выглядит причудливо, поскольку в ней удваиваются знаки кавычек (""). В языке Visual Basic знаки кавычек имеют особый смысл (они показывают, где начинается и заканчивается текст). Если в текстовом фрагменте вы хотите на самом деле использовать кавычки, нужно поместить знаки кавычек дважды, одни за другими. Стрнно, но правильно.

 

Завершается код процедурой обработки ошибок, названной FindHayEater__Err, которая просто сообщает о проблеме в окне сообщения и затем завершает работу.

 

 

Примечание

Когда макрос преобразуется в программный код, программа Access всегда генерирует функцию, а не процедуру. Но функция не возвращает результат, т. к. этого не требуется. (По-видимому, Access действует таким образом, чтобы дать вам возможность позже воспользоваться возвращаемым результатом.)

 

 

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100