
- •А. В. Брешенков, а.М. Губарь
- •Издательство мгту имени н.Э. Баумана
- •Издательство мгту им. Н.Э. Баумана
- •1. Интегрированная среда Access. Построение баз данных с помощью шаблонов 9
- •1. Интегрированная среда Access. Построение баз данных с помощью шаблонов
- •1.1. Введение
- •1.2. Загрузка Access
- •1.3. Интегрированная среда Access
- •1.4. Создание баз данных с помощью шаблонов
- •Контрольные вопросы
- •2. Проектирование таблиц в среде Access
- •2.1. Введение
- •2.2. Создание таблиц путем ввода данных
- •2.3. Создание таблиц с помощью мастера
- •2.4. Создание таблиц с помощью конструктора
- •2.4.1. Описание имен полей
- •2.4.2. Назначение типов полей
- •2.4.3. Назначение свойств полей
- •2.5. Связывание таблиц на схеме данных
- •2.5.1. Введение
- •2.5.2. Связь один к одному
- •2.5.3. Связь один ко многим
- •2.5.4. Связь многие ко многим
- •Контрольные вопросы
- •3. Проектирование запросов с помощью конструктора
- •3.1. Введение
- •3.2. Проектирование запросов на выборку
- •3.3. Проектирование перекрестных запросов
- •3.4. Проектирование запроса на создание таблицы
- •3.5. Проектирование запроса на добавление
- •3.6. Проектирование запроса на обновление
- •3.7. Проектирование запроса на удаление
- •3.8. Проектирование запросов на основе нескольких таблиц
- •Контрольные вопросы
- •4. Проектирование запросов в среде Access с помощью мастеров
- •4.1 .Введение
- •4.2. Формирование простого запроса
- •4.3. Формирование перекрестного запроса
- •4.4. Вывод повторяющихся записей
- •4.5. Поиск записей без подчиненных
- •Контрольные вопросы
- •5. Проектирование форм в среде Access с помощью конструктора
- •5.1. Введение
- •5.2. Создание формы посредством конструктора
- •5.3. Редактирование формы посредством конструктора
- •5.4. Свойства формы и ее элементов
- •5.4.1. Введение
- •5.4.2. Вкладка «Макет»
- •5.4.3. Вкладка «Данные»
- •5.4.4. Вкладка «События»
- •5.4.5. Вкладка «Другие»
- •Контрольные вопросы
- •6. Проектирование форм в среде Access с помощью мастеров
- •6.1. Введение
- •6.2. Проектирование форм с помощью мастера форм
- •6.3. Автоформа в столбец
- •6.4. Автоформа ленточная
- •6.5. Автоформа табличная
- •6.6. Автоформа сводная таблица *
- •6.7. Автоформа Сводная диаграмма *
- •6.8. Диаграмма
- •6.9. Сводная таблица *
- •6.10. Создание формы посредством инструмента «Новый объект»
- •6.11. Диспетчер кнопочных форм
- •Контрольные вопросы
- •Проектирование отчетов в среде Access с помощью конструктора
- •7.1. Введение
- •7.2. Запуск конструктора отчетов
- •Формирование в отчете полей с данными
- •7.4. Проектирование отчетов с группировкой по полям
- •Использование панели элементов в конструкторе отчетов
- •7.6. Внедрение в отчет подчиненной формы или отчета
- •Контрольные вопросы
- •Проектирование отчетов в среде Access с помощью мастеров
- •8.1. Введение
- •Мастер отчетов
- •8.3. Автоотчет в столбец
- •8.4. Автоотчет ленточный
- •8.5. Мастер диаграмм
- •8.6. Мастер наклеек
- •Контрольные вопросы
- •9. Использование макросов в среде Access
- •9.1. Введение
- •9.2. Создание макроса
- •9.3. Примеры макрокоманд
- •9.3.1. Макрокоманда «ВыполнитьКоманду»
- •9.3.2. Макрокоманда «ЗадатьЗначение»
- •9.3.3. Макрокоманда «ЗапускМакроса»
- •9.3.4. Макрокоманда «ЗапускПриложения»
- •9.3.5. Макрокоманда «КопироватьОбъект»
- •9.3.6. Макрокоманда «ОткрытьЗапрос»
- •9.3.7. Макрокоманда «ПреобразоватьБазуДанных»
- •9.4. Связывание макросов с событиями
- •9.5. Создание макросов с условиями
- •Контрольные вопросы
- •Список литературы
9.3.2. Макрокоманда «ЗадатьЗначение»
Эта макрокоманда позволяет присвоить какому-либо элементу определенное значение. Элемент указывается с помощью аргумента «Элемент», а требуемое значение задается посредством аргумента «Выражение». Например, в определенной ситуации может возникнуть необходимость занесения в поле «Код издательства» формы «Книги» значения «Код издательства» активной записи формы «Издательства», что необходимо для связывания записей. Тогда элементу [Forms]![Книги]![Код издательства] необходимо присвоить значение [Forms]![Издательства]![Код издательства]. В этом примере использована нотация, принятая в СУБД Access. Ключевое слово [Forms] определяет, что элемент принадлежит к классу «Формы». Далее следуют имена формы и поля, разделенные восклицательным знаком. Все элементы такой конструкции необходимо брать в квадратные скобки.
В окне макрокоманды ее аргументы выглядят следующим образом (рисунок 9.11):
Рис. 9.11. Аргументы макрокоманды «ЗадатьЗначение»
В качестве выражения может быть задействовано любое математическое выражение.
После сохранения макроса его можно преобразовать в процедуру на языке Visual Basic. Для этого надо выделить преобразуемый макрос в базовом окне системы Access, а затем выбрать в меню команду «Сервис/Макрос/Преобразовать макросы», после чего сформируется окно (рисунок 9.12), в котором задается вид программы:
Рис. 9.12. Окно преобразования макроса
После выбора флажков и нажатия кнопки «Преобразовать» сформируется функция, которая разместится в группе объектов «Модули» (рисунок 9.13):
Рис. 9.13. Размещение сформированной процедуры
Этот модуль в режиме конструктора показан на рисунке 9.14:
Рис. 9.14. Сформированная функция на языке Visual Basic
Это окно языка Visual Basic. В нем доступны все средства системы программирования Visual Basic. В частности разработчик БД может редактировать, изменять программу, а также выявлять допущенные ошибки программирования.
Функция, представленная в окне на рисунке 9.14, содержит средства обработки ошибок и комментарии, причем единственная исполняемая команда этой функции следующая:
Forms!Книги![Код издательства] = Forms!Издательства![Код издательства].
Средства преобразования макросов в процедуры следует использовать в том случае, когда в разрабатываемой программе задействованы команды, которые реализуются с помощью каких-либо макросов, а также другие команды, не реализованные посредством макросов. Кроме того, рассмотренные средства можно использовать для изучения основ языка программирования Visual Basic.
9.3.3. Макрокоманда «ЗапускМакроса»
Эта макрокоманда используется для циклического запуска макроса. Ее аргументы представлены на рисунке 9.15:
Рис. 9.15. Аргументы макрокоманды «ЗапускМакроса»
С помощью аргумента «Имя макроса» задается, естественно, имя макроса, который необходимо выполнять в цикле.
Аргумент «Число повторов» задает максимальное количество повторов выполнения макроса.
С помощью аргумента «Условие повтора» задается условие завершения циклического вызова макроса. Цикл будет прекращен, если условие примет значение “Ложь”.
Если преобразовать этот макрос в функцию, то она примет следующий вид:
Function Запуск_макроса()
On Error GoTo Запуск_макроса_Err
DoCmd.RunMacro "Вывести в формате", 11, "[Forms]![Книги]![Цена]>70"
Запуск_макроса_Exit:
Exit Function
Запуск_макроса_Err:
MsgBox Error$
Resume Запуск_макроса_Exit
End Function
В качестве объекта языка Visual Basic используется объект DoCmd, который позволяет выполнять макрокоманды СУБД Access. В данном случае выполняется макрокоманда ЗапускМакроса (соответствующий метод RunMacro). Сама команда выглядит так:
DoCmd.RunMacro "Вывести в формате", 11, "[Forms]![Книги]![Цена]>70".
В ней, как и во всех объектах DoCmd, перечисляются аргументы соответствующей макрокоманды. В связи с этим, для нашего случая преобразовывать макрокоманды в функции имеет смысл только тогда, когда эти функции впоследствии будут расширены.