А.Ю. Гончаров Access 2003 (960524), страница 41
Текст из файла (страница 41)
В качествеаргумента этой макрокоманды должен быть введен текст сообщения. Например,такой: «По вопросу редактирования этой формы обращаться к И. Иванову!»Глава 10238Полезно также задать аргумент Заголовок. Он определит название информационного окна. Заголовок может быть таким: «Напоминание». Назовем макросНапоминание!.Раскройте форму (в базе данных testl - Товары) в режиме конструктора ищелкните мышью строку события Открытие. Введите в строку имя макроса(рис.
10.8).1JJ ФормаФормМакетДанньв События ДругиеТекущая записьДо вставкиПосле вставкиДо обновленияПосле обновления...,•,.Внесены измененияОтменаУдалениеiДо подтверждения Del\После подтверждения Del. ,ОткрытиеНапоминание!ЗагрузкаИзменение раячераВырузкаЗакрытиеВключениеОтключениеПолучение фокусаПотеря ФокусаРис.
10.8. Выбор макроса для обработки событияТеперь при попытке открыть форму для просмотра на экран будет выводитьсяокно, вид которого показан на рис. 10.9. Оно будет оставаться на экране до техпор, пока пользователь не нажмет кнопку ОК. Поэтому велика вероятность, чтоон прочтет сообщение. Данный пример можно использовать и для отчетов.НапоминаниеПо вопросу редактирования этой формы обращаться к И, Иванову!Рис. 10.9. Окно сообщения, предваряющее открытие формыПрограммирование23910.8. Список макрокомандПри создании макроса пользователь имеет возможность выбирать макрокоманду из списка для каждой строки бланка. Ниже приводится перечень макрокоманд Access с их кратким описанием. Макрокоманд немного, и, прежде чемпланировать разработку собственного приложения, я рекомендую ознакомитьсяс ними, чтобы решить, смогут ли макросы вам помочь или потребуется использовать более мощные средства программирования.
Некоторые макрокоманды незаменимы при написании программ на Visual Basic, так как в этом языке не созданызаменяющие их методы.Макрокоманды для работы с даннымиНаЗапись (GoToRecord). Переход на определенную запись (первую, последнюю, новую и т. д.).НайтиЗапись (FindRecord). Поиск записи по условию. От команды Правка ^>Найти эта макрокоманда отличается тем, что в ней все параметры поиска задаются заранее, на этапе конструирования макроса.НаСтраницу (GoToPage). Переход на заданную страницу.ПрименитьФнльтр (AppIyFilter). Использование существующего фильтраили фильтрация по условию, заданному в макрокоманде.ПоказатьВсеЗаписи (ShowAHRecords). Отмена действия фильтра.СледующаяЗапись (FindNext).
Поиск следующей записи, если ранее успешновыполнялась макрокоманда НайтиЗапись.Макрокоманды для управления объектами базы данных и AccessВыделитьОбъект (SelectObject). Выделение объекта базы данных,ВыполиитьКоманду (RunCommand). Имитация выбора пользователем команды меню Access.Выход (Quit). Выход из Access.Закрыть (Close). Закрытие объекта базы данных.3anycK3anpocaSQL (RunSQL).
Выполнение команды SQL.Запуск Мак роса (RunMacro). Запуск другого макроса.Запуск-Приложения (RunApp). Запуск программы, работающей под управлением Windows или MS-DOS. В качестве аргумента используется команднаястрока.240.Глава WЗапускПр о граммы (RunCode). Выполнение функции (подпрограммы) VisualBasic.КопнроватьОбъект (CopyObject). Копирование объекта базы данных.Обновить Объект (RepaintObject). Обновление данных в объекте или на экране. При обновлении объекта происходит пересчет значений его элементовуправления.ОткрытьЗапрос (OpenQuery).
Открытие запроса в режиме конструктора илиобработки данных.ОткрытьМодуль (OpenModule). Открытие модуля в режиме конструктора.ОткрытьОтчет (OpenReport). Открытие отчета в режиме конструктора, просмотра данных или печати.ОткрытьТаблицу (OpenTable). Открытие таблицы в режиме конструктораили просмотра.ОткрытьФорму (OpenForm). Открытие формы в режиме конструктора илипросмотра данных.ОтменнтьСобытие (CancelEvent).
Отмена события, вызвавшего запуск макроса.Например, если вы создадите для свойства Открытие отчета макрос, содержащийэту команду, то отчет нельзя будет открыть - он будет сразу же закрываться.ОстановитьВсеМакросы (StopAllMacros). Приостановка выполнения всехмакросов.Oc'i аповитьМакрос (StopMacro). Приостановка выполнения текущего макроса.ПанельИнструментов (ShowToolbar). Вывод на экран или скрытие определенной панели инструментов.Переименовать (Rename). Назначение объекту базы данных другого имени.Печать (PrintOut). Печать текущего объекта базы данных.Сохранить (Save). Сохранение объекта базы данных.УдалитьОбъект (DeleteObject).
Удаление объекта базы данных.Макрокоманды для управления окнами и элементами управленияВосстановить (Restore). Восстановление размеров свернутого окна.ЗадатьЗначение (SetValue). Определение значения поля, элемента управленияили свойства.КЭлементуУправления (GoToControl). Выбор определенного поля или элемента управления.Программирование241Обновление (Requery).
Обновление элемента управления. Эта макрокомандапозволяет увидеть изменения, внесенные в базу данных, так как обеспечиваетповторное выполнение запросов или обращение к источникам данных.Развернуть (Maximize). Максимизация размеров текущего окна.Свернуть (Minimize). Свертывание текущего окна.СдвигРазмер (MoveSize). Изменение размеров текущего окна и/или его положения на экране.Макрокоманды для импорта и экспорта данныхВывестиВФормате (OutputTo).
Вывод объекта базы данных в формате XLS(файл Excel), RTF (форматированный текст), ТХТ (текст MS-DOS) и т. д.ОтправитьОбъект (SendObject). Отправка объекта по электронной почте.ПреобразоватьБазуДанных (TransferDatabase). Импорт, экспорт или установка связи с базой данных из другого приложения. Поддерживаются стандартыdBASE, FoxPro, Paradox и другие.ПреобразоватьТекст (TransferText). Импорт из текстового файла. Допускаетсяиспользование заранее разработанной спецификации.ПреобразоватьЭлектроннуюТяблицу (TransferSpreadsheet). Импорт данныхиз электронной таблицы Microsoft Excel или Lotus 1-2-3. Поддерживаются различные версии этих программных продуктов.Макрокоманды для решения задач программированияВыводНаЭкран (Echo). Управление выводом на экран результатов выполнения операций и/или вывод сообщения в строке статуса.Добавить Меню (AddMenu).
Создание меню для формы или отчета.ЗадатьКомандуМеню (SetMenuItem). Определение команды меню.КомандыКлавиатуры (SendKeys). Генерация нажатий клавиш. Позволяетимитировать клавиатуру.ПесочныеЧасы (Hourglass). Придание указателю мыши вида песочных часов.Это обеспечивает «фирменный внешний вид» приложения, когда компьютерслишком долго думает.Сигнал (Веер).
Подача звукового сигнала.Сообщение (MsgBox). Вывод окна с произвольным сообщением.УстановитьСообщения (SetWarnings). Включение или отключение выводасистемных сообщений.9-870242Глава 1010.9. События базы данныхПоскольку макросы часто требуется «привязывать» к событиям, разработчикбазы данных должен иметь представление о том, какие события вообще существуют. Это позволит составить план разработки приложения и выбрать верныйпуть решения пользовательских задач - запрограммировать реакцию СУБДна действия пользователя и обеспечить доступ оператора к инструментам и подпрограммам.
Для удобства разобьем события на группы так, как это было сделанос макрокомандами.События, связанные с клавиатурой и мышьюНажатие кнопки (Click). Нажатие кнопки мыши. Подразумевается, что пользователь нажимает и отпускает левую кнопку мыши. Одно из наиболее частыхсобытий, если компьютер оборудован мышью. Объект для первоапрельскойшутки - подбросить коллеге макрос, обрабатывающий это событие и выводящий на экран сообщение: «Не трогай мышь!»Двойное нажатие кнопки (мыши) (DblClick). Название говорит само за себя.Кнопка вниз (MouseDown). Нажатие пользователем кнопки мыши. Это событие фиксируется уже тогда, когда пользователь еще не успел отпустить кнопкумыши.Кнопка вверх (MouseUp). Момент отпускания кнопки мыши. Обратите внимание: большинство команд в современных приложениях начинают выполняться после того, как пользователь отпустит кнопку мыши, а не тогда, когдаон ее нажимает.