Использование макросов для программирования в MS ACCESS (drjy)

Посмотреть архив целиком

Описания макросов.

В данной научной работе было применено макросов. Причём из них дублируются из-за специфики выполняемых функций, а остальные не имеют аналогов. Начнём пожалуй с AUTOEXEC - макроса. (см. приложения) Его специфика заключается в том, что макрос с таким именем всегда запускается в автоматическом режиме при загрузке базы данных. Это его свойство и позволяет без вмешательства пользователя вывести приглашение к работе и открыть главное окно АРМ FORMSNAVIGATOR 1. 0. Во всяком случае такая автоматизация производит должное впечатление на определённую группу (я так думаю весьма большую) пользователей. Макрос AUTOEXEC весьма прост по структуре, посему и задерживаться на нём не будем.

Макрос ДЛЯ_ГРУППЫ уже не так прост, он содержит условие и к тому же использует большое количество команд. Условие позволяет осуществить выбор пользователю необходимой для загрузки формы. Кроме того хотелось бы особенно отметить макрокоманду ЗАДАТЬ ЗНАЧЕНИЕ. Она весьма универсальна и позволяет в данном случае осуществить вывод на экран и скрытие определённых элементов (кнопка «Введите пароль» и поле для его ввода). В данном случае использованы их свойства вывод на экран (Visible), которым с помощью макрокоманды ЗАДАТЬ ЗНАЧЕНИЕ присваивается значение либо ИСТИНА, либо ЛОЖЬ. Пожалуй одна из простейших команд ПЕСОЧНЫЕ ЧАСЫ придаёт работе приложения «фирменный» вид, если машина слишком долго думает. Этот макрос «привязан» к событию нажатие кнопки «Запуск».

Далее рассмотрим макрос ПАРОЛЬ. Он также содержит условие: сравниваются истинное значение пароля и пароль введённый пользователем. Если условие выполнено то, спрятав элементы ввода пароля, открываем форму «Финансы» и выводим на экран скрытые финансовые сведения. Если же пользователь ввёл пароль с ошибкой, то ему предоставляется новая возможность для ввода пароля. Макрос запускается после обновления поля для ввода пароля.

Из-за специфики работы приложения для функции ввода пароля был также использован макрос CLEAR, очищающий поле для ввода пароля. Макрос «привязан» к событию нажатие кнопки «Ввод пароля».

Рассмотрим также принцип работы макросов, отвечающих за навигацию по записям в формах: НАЙТИ (НАЙТИ1), НАЙТИ_ДАЛЕЕ (НАЙТИ_ДАЛЕЕ1). При выполнении данного макроса фокус переходит на поле фирма, где и осуществляется поиск. Главнейшая макрокоманда здесь - это НАЙТИ ЗАПИСЬ. За образец поиска принимается значение из поля со списком. Поиск осуществляется от первой записи вниз. Затем фокус возвращается к полю со списком. В принципе последняя команда работает лишь для субъективной психологии человека, .т. к. пользователь ведь и не догадывается как работает программа, а посему если он выбирает значения из списка, то фокус не должен «прыгать» по всей форме. Макрос начинает работать после обновления поля со списком фирм.

Макрос НАЙТИ_ДАЛЕЕ (НАЙТИ_ДАЛЕЕ1) на первый взгляд не отличается от предыдущего, однако изменение всего в одном операнде макрокоманды НАЙТИ ЗАПИСЬ приводит к совершенно иным результатам. Вся разница в операнде первое вхождение. Здесь поиск осуществляется уже не с первой, а с текущей записи. Таким вот образом происходит поиск сведений о филиалах . Запуск макроса происходит после нажатия кнопки "Следующая . . . ".

Макрос УСТАНОВИТЬ ПОДПИСЬ КНОПКЕ (УСТАНОВИТЬ ПОДПИСЬ КНОПКЕ1) состоит вообще из одной макрокоманды ЗАДАТЬ ЗНАЧЕНИЕ . Но тем не мене весьма изящен и делает очень красивую с точки зрения пользователя функцию (да и полезную, ведь без него кнопка "Следующая . . . " могла бы восприниматься в глазах пользователя как кнопка для перехода к следующей записи!). Функции Caption присваивается значение "Следующая " & [Forms]![Фирма]![пссфм], т. е. Следующая + значение поля со списком. Макрос работает по свойству кнопка вверх для кнопки «Следующая... » и при открытии формы.

Макрос ПОДРОБНЕЕ позволяет пользователю простой установкой флажка выводить на экран (или сняв флажок, убирать с экрана) сведения о регистрации фирм. Это свойство весьма полезно, т. к. позволяет убирать с экрана ненужную на данный момент информацию. Эта функция выполняется с помощью условия и всё той же универсальной и весьма всеми любимой командой ЗАДАТЬ ЗНАЧЕНИЕ . Здесь опять-таки мы используем для операнда элемент функцию Visible для примечаний формы, где и находятся наши сведения о регистрации. Макрос «привязан» к событиям после обновления флажка и загрузке формы «Фирма».

Макрос К_FORMSNAVIGATOR1_0 используется как в форме «Фирма». Так и в форме «Финансы» для осуществления возврата к основному окну FORMSNAVIGATOR1. 0. Его состав очень прост. Такой макрос думаю я осилит большая часть студентов, а посему и останавливаться на нём не будем.

Рассмотрев все применяемые здесь макросы хотелось бы сделать кое-какие выводы:

  • Прежде всего макросы не так уж сложны как о них думают, а , значит, следует смело их применять;

  • макросы вполне способны (правда не всегда) заменить настоящее программирование на VisualBasic

  • макросы в некоторых случаях могут даже то на что не способен VisualBasic

  • зачастую одна и та же макрокоманда способна осуществлять различные функции (на пример, команда ЗАДАТЬ ЗНАЧЕНИЕ)

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



Автор: Славников Дмитрий Васильевич


slavnikov_d@mail.ru

 Листинги всех макросов можно просмотреть в приложениях.

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


Случайные файлы

Файл
6379-1.rtf
83892.rtf
151404.rtf
138149.rtf
149359.doc




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.