Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка БД .doc
Скачиваний:
3
Добавлен:
24.11.2019
Размер:
649.73 Кб
Скачать

Автоматизация вывода на печать

Печать форм, отчетов, а также отдельных записей может быть автоматизирована с помощью макросов. Для вывода на печать в Ac­cess 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

Эта программа интересна, например, тем, что позволяет обраба­тывать ошиб­ки. После преобразования работа формы или отчета не из­меняется — макросы и программы являются альтернативными реше­ниями при обработке событий и позволяют решать одни и те же задачи.