Чтение онлайн

ЖАНРЫ

Access 2002. Самоучитель
Шрифт:

Рис. 10.5

У макрокоманды Открыть запрос уже другой список аргументов, каждый из которых имеет свои значения:

• Имя запроса – имена запросов, которые вы хотите включить в создаваемый макрос;

Просмотр :

Таблица ;

Конструктор ;

Предварительный просмотр при печати ;

Режим :

Добавить ;

Редактировать ;

Только для чтения .

Выбранные значения показаны на рис. 10.5.

Теперь

добавьте к создаваемому макросу второй запрос (см. рис. 10.6): в следующую строку столбца Макрокоманда точно так же, как и в первом случае, введите макрокоманду Открыть запрос. Все дальнейшие действия полностью повторяются, изменяется лишь имя второго запроса – теперь это Запрос на добавление записей.

Рис. 10.6

В сущности, задача решена; осталось только присвоить новому макросу имя. Назовите его Запрос на объединенную выборку. Если вы запустите этот запрос на выполнение, то Access 2002 по ходу процесса выдаст все информационные сообщения и расскажет о том, что из первой таблицы будет добавлено 8 записей, а из второй – 9. Наиболее важным сообщением является предложение удалить таблицу Выборка1: макрос создает ее заново и не хочет делить эту заслугу ни с кем. Впрочем, если у вас не поднимется рука удалить указанную таблицу, система осуществит данное действие сама. Когда новый макрос выполнится, вы получите точно такую же таблицу Выборка1, как та, что показана на рис. 11.41.

Резюме

1. Макросы могут использоваться для выполнения довольно широкого диапазона операций. Например, макросы позволяют:

– открывать отчет для просмотра или печати;

– переходить от одного элемента управления (записи, поля) к другому;

– указывать свойства объекта;

– выполнять разнообразные команды и т. д.

2. В рамках настоящей главы макросы наиболее часто применяются для обработки событий. Событие – это любое действие пользователя: щелчок кнопкой мыши, открытие формы и т. д. Событие может также инициироваться каким-либо оператором.

3. Каждая отдельная операция (допустим, переход от одного элемента управления к другому) может повлечь за собой ряд событий, возникающих в определенной последовательности. Такие последовательности событий для разных ситуаций четко определены и подробно рассмотрены в этой главе. Их очень важно знать, поскольку от порядка событий зависят условия и очередность выполнения макросов и процедур обработки событий.

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

Глава 11 Программирование на языке SQL

Как уже говорилось в главе 9, главной «специальностью» языка SQL является конструирование запросов пользователя к базе данных. Поэтому программирование на языке SQL – это в основном формирование таких запросов.

Типы запросов

Запрос SQL – это запрос, создаваемый при помощи инструкций SQL [15] .

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

Перечислим важнейшие типы запросов:

запрос на выборку;

• запрос на изменение;

• SQL-запрос;

• запрос с параметрами;

• перекрестный запрос.

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

Запросы на изменение дают возможность корректировать информацию, которая содержится в таблицах.

Существует четыре вида запросов на изменение:

• запрос на создание таблицы – создает новую таблицу на основе данных, которые уже размещены в одной или нескольких таблицах;

• запрос на удаление – удаляет все записи из одной или нескольких таблиц на основании критериев, заданных пользователем;

• запрос на присоединение – добавляет целые записи или только указанные поля в одну или больше таблиц;

• запрос на обновление – изменяет данные в существующих таблицах на основании информации в окне конструктора.

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

Такие типы запросов удобно использовать в качестве основы для форм, отчетов и страниц доступа к данным.

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

Эти запросы могут формироваться в окне конструктора запросов.

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

• запрос на объединение – совмещает поля, которые расположены в одной или нескольких таблицах или запросах;

• запрос к серверу – позволяет забирать информацию непосредственно из ODBC-таблиц (ODBC – Open Database Connectivity, средства работы с открытыми базами данных), так как напрямую связывается с сервером, а не с таблицами системы Access;

• запрос на определение данных – вносит изменения в определение таблицы, то есть позволяет формировать и удалять таблицы, добавлять в них поля и создавать их индексы;

• подзапрос – создает оператор внутри существующего запроса на выборку или изменение. Подзапрос выбирает подмножество записей, уже извлеченных главным запросом.

Выполнение любых задач, связанных с таблицами, подразумевает использование языка SQL. Запросы первых трех типов, перечисленных выше, встраиваются в средство просмотра SQL в окне запроса. Чтобы сформировать подзапрос, введите команду SQL SELECT в строке Критерии сетки Конструктор.

Запросы могут создаваться как с помощью конструктора запросов, так и посредством мастера запросов. На наш взгляд, конструктор удобнее: во-первых, его операции оформляются более наглядно, во-вторых, из конструктора легко переходить к инструкциям в форме SQL и наоборот. Тем не менее на конкретном примере будет показано, как формировать запрос при помощи мастера.

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

Поделиться с друзьями: