Запросы в СУБД Access
Одним из семи стандартных объектов Microsoft Access является запрос. Запросы используются для просмотра, анализа и изменения данных в одной или нескольких таблицах. Например, можно использовать запрос для отображения данных из одной или нескольких таблиц и отсортировать их в определенном порядке, выполнить вычисления над группой записей, осуществить выборку из таблицы по определенным условиям. Запросы могут служить источником данных для форм и отчетов Microsoft Access. Сам запрос не содержит данных, но позволяет выбирать данные из таблиц и выполнять над ними ряд операций. В Microsoft Access существует несколько видов запросов:
· запросы к серверу, которые используются для выборки данных с сервера;
· запросы на автоподстановку, автоматически заполняющие поля для новой записи;
· запросы на выборку, выполняющие выборку данных из таблиц;
· запросы на изменение, которые дают возможность модифицировать данные в таблицах (в том числе удалять, обновлять и добавлять записи);
· запросы на создание таблицы, создающие новую таблицу на основе данных одной или нескольких существующих таблиц,
· другие типы запросов.
Запросы и фильтры
Запрос на выборку содержит условия отбора данных и возвращает выборку, соответствующую указанным условиям, без изменения возвращаемых данных. В Microsoft Access существует также понятие фильтра, который в свою очередь является набором условий, позволяющих отбирать подмножество записей или сортировать их. Сходство между запросами на выборку и фильтрами заключается в том, что и в тех и в других производится извлечение подмножества записей из базовой таблицы или запроса. Однако между ними существуют различия, которые нужно понимать, чтобы правильно сделать выбор, в каком случае использовать запрос, а в каком — фильтр.
Основные отличия запросов и фильтров заключаются в следующем.
· Фильтры не позволяют в одной строке отображать данные из нескольких таблиц, т. е. объединять таблицы.
· Фильтры не дают возможности указывать поля, которые должны отображаться в результирующем наборе записей, они всегда отображают все поля базовой таблицы.
· Фильтры не могут быть сохранены как отдельный объект в окне базы данных (они сохраняются только в виде запроса).
· Фильтры не позволяют вычислять суммы, средние значения, подсчитывать количество записей и находить другие итоговые значения.
Запросы могут использоваться только с закрытой таблицей или запросом. Фильтры обычно применяются при работе в режиме Формы или в режиме Таблицы для просмотра или изменения подмножества записей. Запрос можно использовать:
· для просмотра подмножества записей таблицы без предварительного открытия этой таблицы или формы;
· для того чтобы объединить в виде одной таблицы на экране данные из нескольких таблиц;
· для просмотра отдельных полей таблицы;
· для выполнения вычислений над значениями полей.
Типы запросов
Запросы на выборку
Запрос на выборку, является наиболее часто используемым типом запроса. Запросы этого типа возвращают данные из одной или нескольких таблиц и отображают их в виде таблицы, записи в которой можно обновлять (с некоторыми- ограничениями). Запросы на выборку можно также использовать для группировки записей и вычисления сумм, средних значений, подсчета записей и нахождения других типов итоговых значений.
Существует два варианта построения: в режиме Мастера и в режиме Конструктора.
1. Создание запроса в режиме Мастера.
Выбрать информацию, которая необходима, можно из одной или нескольких таблиц. Так как таблицы связаны друг с другом, это не представляет большой сложности, особенно если подключить к работе мастер запросов. Мастер запросов вызывается двумя способами:
· в основном окне базы данных необходимо выбрать объект Запросы, затем на панели инструментов основного окна нажать кнопку Создатьи в открывшемся диалоговом окне Новый запрос(рис. 12) выбрать строку Простой запрос:
Рис. 12. Окно Новый запрос
· мастер запросов можно вызвать сразу, если в объекте Запросыщелкнуть по надписи Мастер запросов.
Вобоих случаях будет открыто диалоговое окно Создание простых запросовдля выбора полей (рис. 13)
Рис. 13. Окно Создание простых запросов. Шаг первый
В окне списка Таблицы и запросынадо выбрать таблицу, из которой будут отбираться данные, после чего в окне Доступные поляавтоматически появится список полей выбранной таблицы. Нужные поля отбираются в окно Выбранные поляс помощью стрелок, расположенных между окнами (одинарная стрелка переносит одно выделенное поле в одну или другую сторону, двойная - переносит все). Кнопка Далеепозволит перейти на следующий шаг работы мастера (рис. 15).
Кнопка Далееоткроет окно второго шага (рис. 15).
Рис. 15. Окно Создание простых запросов. Шаг третий
В последнем окне необходимо задать имя запроса. Кнопка Готово выведет на экран запрос в режиме таблицы (рис. 16)
Рис. 16. Новая таблица, созданная мастером запросов
2. Создание запроса в режиме Конструктора (основной режим построения)
Режим Конструктора в запросах является основным. Даже запрос, выполненный в режиме Мастера, может потребовать доработки: выполнить вычисления, сгруппировать данные или произвести еще какие-либо действия. Выполнение всех дополнительных условий производится в режиме Конструктора - здесь можно сделать практически все.
Так же как ив мастере запросов, открытие запроса в режиме Конструктора происходит двумя способами:
· в основном окне базы данных необходимо выбрать объект Запросы, на панели инструментов основного окна нажать кнопку Создать и в окне Новый запрос выбрать строку Конструктор. Кнопка ОК в этом случае откроет два окна: Запрос 1: запрос на выборку и Добавление таблицы;
· тот же результат даст двойной щелчок по надписи Создание запроса в режиме конструктора в окне объекта Запросы.
В Окне Добавление таблицы необходимо выбрать требуемую таблицу и нажать кнопку Добавить. Выбранная таблица появится в зоне отбора таблиц окна Запрос на выборку в верхнем (сером) поле. После вывода необходимых таблиц или запросов окно Добавление таблицынадо закрыть.
К выбору таблиц нужно отнестись внимательно, так как вместо данных в них могут находиться коды. Лучше всего ориентироваться на таблицы, в которые информация вносится впервые. Например, нужно знать название товара и его количество. Эти данные находятся в таблице Поставка товара, однако название товара здесь представлено в виде кода, поэтому для отбора данных потребуется две таблицы: Товар и Поставка товара.
Теперь из таблиц нужно выбрать необходимые поля. Это можно сделать тремя способами:
· перетащить поле из окна выбранной таблицы в нижнюю часть окна Запросна выборку в свободную (белую) строку Поле, удерживая нажатой левую кнопку мыши. В результате в строке Поле появится имя отобранного поля, а в строку Имя таблицы автоматически будет внесено название таблицы, из которой это поле было выбрано;
· в нижней части окна построителя запроса в строке Имя таблицывыбрать из списка нужную таблицу, после чего в строке Поле появится список полей данной таблицы, из которого выбирается нужное поле;
· поле выбирается при помощи двойного щелчка мышью в зоне выбранной таблицы, находящейся в верхней части построителя запроса.
При отборе таблиц связи полей устанавливаются автоматически в соответствии со схемой данных, но при удалений или добавлении полей они могут быть потеряны. В этом случае их связь восстанавливается вручную, аналогично созданию связи в схеме данных.
В результате всех действий запрос в режиме Конструкторапримет вид, представленный на рис. 17
Рис. 17. Создание запроса в режиме Конструктора
Проверить запрос можно с помощью кнопки, на которой изображен восклицательный знак, на панели инструментов. Запрос переходит в режим таблицы, и, если он не выполняется, следует доработать его, вернувшись в режим Конструктора.
После проверки запроса окно построителя закрывается. При этом появится сообщение о сохранении запроса. Если содержащиеся в нем данные будут использованы в дальнейшем, запрос надо сохранить, присвоив ему индивидуальное имя. В основном окне базы данных в объекте Запросы появится новый запрос.
Открытие запроса производится двойным щелчком мыши по названию. Запрос открывается в режиме таблицы.
Дата добавления: 2016-03-15; просмотров: 4515;