Перекрестные запросы. Макросы
С помощью перекрестного запроса можно более наглядно представить данные итоговых запросов, предусматривающих группировку по нескольким признакам (по двум, в частности).
В этом случае значение полей по первому признаку группировки могут стать заголовками строк, а по второму - заголовками столбцов.
Для преобразования итогового запроса-выборки необходимо перейти в режим его Конструктора и выполнить команду Запрос/Перекрестный.
После этого в бланке запроса строка «Вывод на экран» будет замещена строкой «Перекрестная таблица». В этой строке нужно задать, как будет использовано данное поле в перекрестной таблице: в виде заголовок строк, полей или значений (рисунок 18.1).
Рисунок 18.1 - Вид окна перекрестного запроса
Существует возможность вывести данные в перекрестной таблице без создания в базе данных отдельного запроса. Для этого следует использовать «Мастер сводных данных». В сводной таблице пользователь имеет возможность изменять заголовки строк или столбцов, что позволяет анализировать данные различными способами.
В перекрестном запросе отображаются результаты статистических расчетов (такие как суммы, количество записей и средние значения), выполненных по данным из одного поля таблицы. Эти результаты группируются по двум наборам данных, один из которых расположен в первом столбце таблицы, а второй - в верхней строке.
Удобно создавать перекрестную таблицу в интерактивном режиме с помощью мастера «Перекрестный запрос». Обращение к Мастеру значительно упрощает процесс создания перекрестной таблицы.
Мастеру необходимо указать исходную таблицу, которая может быть таблицей из базы данных или являться результатом выборки данных из нескольких таблиц. На основе исходной таблицы или запроса Мастер создает итоговую выборку, в которой группирует и сортирует данные по полям, используемым в качестве строки и столбца перекрестной таблицы, а также вычисляет итоговое значение по заданному полю данных.
При создании перекрестной таблицы следует перейти на вкладку «Запросы» и выбрать кнопку «Создать»,а затем в окне диалога выбрать опцию Перекрестный запрос (рисунок 18.1).
Эти действия запустят Мастер создания перекрестной таблицы, который шаг за шагом будет задавать вопросы о параметрах создаваемой таблицы.
На первом шаге Мастер предлагает выбрать исходную таблицу или запрос.
На следующем шаге вам необходимо указать поля, значения которых будут использоваться в качестве заголовков строк. Можно указать от одного до трех полей путем их переноса их переноса из списка Доступные поля в список Выбранные поля.Затем вы переходите в окно диалога определения заголовков столбцов. В качестве заголовка столбцов может использоваться только одно поле.
На предпоследнем шаге создания перекрестной таблицы нужно задать поле, которое будет использоваться в качестве источника данных для итоговых вычислений, и тип итоговых вычислений для каждой пары строка/столбец (рисунок 18.2).
Рисунок 18.2 - Вид окна для определения типа группировки
В этом же окне диалога можно добавить столбец, который будет содержать итоговое значение по каждой строке результирующей таблицы.
На завершающей стадии создании перекрестной таблицы нужно задать ее имя и выбрать опцию просмотра результатов запроса или изменения структуры запроса в окне конструктора запросов.
Для завершения процесса создания необходимо нажать кнопку «Готово», на экране появится построенная перекрестная таблица.
В перекрестной таблице, созданной с помощью Мастера, присутствует дополнительный столбец Итого, в котором отображаются суммарные итоги данных.
Макросы
Макросом называют набор из одной или более макрокоманд, выполняющих определенные операции, такие как открытие форм или печать отчетов. Макросы могут быть полезны для автоматизации часто выполняемых задач. Например, при нажатии пользователем кнопки можно запустить макрос, который распечатает отчет.
Макрос может быть как собственно макросом, состоящим из последовательности макрокоманд, так и группой макросов, т.е. набором связанных макрокоманд имеющих общее имя. В некоторых случаях для решения, должна ли в запущенном макросе выполняться определенная макрокоманда, может применяться условное выражение.
Запуск окна создания макросов осуществляется кнопкой «Создать», в окне диалога «База данных» при выбранной категории «Макросы» внешний вид окна «Макрос» представлен на рисунке 18.3.
Рисунок 18.3 - Окно диалога «Макрос»
В верхней части раскрывшемся окне «Макрос» имеется два столбца: «Макрокоманда» и «Примечание». В столбце «Макрокоманда» осуществляется выбор макроса из раскрывающегося списка, в котором более 50 различных макрокоманд, составляющих базовый набор MS Access. Создаваемый макрос может включать в себя множество макрокоманд, каждая новая команда должна записываться в новой строке.
Заполнение столбца «Примечание» не является обязательным, однако в большинстве случаев его заполнение позволяет быстрее разобраться в действиях макроса, особенно когда в нем множество макрокоманд.
В большинстве случаев макрокоманды имеют аргументы, в этом случае они отображаются в нижней части окна в разделе «Аргументы макрокоманды». В общем случае рекомендуется задавать аргументы макрокоманды в том порядке, в котором они перечислены, поскольку выбор одного аргумента может определять возможные значения следующего аргумента.
В некоторых случаях, при создании сложных макросов может потребоваться ветвление, т.е. использование условий, например, выполнять или не выполнять ту или иную макрокоманду в зависимости от ситуации. В этом случае потребуется добавление нового столбца «Условие» в бланк макрокоманд. Добавить столбец «Условие» можно командой Вид - Условие. Условие можно создать через построитель выражений командой контекстного меню – Построить.
Таблица 18.1 – Макрокоманды MS Access
Макрос | Аргументы | Краткое описание | |
Восстановить | - | Восстановление исходных размеров активного окна | |
ВывестиВФормате | |||
ВыводНаЭкран | Включить вывод, текст строки состояния | Управляет отображением вывода результатов выполнения макросов на экран | |
ВыделитьОбъект | Тип объекта, имя объекта, в окне БД (да/нет) | Делает активным объект БД | |
ВыполнитьКоманду | Команда меню | Выполнение команды меню MS Access, команда должна соответствовать текущему состоянию | |
Выход | Режим сохранения | Выход из MS Access | |
ДобавитьМеню | Название пункта, имя выполняемого макроса, текст строки состояния | Добавление пункта к главному или контекстному меню | |
ЗадатьЗначение | Элемент которому присваивается значение, выражение | Задание значения для элемента управления (например, поле) | |
ЗадатьКомандуМеню | Индексы меню, команды, подкоманды, состояние пункта меню | Изменяет состояние пункта меню созданного макросом | |
Закрыть | Тип окна (форма, запрос и т.д.), имя окна, режим закрытия | Закрытие указанного окна | |
ЗапускЗапросаSQL | Строка – запрос, использовать транзакцию (да/нет) | Запускает запрос SQL, указанный аргументом | |
ЗапускМакроса | Имя макроса, количество повторов запуска, условие повтора | Запускает указанный макрос | |
ЗапускПриложения | Полное имя приложения (командная строка) | Запускает приложение указанное аргументом | |
ЗапускПрограммы | Имя функции Visual Basic | Запуск программы Visual Basic | |
КомандыКлавиатуры | Клавиши, необходимость задержки на время обработки (да/нет) | Передает нажатие указанных клавиш MS Access или другим приложениям | |
КопироватьОбъект | Имя БД, новое имя объекта, тип объекта, старое имя | Копирование объекта в туже или другую БД | |
КэлементуУправления | Имя элемента управления | Перемещение фокуса ввода к элементу управления | |
НаЗапись | Тип объекта, имя объекта, к какой записи (следующая, первая и т.д.), номер записи или смещение | Переход к указанной записи формы, таблицы или запроса | |
НайтиЗапись | Образец поиска, условие совпадения, учет регистра, область поиска, учет формата поля, по каким полям, какое вхождение (первое, последнее и т.д.) | Поиск записи по условию на форме или в таблице | |
НаСтраницу | Номер страницы, левый отступ, правый отступ страницы | Вывод указанной страницы формы (используется при построении многостраничных форм) | |
ОбновитьОбъект | Тип объекта, имя объекта | Обновление объекта экрана (форма, таблица и т.д.) | |
Обновление | Имя элемента | Обновление элемента управления (его таблиц, или вычислений) | |
ОстановитьВсеМакросы | - | Требуется для остановки работы всех макросов |
Продолжение таблицы 18.1
Макрос | Аргументы | Краткое описание | |
ОстановитьМакрос | - | Остановка макроса выполняемого в данный момент | |
ОткрытьЗапрос | Имя запроса, режим вывода (констр. и т.д.), режим работы (изменение, чтение и т.д.) | Открытие запроса в различных режимах | |
ОткрытьМодуль | Имя модуля, имя процедуры | Открытие модуля Visual Basic | |
ОткрытьОтчет | Имя отчета, режим (просмотр, печать, костр.), имя фильтра, условие отбора записей | Открывает отчет в различных режимах | |
ОткрытьПредставление | Имя представления, режим (просмотр, таблица и т.д.), режим данных (изменение, только чтение и т.д.) | Открытие представления в различных режимах | |
ОткрытьСохраненнуюПроцедуру | Имя процедуры, режим, режим данных | Открытие сохраненной процедуры в различных режимах | |
ОткрытьСтраницуДоступаКДанным | Имя страницы, режим | Открытие страницы доступа к данным в различных режимах | |
ОткрытьСхему | Имя схемы | Открытие схемы БД | |
ОткрытьТаблицу | Имя таблицы, режим, режим данных | Открытие таблицы БД в различных режимах | |
ОткрытьФорму | Имя формы | Открывает форму с указанным именем | |
ОтменитьСобытие | - | Отменяет событие запустившее данный макрос | |
ОтправитьОбъект | |||
ПанельИнструментов | Имя панели, показ (да/нет) | Управляет отображением панелей инструментов | |
Переименовать | Новое имя, тип объекта, старое имя | Переименование указанного объекта | |
ПесочныеЧасы | Включить (да/нет) | Устанавливает указатель мыши в виде песочных часов | |
Печать | |||
ПоказатьВсеЗаписи | - | Отмена фильтров для форм, таблиц и запросов | |
ПрименитьФильтр | Имя фильтра, условие отбора | Применяет фильтр к форме или отчету или предложение WHERE (SQL) | |
Развернуть | - | Развернуть активное окно до максимальных размеров | |
Свернуть | - | Свернуть активное окно и поместить его значком в нижней части Access | |
СдвигРазмер | Отступы слева, сверху, высота, ширина | Смещение или изменение размеров активного окна | |
Сигнал | - | Выдача звукового сигнала | |
СледующаяЗапись | - | Поиск следующей записи по условию заданному макросом «Найти запись» | |
Сообщение | Строка сообщения, сигнал (да/нет), тип окна, заголовок окна | Вывод диалогового окна с сообщением | |
Сохранить | Тип объекта, имя объекта | Сохранение объекта | |
УдалитьОбъект | Тип объекта, имя объекта | Удаление объекта | |
УстановитьСообщения | Включить сообщения (да/нет) | Включение или выключение системных сообщений в т.ч. сообщений об ошибках |
Дата добавления: 2015-11-18; просмотров: 997;