В 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.
Для задания условия отбора можно воспользоваться построителем выражений.