Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БазыДанных_ЛАБ_РАБОТЫ.doc
Скачиваний:
2
Добавлен:
24.11.2019
Размер:
4.85 Mб
Скачать

6. Макросы

Макросы – это небольшие программы, созданные при помощи одной или нескольких макрокоманд, и служащие для автоматизации работы базы данных, которые не реализуется встроенными функциями мастеров. Например, кнопка открывает одну форму и одновременно закрывает другую форму. При этом выбор открываемой формы из списка форм зависит от содержания данных, выводимых в текущий момент времени на экран.

Макрокоманда – одно законченное действие над данными, которая сама может запускать другой макрос, чем обеспечивается неограниченность автоматизации обработки данных.

Макрос всегда создается в режиме Конструктора. Пусть требуется, например, находясь в какой либо форме нажатием на определенную кнопку вызвать на экран вполне определенный отчет. Это можно было бы сделать при помощи мастера создания кнопок в форме. Однако, выбранный отчет должен открыться, а форма, в которой происходит выбор, должна закрыться.

  1. Находясь в главном меню базы данных перейти во вкладку Макросы и нажать на кнопку Создать.

  2. В поле Макрокоманда выбрать – Открыть отчет (рис. 6.1) и установить аргументы макрокоманды:

  1. имя отчета – Учебная (или любой другой);

  2. режим – Просмотр.

  1. Создать вторую макрокоманду. В поле Макрокоманда выбрать – Закрыть и установить аргументы макрокоманды:

  1. тип объекта – Форма;

  2. имя объекта – Форма1 (или любая другая).

  1. Закрыть макрос и подтвердить сохранение (по умолчанию – Макрос1).

Рис. 6.1. Конструктор макросов

  1. Перейти во вкладку Формы и открыть в режиме Конструктора, созданную ранее и указанную в макросе Макрос1, форму (Форма 1), в которой создать новую кнопку:

  1. убедиться, что кнопка Мастера не нажата;

  2. создать новую кнопку;

  3. изменить на новой кнопке текст на «Отчет «Учебная»» (рис. 6.2);

Рис. 6.2. Созданная кнопка «Отчет «Учебная»»

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

  2. установить в пункте Нажатие кнопки выбором из перечня значение Макрос1 (рис. 6.3), после чего закрыть окно свойств и, перейдя в режим просмотра формы, проверить работоспособность кнопки.

При задании аргументов макрокоманды на открытие формы или отчета можно установить Условия отбора для выводимых данных. В макросе Макрос1 установить, что должны выводиться данные только с маркой «Форд» (рис.6.4). В прямоугольных скобках указывается имя существующего поля, а в кавычках – существующее значение этого поля. Условие отбора может быть и более сложным с использованием логических выражений.

Рис. 6.3. Свойства кнопки

Рис.6.4. Задание условий отбора для отчета

Часто используется макрокоманда Сообщение, которая выводит на экран текстовое сообщение для пользователя при выполнении некоторых условий. Пусть требуется, например, предупредить пользователя о том, что в форме Форма1 количество товаров менее 20 возможно только для тех, цена которых свыше 10 000 руб. Указанная задача выполняется в следующем порядке.

1. Создать макрос Предупреждение:

  1. создать новый макрос, в котором задать макрокоманду Сообщение;

  2. задать значение аргументов Сообщение – Недостаточно количества товара, Тип – Предупреждающее!, Заголовок – Внимание;

  3. на общей панели инструментов нажать кнопку Условия и в открывающийся столбец ввести условие формирования сообщения: ([Формы]! [Форма1]! [Количество]<20) And ([Формы]! [Форма1]! [Цена] < 10000) и сохранить новый макрос с именем Предупреждение (рис.6.5).

Рис.6.5. Макрос с условием выполнения макрокоманды

2. Открыть форму Форма1 в Конструкторе и для полей Цена и Количество во вкладке События Свойств в пункте После обновления выбрать макрос Предупреждение (рис.6.6). При переходе в режим формы и задании соответствующих значений цены и количества можно убедиться в работоспособности нового макроса с условием выполнения макрокоманд.

Рис.6.6. Задание свойств поля для проверки сложных условий значения

Макросы могут иметь произвольные имена, но два имени используются в специальных целях. К таким относятся макросы autoexec и autokeys.

