В макросах предусмотрена возможность управления прикладными программами из Access 97 с помощью комбинаций клавиш. Access 97 моделирует в макросе передачу прикладной программе последовательности нажатий клавиш с помощью макрокоманды КомандыКлавиатуры.
Рассмотрим пример, в котором макрокоманда КомандыКлавиатуры применяется для организации поиска по критериям, сформулированным в других программах и передаваемым в Access через буфер обмена. В макросе используется макрокоманда ВыполнитьКоманду, вызывающая команду Find . Критерии поиска можно вставить в поля открывающегося при этом диалогового окна вручную, а можно и из буфера обмена, в который они уже скопированы. Вставить содержимое буфера обмена с помощью команды Paste не удастся, так как доступ к меню заблокирован. Можно воспользоваться комбинацией клавиш [Ctrl+V]. Для запуска процесса поиска следует нажать кнопку Find First (Первое вхождение). Подчеркнутая в надписи на кнопке литера s свидетельствует о том, что нажать кнопку можно и с помощью комбинации клавиш [Alt+S]. Попробуем создать макрос, который автоматизирует эту процедуру:
- Создать новый макрос.
- В качестве первой макрокоманды задать КомандыКлавиатуры, а в качестве аргумента - ^{f}. Это обозначение комбинации клавиш [Ctrl+F], которая в Access 97 используется для вызова диалогового окна поиска.
- В качестве второй макрокоманды указать КомандыКлавиатуры.
- Ввести последовательность ^{v}%{s}, которая соответствует двум последовательно нажатым комбинациям клавиш - [Ctrl+V] и [Alt+S]. Установить для аргумента Пауза значение Да.
- Сохранить макрос под именем Поиск с помощью буфера обмена. Далее открыть таблицу Адреса и скопировать одну из фамилий в буфер обмена. Маркировать столбец Фамилия. Запустить макрос Поиск с помощью буфера обмена посредством команды Запуск макроса из меню Сервис. В результате откроется окно поиска с найденной записью. Для закрытия окна поиска в созданный макрос следует ввести команду КомандыКлавиатуры, заменяющую комбинацию клавиш [Alt+F4].
С помощью макрокоманды КомандыКлавиатуры пользователь может передать в Access 97 или в другую прикладную программу любую последовательность нажатий клавиш, которая, однако, не должна превышать 255 символов. Обозначения отдельных клавиш заключаются в фигурные скобки. Для обозначения клавиш [Alt], [Ctrl] и [Shift] используются следующие символы:
Alt - %; Ctrl - ^; Shift - + .
Остальные клавиши обозначаются следующим образом:
Backspace - {BACKSPACE}; Del - {DEL}; End - {END}; Esc - {ESC}; «Влево» - {LEFT}; Home - {HOME}; Page Down - {PGDN}; Print Sceen - {PRTSC}; Scroll Lock - {SCROLLOCK}; «Вверх» - {UP}; A - Z - {A} – {Z}; Break - {BREAK}; «Вниз» - {DOWN}; Enter - {ENTER}; Help - {HELP}; Num Lock - {NUMLOCK}; Ins - {INSERT}; Page Up - {PGUP}; «Вправо» - {RIGHT}; Tab - {TAB}; F1 – F16 - {F1} – {F16}; 0 – 9 - {0} –{9}.
Примечание:
Если в одной строке аргументы команды КомандыКлавиатуры следуют друг за другом несколько комбинаций клавиш, то для аргумента Пауза следует установить значение Yes, чтобы выполнение макроса продолжалось только после нажатия последней клавиши в комбинации.
АВТОМАТИЗАЦИЯ ВЫВОДА НА ПЕЧАТЬ
Печать форм, отчетов, а также отдельных записей может быть автоматизирована с помощью макросов. Для вывода на печать в Access 97 предусмотрена макрокоманда Печать, аргументы которой служат для определения печатаемого объекта, качества печати и числа выводимых на печать экземпляров.
Если на печать выводится одна запись, то ее надлежит предварительно маркировать. Для этого можно воспользоваться макрокомандой ВыполнитьКоманду с аргументом SelectRecord (Выделить запись), которая выделяет текущую запись. Далее в макрос следует включить макрокоманду Печать. Для распечатки маркированной записи аргумент Распечатать должен иметь значение Фрагмент.
Задать, какую область, состоящую из целых страниц, печатать, позволяют аргументы Co страницы и По страницу. Аргумент Со страницы применяется при печати области от определенной страницы до конца документа, а аргумент По страницу - при печати области от начала документа до определенной страницы.
Примечание: По умолчанию печать выполняется в режиме, установленном с помощью команды Параметры страницы из меню Файл.
ОФОРМЛЕНИЕ СОБСТВЕННОЙ СТРОКИ МЕНЮ
При работе с одной и той же базой данных пользователю часто приходится выполнять одинаковые последовательности действий. Автоматизировав рутинные операции, можно значительно ускорить обработку данных. Мы уже рассматривали встраивание в форму кнопок, связанных с макросами. В Access 97 существуют и другие способы настройки рабочей среды. Один из самых эффективных - создание строк меню, содержащих только необходимые команды. При таком ограничении числа доступных команд повышается устойчивость системы к ошибкам пользователя, а пользователю предоставляется возможность сосредоточиться на поставленной задаче.
В качестве упражнения создадим для формы Каталог телефонов меню Выбор и разместим в нем три команды для вызова макросов.
Первый этап создания меню - разработка макросов, которые будут применяться в качестве команд меню. Мы используем макрос Поиск с помощью буфера обмена для поиска в таблице значения, совпадающего с находящимся в буфере обмена, и макрос Копирование записи для передачи информации из найденной записи в буфер обмена. Третий макрос содержит макрокоманду Закрыть и служит для закрытия формы.
Примечание: Если в пользовательское меню наряду с собственными командами необходимо включить и встроенные команды Access 97, например Копировать или Вставить, следует оформить их как самостоятельные макросы, состоящие из одной макрокоманды ВыполнитьКоманду, которая вызывает соответствующую команду.
Второй этап - создание макрогруппы, включающей макросы для выполнения команд меню:
- Создать новый макрос и активизировть столбец Имя макроса, нажав на панели инструментов кнопку с литерами ху z .
- Ввести имя первого макроса - Поиск в буфере.
- В качестве макрокоманды использовать ЗапускМакроса. Присвоить аргументу Имя макроса значение Поиск с помощью буфера обмена.
- Повторить перечисленные действия для макроса Копирование записи, а в макрос Закрыть включить единственную макрокоманду - Закрыть.
- Сохранить макрос под именем Выбор.
Примечание:Для каждого элемента пользовательского меню должна быть создана отдельная макрогруппа.
На третьем этапе будет составлен макрос, формирующий и обслуживающий пользовательскую строку меню. Затем он будет встроен в форму Каталог телефонов:
- Создать новый макрос.
- Включить в него макрокоманду ДобавитьМеню.
- Для аргумента Название меню задать значение Выбор. Это же значение выбрать в списке доступных макросов в качестве имени макрогруппы, ответственной за создаваемый элемент пользовательского меню.
- Сохранить макрос под именем Меню. Это и будет макрос, обслуживающий меню.
- Открыть форму Каталог телефонов в режиме конструктора и активизировать окно ее свойств.
- В поле Строка меню (вкладка Другие) выбрать в списке макросов имя Меню или вписать его, если списка нет.
- Сохранить форму и перейти в режим формы с помощью первой слева кнопки панели инструментов. В строке меню должен присутствовать только элемент Выбор. После щелчка на нем можно увидеть составленное меню.
Чтобы вновь связать форму со стандартной строкой меню следует удалить параметр Меню из поля Строка меню в окне свойств формы.
Примечание: Если строка меню должна содержать несколько заголовков меню, то для каждого из них надлежит повторить макрокоманду ДобавитьМеню.
ПРЕОБРАЗОВАНИЕ МАКРОСОВ В ПРОГРАММЫ НА VISUAL BASIC
В некоторых случаях может оказаться полезным использовать заложенную в Access возможность преобразования макросов, связанных с формами или отчетами, в программы на языке Visual Basic. Для иллюстрации используем простой пример. Создадим макрос с именем Кнопка, который будет состоять из единственной макрокоманды Сообщение, уведомляющей пользователя, что он нажал некую кнопку: Вы нажали кнопку. В реальных задачах подобные макросы не нужны, но для отладки приложений они очень полезны. Сконструируем также одноименную форму, в которой будет расположена кнопка. Свяжем данный макрос с событием Нажатие кнопки (мыши). Теперь, чтобы преобразовать макрос в программу, необходимо выполнить следующие действия.
1. Открыть форму Кнопка в режиме конструктора.
2. Выбрать команду Сервис/Макросы/Преобразовать макросы. Программа откроет диалоговое окно.
3. Установить в окне нужные параметры и нажмите кнопку Преобразовать. Макрос Кнопка будет превращен в программу, приведенную ниже:
Option Compare Database Option Expl icit
‘------------------------------------------------------------------------------------
‘Кнопка()_Click()
‘-------------------------------------------------------------------------------------
Private Sub Кнопка()_Сlick()
On Error GoTo Кнопка()_Сlick_Err
Beep MsgBox "Вы нажали кнопку", vbOKOnly, "Сообщение"
Кнопка()_Сlick_Exit:
Exit Sub
Кнопка()_Сlick_Err:
MsgBox Error$
Resume Кнопка()_Сlick_Exit
End Sub
Эта программа интересна, например, тем, что позволяет обрабатывать ошибки. После преобразования работа формы или отчета не изменяется — макросы и программы являются альтернативными решениями при обработке событий и позволяют решать одни и те же задачи.
ЗАДАНИЕ
1. Создать макрос, запускающий Excel.
2. Модернизировать созданный макрос, введя в документ текущее время.
3. В созданном макросе задать открытие справки при запуске Excel.
4. Создать макрос, обеспечивающий печать документа.
5. Оформить собственную строку меню для работы с таблицами Зарплата и Сведения, содержащею пункты и подпункты: Ввод (Зарплата, Сведения), Расчеты, Печать (Зарплата, Сведения) и Выход.
6. Преобразовать макросы (с условием из лаб. раб. № 11 и меню из настоящей работы) в программы на Visual Basic.
КОНТРОЛЬНЫЕ ВОПРОСЫ
1. Как из Access вызвать приложение ?
2. Каким образом оформляется макрос при запуске программ с параметрами ?
3. Каким образом в макросах можно использовать клавиши и их комбинации ?
4. Как создать макрос, обеспечивающий печать документа ?
5. Укажите порядок разработки пользовательского меню.
6. Как преобразовать макрос в программу на Visual Basic?
ЦИТИРОВАННАЯ ЛИТЕРАТУРА
1. Корнелюк В.К., Веккер З.Е., Зиновьев Н. Б. ACCESS 97. «СОЛОН», М.,1998.
2. Пасько В. ACCESS 97. К., Издательская группа BHV, 1997.
3. Гончаров А. Microsoft Access 7.0 в примерах. ПИТЕР, Санкт-Петербург, 1997.
СОДЕРЖАНИЕ
Лабораторная работа N 1.Система управления базой данных. Начало работы
Введение
Начало работы: создание таблицы в базе данных
Режим конструктора
Режим таблицы
Типы и свойства полей
Мастер таблиц
Импорт таблиц
Связь с таблицами
Задание
Контрольные вопросы
Лабораторная работа N 2. Работа с таблицами
Введение
Опреации поиска
Фильтрация данных в таблице
Поиск и замена
Удаление данных
Изменение структуры таблицы
Задание
Контрольные вопросы
Лабораторная работа N 3. Изменение образа таблицы
Вводные замечания
Установка параметров шрифта
Параметры ячеек
Изменение расположения строк/столбцов
Изменение типа поля
Отображение полей
Задание
Контрольные вопросы
Лабораторная работа N 4. Главное меню Access
Краткий обзор меню Access
Команды меню Файл
Меню Правка
Меню Вид
Меню Вставка
Меню Сервис
Меню Окно
Команды меню ?
Контекстное меню
Панель инструментов Access
Помощник
Настройка панелей инструментов Access
Настройка параметров Access
Выход из Access
Задание
Контрольные вопросы
Лабораторная работа N 5. Создание запросов
Общие сведения
Сортировка данных в запросе
Применение специальных критериев
Вычисления в запросе
Запросы к нескольким таблицам
Создание запроса с помошью мастера
Создание запросов других типов
Запрос на изменение
Запрос на добавление
Запрос на удаление
Запрос на обновление
Запрос на создание таблицы
Индикация результатов запроса
Параметрические запросы
Перекрестные запросы
Создание перекрестного запроса с помощью мастера
Задание
Контрольные вопросы
Лабораторная работа N 6. Создание форм
Вводные замечания
Создание форм с помощью мастера
Перемещение и редактирование полей формы
Фильтрация данных в форме
Обычный фильтр
Фильтр по выделенному
Расширенный фильтр
Форма ленточного типа
Создание диаграмм
Составные и связанные формы
Применение элементов управления в формах
Мастер кнопок
Списки в формах
Размещение в форме графического объекта
Использование линий и прямоугольников
Диспетчер кнопочных форм
Задание
Контрольные вопросы
Лабораторная работа N 7. Отчеты в Access
Вводные замечания
Автоотчеты
Конструктор отчетов
Мастер диаграмм
Мастер отчетов
Вычисления в отчетах
Печать отчета
Предварительный просмотр
Опции печати
Задание
Контрольные вопросы
Лабораторная работа N 8. Работа с меню и панелями инструментов
Вводные замечания
Создание меню и панели инструментов
Создание панели инструментов для всех баз данных
Создание панели инструментов для отдельной базы данных
Создание специальной строки меню
Создание и удаление контекстного меню
Добавление разделителей
Присоединение объектов к форме или отчету
Задание
Контрольные вопросы
Лабораторная работа N 9. Макросы в Access. Первое знакомство
Вводные замечания
Создание макросов
Кнопка, запускающая макрос
Кнопка с контекстным меню
Список макрокоманд
Макрокоманды для работы с данными
Макрокоманды для управления Access
Макрокоманды для управления объектами
Макрокоманды для импорта и экспорта данных
Макрокоманды для решения задач программирования
Редактирование макросов
Задание
Контрольные вопросы
Лабораторная работа N 10. Отладка макросов, макрогруппы,связь с меню
Отладка макросов
Применение пошагового режима
Объединение макросов в макрогруппу
Связывание макросов с командами меню
Связыванеи макросов с событиями
События базы данных
События, связанные с клавиатурой и мышью
События данных
События управления объектами
События печати
Связывание с событиями
Задание
Контрольные вопросы
Лабораторная работа N 11. Макросы с условием. Представление объектов. Установка имен и значений
Выполнение макроса с условием
Управление представлением объектов из макроса
Указание имен объектов
Установка значений
Задание
Контрольные вопросы
Лабораторная работа N 12. Работа с приложениями и программами.оформление меню
Вызов приложений и управление ими
Запуск прикладных программ с параметрами
Управление прикладными программами из Access
Автоматизация вывода на печать
Оформление собственной строки меню
Преобразование макросов в программы на Visual Basic
Задание
Контрольные вопросы
Дата: 2018-12-28, просмотров: 305.