В Access существует несколько типов запросов для различных целей

· Запросы на выборку отображают данные из одной или нескольких таблиц в виде таблицы.

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

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

· Запросы с параметрами это такие запросы, свой­ства которых изменяются пользователем при каждом запуске. При запуске за­проса с параметром появляется диалоговое окно, в котором нужно ввести условие отбора. Этот тип запроса не является обособленным, т. е. параметр можно добавить к запросу любого типа.

Заполнение бланка запроса

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

 

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

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

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

¨ выбрать нужное поле из списка в строке Поле внизу бланка запроса

Добавление нескольких полей одновременно:

Þ выделить несколько полей в списке полей в таблице в верхней части бланка (выделение смежных, т. е. расположенных рядом, полей производится при нажатой клавише Shift, а не смежных - при нажатой клавише Ctrl)

Þ 1 раз кликнуть на любом выделенном поле, перетащить и бросить в соответствующий столбец в строку Поле внизу бланка запроса.

Добавление всех полей таблицы:

Þ 1 раз кликнуть на символе “звездочка”, расположенном вначале списка полей каждой таблицы, добавленной в верхнюю часть бланка

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

· можно потребовать отсортировать данные динамического набора по одному или нескольким смежным полям. Если поля не смежные, то нужно выполнить перестановку столбцов так же как это делается при изменении макета таблицы.

· включить/выключить (если не нужно выводить на экран значения этого поля в динамическом наборе данных) флажок Вывод на экран

· написать в соответствующих столбцах условия для отбора данных, если в этом есть необходимость. Условие отбора может быть записано в одном столбце бланка или в нескольких. В последнем случае запрос будет булевским с использованием операции AND. Чтобы построить булевский запрос с использованием операции OR, необходимо воспользоваться строкой или бланка запроса. По такому же принципу можно создать булевский запрос с использованием обеих операций.

 

Примеры условий

¨ 2 (равно двум для числового поля, знак = можно не писать); < >2(не равно двум); Бишкек (равно символьной константе Бишкек, кавычки можно не ставить, ACCESS сделает это автоматически, преобразуя эту константу к виду “ Бишкек ”

¨ Between 10 and 50 (этим оператором можно отобрать значения от 10 до 50 включительно)

¨ In ( 1;2;5;12)-функция, обозначающая принадлежность множеству значений 1,2,5,12

¨ Null (пусто)- не введено никакого значения. ACCESS в этом случае автоматически добавит оператор Is так, чтобы условие было записано в виде IsNull .

¨ Not IsNull (не пусто), т. е. значение введено

¨ <#01.10.99# (символ # можно не писать, ACCESS это сделает автоматически) - означает ранее указанной даты 01.10.99

¨ >=Date() AND <=Date() + 6 , что означает позже сегодняшней даты (ее выдаст функция Date () и не позже шести дней после сегодняшней даты

¨ при задании условий можно использовать символы-заменители (шаблоны) вместе в оператором Like: * - любая группа символов и ? - любой одиночный символ . Например, вывести все фамилии, начинающиеся на букву А можно, задав условие отбора в виде Like A* ( после нажатия клавиши Enter ACCESS преобразует это условие к виду Like “A*”)

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

Для задания условия отбора можно воспользоваться построителем выражений.