Макрос autoexec автоматически запускается при открытии базы данных и все макрокоманды, включенные в него, выполняются автоматически. Он вступает в силу после перезагрузки базы данных.

Макрос autokeys позволяет назначить клавишам клавиатуры другие действия. Он вступает в силу после сохранения. Порядок присвоения клавишам новых функций следующий.

    1. Создать новый макрос в Конструкторе и нажать кнопку общей панели инструментов Имена макросов, что приведет к появлению одноименного столбца.

    2. В столбце Имя макроса указываются клавиши клавиатуры компьютера, которым будут присвоены действия указанных в строках макрокоманд. Обычные клавиши могут указываться в явном виде с дополнительно нажатой клавишей Ctrl, которая задается значком «^». Многофункциональные клавиши F1 … F12 могут указываться самостоятельно в фигурных скобках, либо с дополнительно нажатой клавишей Ctrl, которая задается значком «^», либо с дополнительно нажатой клавишей Shift, которая задается значком «+». Таким образом +{F11} означает одновременное нажатие Shift + F11. Пусть требуется, например, чтобы:

1) Shift + F11 открывало форму Учебная;

2) F11 закрывало форму Учебная;

3) Ctrl + F11 открывало запрос Учебная;

4) Ctrl + Р закрывало запрос Учебная.

Заполнить содержание макроса указанными строками (рис.6.7.) с указанием соответствующих объектов, сохранить его под именем autokeys и проверить работоспособность наборов клавиш в новом назначении.

Рис.6.7. Структура макроса autokeys

Стоит напомнить, что в качестве макрокоманды может быть запуск макроса, который, в свою очередь, может представлять сложный набор макрокоманд. Тем самым заданное значение клавишам может реализовывать сложные действия по обработке данных базы.

7. ПАНЕЛИ МЕНЮ И ИНСТРУМЕНТОВ

MS Access предлагает, как любое законченное приложение, встроенное меню и набор панелей инструментов. Пользователь в состоянии создать собственные панели меню и панели инструментов, а встроенные скрыть из общедоступного просмотра на экране, обеспечив удобство работы для себя и защиту информации базы от несанкционированного использования и редактирования.

Порядок создания меню следующий.

1. Доступ к созданию панелей пользователя обеспечивается переходом в режим Настройки. Для этого необходимо щелкнуть правой клавишей мыши в любом месте открытых меню или панелей инструментов и выбрать Настройка… (рис.7.1).

Рис.7.1. Выбор режима Настройка

2. В открывающемся окне Настройка перейти во вкладку Панели инструментов и нажать кнопку Создать… .

3. Задать имя меню, не обращая внимания на наименование окна и вопрос, например, Меню 234 (рис.7.2.) и Ок.

4. Вновь созданное меню появляется в виде пустой панели на экране, а также в списке Панели инструментов. Для превращения нового объекта собственно в меню необходимо задать объекту эти свойства. Для этого нажать кнопку Свойства и в открывающемся окне свойств выбрать тип Строка меню и закрыть окно свойств.

5. Для формирования меню перейти во вкладку Команды и выбрать Категорию Новое меню . Появившуюся новую строку в поле Команды… Новое меню перенести нажатой левой клавишей мыши на панель Меню 234.

6. Процесс формирования собственно меню состоит в выборе категории команд и собственно команды в окне Настройка и переносе их нажатой левой клавишей мыши в зону Новое меню. При этом, если указатель мыши останавливается рядом с зоной Новое меню, то место вставки выбранной команды будет в одной строке с пунктом Новое меню. Если же указатель мыши останавливается на зоне Новое меню, то рядом с ней появляется поле для размещения команды, вхо-

Рис.7.2. Задание имени меню пользователя

дящей в состав группы Новое меню. Аналогично внутри меню можно разместить еще одно меню и т.д. При переносах выбранных команд видно место вставки в виде маркера большого размера. Уже установленные команды можно переносить в другое требуемое место. Перенос команды из меню в пустое место экрана удаляет команду из меню. Категории Все таблицы (запросы, формы, …) выводят список всех имеющихся в базе таблиц (запросов, форм,…). Выбор этих команд приводит к открытию (запуску) указанных объектов. Для примера самостоятельно создать меню показанное на рис.7.3.

Рис.7.3. Многоуровневое развернутое меню пользователя

7. Редактирование представления меню выполняется после щелчка правой клавишей мыши по элементу выбором Свойства с последующим заданием необходимых значений. Для текстовых элементов редактируется наименование, а для элементов с графическим сопровождением редактируется в том числе и графика значка.

8. ПАРАМЕТРЫ ЗАПУСКА БАЗЫ ДАННЫХ

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

Перед настройкой параметров запуска в макросе autokeys необходимо заменить имя макроса ^F11 на ^F12, т.к. сочетание клавиш ^F11потребуется в дальнейшем для настройки вида меню. Кроме того, в меню Меню 234 необходимо добавить в горизонтальную строку из категории Встроенные меню команду Сервис. Без выполнения указанных действий последующая работа может оказаться заблокированной!

Настройка параметров запуска базы выполняется в окне, доступ к которому обеспечивается Сервис / Параметры запуска…( рис.8.1).

Поле Заголовок приложения: задает наименование базы на экране.

Поле Значок приложения: задает вид значка базы на экране. Значки имеют тип файлов *.ico и могут быть вставлены, например, из C:\Program Files \Microsoft Office\OFFICE11\FORMS\1049\CNFNOT.ICO.

Поле Строка меню позволяет выбрать меню пользователя, которое по умолчанию будет заменять типовое встроенное меню.

Поле Вывод формы/страницы позволяет открывать базу с указанной формы.

Установка или снятие флажков настроек позволяет ограничить доступ к элементам управления базой данных.

Установленный флажок Специальные клавиши Access при нажатии клавиш Ctrl + F11 включает /отключает типовую панель меню. Таким образом, при снятии флажка Специальные клавиши Access и перезагрузке базы рабочим меню остается только меню пользователя, в рассматриваемом примере это Меню 234.

Рис.8.1. Настройка параметров запуска базы пользователя

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

Общая защита базы от несанкционированного доступа обеспечивается установкой пароля доступа. Для этого необходимо открыть базу в монопольном режиме.

1. Пуск / … Access 2003 / Дополнительно… / Мои документы / Kom234 / выбрать не открывая db234 и из меню клавиши Открыть выбрать Монопольно.

2. Сервис / Защита / Задать пароль базы данных… / ввести пароль, например 123 , повторное подтверждение 123 и Ок. При следующих загрузках базы доступ к ней будет защищен введенным паролем. Следует напомнить, что содержание пароля должно быть известно только пользователю, который не может его забыть ни при каких обстоятельствах, а другие пользователи не должны иметь возможность подбора пароля из известной им информации.

Защита базы от санкционированного, но неквалифицированного доступа обеспечивается созданием меню и панелей, доступных рядовому пользователю, и скрытием меню и панелей, содержащих доступ к встроенной команде Сервис. Для этого панель с командой Сервис должна появляться на экране только после ввода кода доступа к ней в специальной форме, открываемой на экран по специальному набору клавиш. Порядок организации подобной возможности работы следующий.

1. Создать Конструкторе новую форму, не выбирая источников данных, а в ней ввести Свободное поле, которое по умолчанию имеет имя Поле0.

2. Сохранить новую форму как форма Доступ.

3. Создать макрос, содержащий макрокоманды ПанельИнструментов и Закрыть. Первая макрокоманда должна иметь условие выполнения [Формы]![Доступ]![Поле0]="абв". В качестве аргументов выбирается панель Панель 234, на которой имеется команда Сервис, и режим показа панели Да. Вторая макрокоманда закрывает форму Доступ. Таким образом, если в форме Доступ в поле Поле0 будет введен текст «абв» – код доступа, то панель Панель 234 появится на экране, после чего форма Доступ закроется. Если будет введен другой текст, то условие не выполняется и панель Панель 234 не появится на экране, а форма Доступ закроется.

4. В макрос autokeys ввести команду, открывающую форму Доступ по набору клавиш, известных только администратору, например, Ctrl + D. Аналогично ввести набор клавиш, скрывающий панель Панель 234 с экрана, например, Ctrl + X, которому соответствует макрокоманда ПанельИнструментов с аргументами панель Панель 234 и режим показа панели Нет.

5. Открыть форму Доступ в Конструкторе и для поля Поле0 задать свойства во вкладке События в пункте После обновления макрос Доступ и сохранить. После этого все будет работать, как описано в п.3.

