Программирование >>  Проектирование интерфейса пользователя 

1 ... 48 49 50 [ 51 ] 52 53 54 ... 153


В строке 4 объявляется переменная FileName, которая предназначена И для хранения имени импортируемого файла. Это имя вводится пользователем в диалоговом окне, открываемом при выполнении строки 5. Строка 6 содержит вызов макрокоманды импорта, использующей определенную ранее спецификацию.

Макросы: быть или не быть

С точки зрения профессионального программиста, ответ на вопрос, использовать макросы или код VBA, однозначен - конечно, код. Макросы необходимы тем, кто не любит или не умеет программировать. Макросы можно также рассматривать как удобное средство проведения экспериментов с различными командами (такими как Trans-ferText) и их аргументами. Макросы в чистом виде редко оказываются способными обеспечить полноценное и надежное решение - так или иначе их следует дополнять программными средствами анализа ошибок и динамического изменения данных.

Существенным преимуществом макросов является то, что их легко записать, а затем преобразовать в VBA-код и сохранить в модуле. Для преобразования макроса в код выполните следующие действия.

1. Выберите Макросы из списка Объекты.

2. Щелкните правой кнопкой мыши на макросе, который нужно преобразовать и выберите Сохранить как (Save As).

3. В диалоговом окне Сохранение (Save As) задайте имя и в списке Как (As) отметьте Модуль (Module). Щелкните на кнопке ОК.

4. В диалоговом окне Преобразования макроса (Convert) оставьте параметры, заданные по умолчанию.

Щелкните на кнопке Преобразовать (Convert) - будет создан модуль и откроется

редактор Visual Basic. В листинге 9.3 приведен пример макроса Backup Concordance,

преобразованный в VBA-код.

Листинг 9.3. Макрос Backup Concordance, преобразованный в VBA-код

1: Option Compare Database 2: Option Explicit 3; ---4: Backup Concordance 5:

6: г---------------------7: Function Backup Concordance ( )

8: On Error GoTo Backup Concordance Err 9:

10 : DoCmd.CopyObject 99170 9.mdb , Concordance

11 : 12;

13:Backup Concordance Exit:

14 : Exit Function

15 :

16 :Backup Concordance Err:

17 : MsgBox Error$

18 : Resume Backup Concordance Exit 19:

20:End Eunction

Concordance Backup , acTable,



I Преобразование макроса в код - обычное явление. Паиблее важен код I строки 10, содержащий команду CopyObject. Все остальное -

процедуры обработки ошибок, отображающее содержимое объекта Error. Код макросов, генерируемый VBA, рекомендуется использовать для обучения, обычно он грешит многословием. Написание кода дает

вам больший простор для творчества. Начните с создания макросов. Если с их помощью не удалось рещить поставленную задачу или обеспечить достаточную защиту от ошибок, преобразуйте макрос с VBA-код и

внесите необходимые изменения.

Резюме

В ходе этого занятия вы ознакомились со средствами окна проектирования макросов, научились выбирать макрокоманды и задавать значения их аргументов. Макросы - достаточно полезный и мощный инструмент. Они находят наилучшее применение в качестве средства обучения основам программирования и быстрого тестирования предварительных решений.

Запомните: прежде, чем передать заказчику готовое решение, желательно преобразовать все макросы в код с помощью методов объекта DoCmd. Код на языке VBA более управляем и прозрачен. Он позволяет применять средства анализа ошибок и динамического изменения данных.

Макросы - это полезное вспомогательное орудие. Но вы ведь планируете научиться программировать по-настоящему, не так ли? Что ж, тогда вперед!

Вопросы и ответы

Вопрос. В каких случаях есть смысл обращаться именно к макросам?

Ответ. Макросы - это неплохой выбор, если вам необходимо решить небольшую задачу, не требующую написания отдельной программы на языке VBA.

Вопрос. Существуют ли операции, которые можно выполнить с помощью макросов, но нельзя - посредством программного кода?

Ответ. Нет. Макросы полезны и достаточно мощны, но программа на языке VBA способна на большее. Технология макропрограммирования довольно стара, и не исключено, что со временем она просто исчезнет с небосклона Microsoft Office.

Вопрос. Существуют ли другие объект!, подобные DoCmd, которые целесообразно применять в качестве альтернативы макросам?

Ответ. Безусловно. VBA - это объектно-ориентированный язык программирования, и в его арсенале имеется множество любопытных и мощных классов. Вы наверняка получите немалое удовольствие от исследования возможностей объектов Application и CurrentDb.

Вопрос. Каким образом можно изучить все те инструменты и средства, которые Access предлагает мне как программисту?

Ответ. Сложный вопрос. Средства программирования для Access весьма обширны и многообразны, поэтому о скорой победе говорить не приходится. Книги, подобные нашей, практика, общение с коллегами, файлы оперативной справочной системы, информационные хранилища Internet - вот ваши лучшие советчики на трудном пути профессионального взросления.



Задания

Ниже приведены тестовые задания и упражнения, которые помогут вам самостоятельно проверить уровень освоения материала, изложенного в этой главе. Ответы на вопросы вы найдете в приложении.

Тесты

1. Какую команду следует применять для импорта данных из таблицы Excel?

2. Как создается импорта данных?

3. Какая команда использует спецификацию импорта данных?

4. Как называется объект, применяемый для программирования макрокоманд в коде?

5. Могут ли объекты, подобные применяться в программах, ориентированных на использование с другими приложениями Office?

Упражнения

1. Создайте макрос для резервного копирования всех таблиц базы данных.

2. Напишите фрагмент кода, позволяющего пользователю ввести наименование файла, данные из которого предполагается импортировать.

3. Напишите код, аналогичный описанному выше макросу создания резервной копии.



1 ... 48 49 50 [ 51 ] 52 53 54 ... 153

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика