- •Использование ms Access для создания баз данных
- •Технология работы с ms Access
- •Создание базы данных
- •Основные понятия ms Access. Объекты ms Access
- •Использование справки Microsoft Access
- •Выражения в ms Access
- •Использование значений в выражениях
- •Технология разработки базы данных
- •Создание таблицы
- •Операции с данными в таблице
- •Использование фильтра для отбора данных в таблице
- •Создание и использование формы
- •Создание и использование запроса
- •Создание и использование отчета
- •Создание web-страницы доступа к данным
- •Автоматизация выполнения задач обработки данных
- •Создание макроса
- •Использование модулей в ms Access
- •Процедуры: общие сведения
- •Создание кнопки с помощью мастера
- •Связь между таблицами и целостность данных
- •Определение связей между таблицами
- •Создание формы для связанных таблиц
Создание макроса
Создайте макрос, который открывает таблицу Учащиеся, выделяет эту таблицу, открывает для нее форму Форма!, применяет к ней фильтр, позволяющий просмотреть записи об учащихся женского пола. Для этого сделайте следующее.
1. В окне базы данных откройте вкладку Макросы в списке Объекты и нажмите кнопку «Создать на панели инструментов окна базы данных».
2. В столбце Макрокоманда щелкните первую ячейку и, нажав кнопку раскрытия списка, открывающую список макрокоманд, как показано на рис.28, выберите команду Открыть таблицу. В области задания аргументов макрокоманды задайте следующие аргументы:
Имя таблицы |
Учащиеся |
Режим |
Таблица |
Режим данных |
Изменение |
Рис. 28. Создание макроса
3. Введите текст комментария к макрокоманде. Комментарии не являются обязательным компонентом, они облегчают понимание и сопровождение макросов.
4. Для добавления в макрос других макрокоманд перейдите на следующую строку и повторите шаги 2 и 3.
Примечание. Чтобы быстро создать макрос, выполняющий действие над конкретным объектом базы данных, перетащите этот объект из окна базы данных в строку макрокоманды окна макроса. Например, можно создать макрос, открывающий форму, путем перетаскивания формы в строку макрокоманды. Для этого выберите в меню Окно команду Слева направо, чтобы расположить окно макроса и окно базы данных на экране рядом, граница к границе; в окне базы данных выберите нужный тип объекта в списке Объекты, щелкните объект и перетащите его в строку макрокоманды. Перетаскивание макроса или сохраненной процедуры добавляет макрокоманду для запуска макроса или процедуры, а перетаскивание объектов базы данных других типов добавляет макрокоманду для открытия объекта.
Использование условий в макросах. В некоторых случаях требуется выполнять макрокоманду или серию макрокоманд только при выполнении некоторых условий. Например, если в макросе проверяется соответствие данных в форме условиям на значение, то для одних значений может потребоваться вывести одно сообщение, а для других значений - другое сообщение. В подобных случаях условия позволяют определить порядок передачи управления между макрокомандами в макросе.
Условие задается логическим выражением. В зависимости от значения логического выражения управление может передаваться разным макрокомандам.
Условное выражение вводится в ячейку столбца Условие в окне макроса. Если условие истинно, выполняется макрокоманда, содержащаяся в данной строке. Для того чтобы выполнить набор макрокоманд при истинности условия, следует ввести, начиная со следующей строки, многоточие (...) в ячейки столбца Условие идущих подряд макрокоманд, принадлежащих к этому набору.
Например, в макрокоманде Применить фильтр в качестве аргумента зададим условие отбора записей таблицы: [Учащиеся]![Пол]<>Истина.
Рис.29. Макрос, выполняющий отбор записей и вывод их в форме
Сохраним макрос, выбрав в меню Файл команду Сохранить как. В окне Сохранение зададим имя макросу Макрос 1 и укажем тип файла макрос.
В результате получим макрос, показанный на рис. 29 и состоящий из четырех макрокоманд.
Запуск макроса. При запуске макроса выполнение макрокоманд начинается с первой строки макроса и продолжается до конца макроса или, если макрос входит в группу макросов, до начала следующего макроса.
Выполнение макроса может начинаться по команде пользователя, при вызове из другого макроса или процедуры обработки события, а также в ответ на событие в форме, отчете или элементе управления. Например, можно связать макрос с кнопкой в форме или отчете, в результате чего макрос будет запускаться при нажатии кнопки. Допускаются также создание специальной команды меню или кнопки панели инструментов, запускающей макрос, определение сочетания клавиш, нажатие которых запускает макрос, а также автоматический запуск макроса при открытии базы данных.
Запустим созданный макрос Макрос1, щелкнув кнопку ! (Запуск) в панели инструментов конструктора макросов. Макрос выполнится, и в окне MS Access будет раскрыта форма Форма1 с отфильтрованными записями.
Назначение клавиши для выполнения макрокоманды или набора макрокоманд. Допускается связывание макрокоманды или набора макрокоманд с конкретной клавишей или сочетанием клавиш с помощью специальной группы макросов AutoKeys. Сочетания клавиш, используемые для назначения клавиш в группе макросов AutoKeys, представлены в нижеследующей таблице. После этого при нажатии клавиши или сочетания клавиш Microsoft Access будет выполнять данную макрокоманду.
Примечание. Допустимые сочетания клавиш являются подмножеством синтаксиса инструкции Visual Basic SendKeys. Если макрокоманда или набор макрокоманд связывается с сочетанием клавиш, которое уже используется в MS Access (например Ctrl+C - сочетание клавиш для команды Копировать), то новое назначение макрокоманд на это сочетание клавиш заменит стандартное назначение команд MS Access.
Сочетания клавиш, используемые для назначения клавиш в группе макросов AutoKeys:
Инструкция SendKeys |
Сочетание клавиш для назначения макросу |
^А или ^4 |
Ctrl+Любая буква или цифра |
{F1} |
Любая функциональная клавиша |
^{F1} |
Ctrl+Любая функциональная клавиша |
+{F1} |
Shift+Любая функциональная клавиша |
{INSERT} |
Insert |
^{INSERT} |
Ctrl+Insert |
+ {INSERT} |
Shift+Insert |
{DELETE} or {DEL} |
Delete |
^{DELETE} or ^{DEL} |
Ctrl+Delete |
+{DELETE} or+{DEL} |
Shift +Delete |
Для задания назначения макросу Макрос1 комбинации клавиш Shift+F3 в окне базы данных выберем значок Макросы в списке Объекты и нажмем кнопку «Создать». На панели инструментов нажмем кнопку «Имена макросов», затем укажем в ячейке столбца Имя макроса сочетание клавиш Shift+F3, с которыми нужно связать макрокоманду или набор макрокоманд, как показано на рис. 30.
Рис.30. Назначение клавиш макросу Макрос1
Добавим в макрос набор макрокоманд Макрос1, который должен выполняться при нажатии указанного сочетания клавиш. Сохраним группу макросов под именем AutoKeys. Сразу после сохранения новые сочетания клавиш вступят в действие и будут доступны при каждом открытии базы данных.
Для проверки действия назначенной комбинации клавиш вызова макроса Макрос! нажмем Shift+F3. Макрос будет вызван, и все его макрокоманды выполнятся.
Выполнение макрокоманд при открытии базы данных. Специальный макрос AutoExec позволяет автоматически выполнить макрокоманду или набор макрокоманд при открытии базы данных. В процессе открытия базы данных Microsoft Access выполняет поиск макроса с этим именем и, если такой макрос существует, автоматически запускает его. Для выполнения макрокоманд при открытии конкретной базы данных создайте макрос, содержащий макрокоманды, и сохраните его под именем AutoExec. При следующем открытии базы данных MS Access автоматически запустит этот макрос.
Примечание. Если требуется открыть базу данных, не выполняя при этом макрос AutoExec, открывайте базу данных при нажатой клавише Shift.
Другие параметры запуска базы данных или приложения можно задать в диалоговом окне Параметры запуска (меню Сервис).