6. Открыть форму Доступ в Конструкторе и отредактировать так ее свойства, чтобы при появлении формы на экране был виден только курсор на фоне рабочего стола MS Access, а при наборе кода доступа цвет текста совпадал с цветом фона. Например, размеры поля Поле0 установить 0,2х0,15 см, чтобы можно было только попасть указателем мыши для редактирования. Область данных сжать до размеров поля. Цвет фона поля, фона области данных и текста установить один, например, с кодом 11046796. Свойства макета формы Доступ, имеющие значение для настройки показаны на рис.8.2.

Рис.8.2. Свойства макета формы Доступ

7. В меню Параметры запуска… снять лишние флажки, оставив Полный набор меню Access и Встроенные панели инструментов, заблокировав тем самым любое редактирование структуры базы данных, закрыть панель, содержащую команду Сервис (см. рис.8.1). Для удаления с экрана лишних видимых панелей необходимо перейти в режим Настройка внешнего вида базы и снять флажки у лишних панелей. После этого перезагрузить базу данных для вступления всех настроек в силу.

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

9. ШАБЛОНЫ БАЗ ДАННЫХ

MS Access имеет встроенные шаблоны баз данных, позволяющие создавать базы по имеющимся образцам – шаблонам.

Для загрузки шаблона необходимо в окне запуска выбрать Создать файл… и из группы Шаблоны выбрать, в свою очередь, На моем компьютере. В открывающемся окне Шаблоны выбрать вкладку Базы данных, а в ней подходящий шаблон, например, Склад. Далее требуется указать место размещения и имя базы данных – Мои документы / Kom234 / Склад 234 и Ок, что запускает пошаговый процесс формирования шаблона. Переход к следующему шагу выполняется по кнопке Далее.

На первом шаге предлагается описание проекта состава базы.

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

На следующих шагах выбирается оформление экрана, оформление отчетов и наименование базы Склад 234. Выбор Готово запускает формирование базы.

На подсказку программы следует заполнить Сведения об организации в произвольной форме и содержании (рис.9.1).

Рис.9.1. Форма сведений об организации

После закрытия окна информации на экран выводится главное меню базы (рис.9.2), которое позволяет вести с ней всю работу.

Рис.9.2. Главная кнопочная форма базы

На заднем плане в свернутом виде видно обычное окно базы данных, в которой имеются элементы, свойственные только базам, созданным шаблонами и которые можно редактировать только при соблюдении определенных правил. При открытии Главной кнопочной формы и внутренних кнопочных форм в Конструкторе видны элементы диалога, которые редактировать обычными средствами редактирования элементов форм недопустимо.

Верхние из списка кнопки позволяют обращаться к выбираемым формам, отчетам или группам форм. При этом в каждом новом открывающемся меню имеется возврат в Главную кнопочную форму.

Выбор Изменение элементов кнопочной формы открывает окно Диспетчера кнопочных форм (рис.9.3).

Рис.9.3. Диспетчер кнопочных форм

Форма, которая открывается на экран при обращении к шаблону, выбирается из имеющегося списка и устанавливается нажатием кнопки По умолчанию.

Нажатие кнопки Создать… на этом этапе приведет к созданию еще одной кнопочной формы, а нажатие кнопки Изменить… на этом этапе приведет к редактированию выбранной в списке кнопочной формы.

Выберем Главную кнопочную форму и кнопку Изменить… , что приведет к открытию окна редактирования выбранной страницы (рис.9.4).

Нажатие кнопки Создать… приведет к появлению окна выбора свойств нового элемента списка активной страницы и его добавлению после нажатия Ок (рис.9.5). Кнопки Вверх и Вниз позволяют переместить необходимый элемент страницы в требуемое место.

Нажатие кнопки Закрыть возвращает режим редактирования к Главной кнопочной форме. Теперь следует самостоятельно удалить пункт Ввод/просмотр формы «Типы» из Кнопочной формы для форм для устранения дублирования. Самостоятельно заполнить по 5 записей во все формы, обращая внимание на предварительное заполнение формы, соответствующей выбору из списка.

Рис.9.4. Окно редактирования выбранной страницы

Рис.9.5. Задание свойств элемента страницы

При изменении свойств элемента кнопочной формы ему можно задать любое действие из списка Команда (см. рис.9.6) посредством выбора требуемой строки.

Рис.9.6. Выбор выполняемой команды

66