Формирование запросов в базах данных access

Формирование запросов в базах данных access

Запросы в Access

Запросы в Access являются основным инструментом выборки, обновления и обработки данных в таблицах базы данных. Access в соответствии с концепцией реляционных баз данных для выполнения запросов использует язык структурированных запросов SQL (Structured Query Language). С помощью инструкций языка SQL реализуется любой запрос в Access.

Основным видом запроса является запрос на выборку. Результатом выполнения этого запроса является новая таблица, которая существует до закрытия запроса. Записи формируются путем объединения записей таблиц, на которых построен запрос. Способ объединения записей таблиц указывается при определении их связи в схеме данных или при создании запроса. Условия отбора, сформулированные в запросе, позволяют фильтровать записи, составляющие результат объединения таблиц.

В Access может быть создано несколько видов запроса:

  • запрос на выборку — выбирает данные из одной таблицы или запроса или нескольких взаимосвязанных таблиц и других запросов. Результатом является таблица, которая существует до закрытия запроса. Формирование записей таблицы результата производится в соответствии с заданными условиями отбора и при использовании нескольких таблиц путем объединения их записей;
  • запрос на создание таблицы — выбирает данные из взаимосвязанных таблиц и других запросов, но, в отличие от запроса на выборку, результат сохраняет в новой постоянной таблице;
  • запросы на обновление, добавление, удаление — являются запросами действия, в результате выполнения которых изменяются данные в таблицах.

Запросы в Access в режиме конструктора содержат схему данных, отображающую используемые таблицы, и бланк запроса, в котором конструируется структура таблицы запроса и условия выборки записей (рис. 4.1).

С помощью запроса можно выполнить следующие виды обработки данных:

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

Запросы в Access служат источниками записей для других запросов, форм, отчетов. С помощью запроса можно собрать полные сведения для формирования некоторого документа предметной области из нескольких таблиц, далее использовать его для создания формы — электронного представления этого документа. Если форма или отчет создаются мастером на основе нескольких взаимосвязанных таблиц, то для них в качестве источника записей автоматически формируется запрос.
Для закрепления смотрим видеоурок:

Одним из семи стандартных объектов Microsoft Access является запрос. Запросы используются для просмотра, анализа и изменения данных в одной или нескольких таблицах. Например, можно использовать запрос для отображения данных из одной или нескольких таблиц и отсортировать их в определенном порядке, выполнить вычисления над группой записей, осуществить выборку из таблицы по определенным условиям. Запросы могут служить источником данных для форм и отчетов Microsoft Access. Сам запрос не содержит данных, но позволяет выбирать данные из таблиц и выполнять над ними ряд операций. В Microsoft Access существует несколько видов запросов:

запросы к серверу, которые используются для выборки данных с сервера;

запросы на автоподстановку, автоматически заполняющие поля для новой записи;

запросы на выборку, выполняющие выборку данных из таблиц;

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

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

другие типы запросов.

Запросы и фильтры

Запрос на выборку содержит условия отбора данных и возвращает выборку, соответствующую указанным условиям, без изменения возвращаемых данных. В Microsoft Access существует также понятие фильтра, который в свою очередь является набором условий, позволяющих отбирать подмножество записей или сортировать их. Сходство между запросами на выборку и фильтрами заключается в том, что и в тех и в других производится извлечение подмножества записей из базовой таблицы или запроса. Однако между ними существуют различия, которые нужно понимать, чтобы правильно сделать выбор, в каком случае использовать запрос, а в каком — фильтр.

Основные отличия запросов и фильтров заключаются в следующем.

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

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

Фильтры не могут быть сохранены как отдельный объект в окне базы данных (они сохраняются только в виде запроса).

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

Запросы могут использоваться только с закрытой таблицей или запросом. Фильтры обычно применяются при работе в режиме Формы или в режиме Таблицы для просмотра или изменения подмножества записей. Запрос можно использовать:

для просмотра подмножества записей таблицы без предварительного открытия этой таблицы или формы;

для того чтобы объединить в виде одной таблицы на экране данные из нескольких таблиц;

для просмотра отдельных полей таблицы;

для выполнения вычислений над значениями полей.

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

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

Читайте также:  Где стерка в ворде 2010

Существует два варианта построения: в режиме Мастера и в режиме Конструктора.

Создание запроса в режиме Мастера.

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

в основном окне базы данных необходимо выбрать объект Запросы, затем на панели инструментов основного окна нажать кнопку Создать и в открывшемся диалоговом окне Новый запрос (рис. 12) выбрать строку Простой запрос:

Рис. 12. Окно Новый запрос

мастер запросов можно вызвать сразу, если в объекте Запросы щелкнуть по надписи Мастер запросов.

В обоих случаях будет открыто диалоговое окно Создание простых запросов для выбора полей (рис. 13)

Рис. 13. Окно Создание простых запросов. Шаг первый

В окне списка Таблицы и запросы надо выбрать таблицу, из которой будут отбираться данные, после чего в окне Доступные поля автоматически появится список полей выбранной таблицы. Нужные поля отбираются в окно Выбранные поля с помощью стрелок, расположенных между окнами (одинарная стрелка переносит одно выделенное поле в одну или другую сторону, двойная — переносит все). Кнопка Далее позволит перейти на следующий шаг работы мастера (рис. 15).

Кнопка Далее откроет окно второго шага (рис. 15).

Рис. 15. Окно Создание простых запросов. Шаг третий

В последнем окне необходимо задать имя запроса. Кнопка Готово выведет на экран запрос в режиме таблицы (рис. 16)

Рис. 16. Новая таблица, созданная мастером запросов

Создание запроса в режиме Конструктора (основной режим построения)

Режим Конструктора в запросах является основным. Даже запрос, выполненный в режиме Мастера, может потребовать доработки: выполнить вычисления, сгруппировать данные или произвести еще какие-либо действия. Выполнение всех дополнительных условий производится в режиме Конструктора — здесь можно сделать практически все.

Так же как и в мастере запросов, открытие запроса в режиме Конструктора происходит двумя способами:

в основном окне базы данных необходимо выбрать объект Запросы, на панели инструментов основного окна нажать кнопку Создать и в окне Новый запрос выбрать строку Конструктор. Кнопка ОК в этом случае откроет два окна: Запрос 1: запрос на выборку и Добавление таблицы;

тот же результат даст двойной щелчок по надписи Создание запроса в режиме конструктора в окне объекта Запросы.

В Окне Добавление таблицы необходимо выбрать требуемую таблицу и нажать кнопку Добавить. Выбраннаятаблица появится в зоне отбора таблиц окна Запрос на выборку в верхнем (сером) поле. После вывода необходимых таблиц или запросов окно Добавление таблицы надо закрыть.

К выбору таблиц нужно отнестись внимательно, так как вместо данных в них могут находиться коды. Лучше всего ориентироваться на таблицы, в которые информация вносится впервые. Например, нужно знать название товара и его количество. Эти данные находятся в таблице Поставка товара, однако название товара здесь представлено в виде кода, поэтому для отбора данных потребуется две таблицы: Товар и Поставка товара.

Теперь из таблиц нужно выбрать необходимые поля. Это можно сделать тремя способами:

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

в нижней части окна построителя запроса в строке Имя таблицы выбрать из списка нужную таблицу, после чего в строке Поле появится список полей данной таблицы, из которого выбирается нужное поле;

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

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

В результате всех действий запрос в режиме Конструктора примет вид, представленный на рис. 17

Рис. 17. Создание запроса в режиме Конструктора

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

После проверки запроса окно построителя закрывается. При этом появится сообщение о сохранении запроса. Если содержащиеся в нем данные будут использованы в дальнейшем, запрос надо сохранить, присвоив ему индивидуальное имя. В основном окне базы данных в объекте Запросы появится новый запрос.

Открытие запроса производится двойным щелчком мыши по названию. Запрос открывается в режиме таблицы.

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

Запросы с параметрами работают по двум вариантам:

Читайте также:  Вибрация жесткого диска передается на корпус

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

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

Диалоговое окно для запроса

Диалоговые окна нужны не только для справки. Они выводят на экран только запрашиваемые данные и скрывают всю остальную информацию. Такой порядок позволяет разделить работу по нескольким направлениям и скрыть коммерческий характер информации.

Любой запрос начинается с создания простого запроса, а так как предстоит дополнительная работа, то создавать его лучше в режиме Конструктора.

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

После слова «введите» указывается название поля (рис. 18).

Рис. 18. Создание запроса с параметром

При проверке или запуске запроса открывается диалоговое окно Введите значение параметра (рис. 19), в котором пользователю предлагают ввести параметры. Какой параметр внести, указано на сером фоне окна, а в текстовом окне мигает курсор, дожидаясь ввода данных с клавиатуры.

Рис. 19. Диалоговое окно Введите значение параметра

После ввода параметра в диалоговом окне Введите значение параметра нажмите ОК, и на экране появится таблица с выбранными параметрами (рис. 20).

Рис. 20. Результат действия запроса с параметром

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

Отбор данных в таблице запроса

Запросы с отбором данных считаются рабочими. Все начинается с простого запроса. В режиме Конструктора в строке Условие отбора в столбце, где необходимо произвести отбор, указываются критерии отбора. В этом случае они записываются в кавычках с указанием данных из записи или с помощью математических знаков (например, "тетради", Групповые операции. В нижней части окна построения запроса появится новая строка Групповые операции, а в зоне каждого поля автоматически будет установлено значение Группировка.

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

Рис. 21. Создание итогового запроса

Функции в раскрывающемся списке имеют краткое обозначение (табл. 11).

Возможности, типы и способы создания запросов

Запрос – это важнейший инструмент для извлечения информации из одной или нескольких таблиц БД. Посредством запроса можно вносить изменения в саму БД. Запрос может служить источником данных для форм, отчетов и страниц доступа к данным. Его результатом является новая таблица, которая может быть просмотрена, проанализирована, а затем сохранена или не сохранена.

Запросы позволяют решать многие задачи, не прибегая к программированию. Например, представлять данные в агрегированном виде, производить вычисления над полями БД, группировать записи и находить для полей итоговые значения с помощью статистических функций: Sum, Avg (соответственно сумма, среднее значений поля); Max, Min (соответственно максимальное, минимальное значение поля); Count (число значений поля) и др.

СУБД Access позволяет создавать запросы трех типов: запросы выбора, перекрестные запросы, запросы действия.

Запрос выбора является наиболее часто используемым типом запроса. Он дает возможность: выбирать записи, удовлетворяющие условиям отбора; включать в результирующую таблицу поля из одной или нескольких таблиц в нужном порядке; осуществлять вычисления над полями БД; выполнять статистические расчеты для групп записей. Разновидностью запроса выбора является запрос с параметрами — это запрос, при выполнении отображающий в собственном диалоговом окне приглашение ввести интересующее пользователя значение критерия отбора записей.

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

Запрос действия – это запрос, который вносит изменения в саму БД. Существует четыре типа запросов действия:

1) запрос на удаление — удаляет группу записей из одной таблицы или нескольких взаимосвязанных таблиц БД, для которых задано каскадное удаление связанных записей;

2) запрос на обновление — служит для изменения информации в полях таблицы БД;

3) запрос на добавление — производит добавление записей из таблицы с результатами запроса в таблицу БД;

4) запрос на создание таблицы — создает новую таблицу на основе всех или части данных из одной или нескольких таблиц БД. Этот запрос полезен в случае: создания таблицы для экспорта в другую БД Access; создания страниц доступа к данным, отображающих данные соответственно указанному моменту времени; создания резервной копии таблицы; создания архивной таблицы, содержащей старые записи.

СУБД Access позволяет создавать запросы с помощью Мастеров и с помощью Конструктора. Мастера используются для создания следующих запросов:

ü простого запроса на выборку полей из источника запроса и подведение итогов;

ü перекрестного запроса;

ü запроса на поиск повторяющихся записей в таблице;

Читайте также:  Обновление mozilla firefox до последней версии

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

С помощью Конструктора можно создать любой запрос выбора, перекрестный запрос, запрос действия.

Создание запроса выбора

Для создания запроса выбора с помощью Конструктора необходимо открыть окно Конструктора запроса, выполнив действия:

Окно БД  объект Запросы  [Создать] 

окно Новый запрос  выбрать Конструктор

окно Добавление таблицы  выбрать таблицы-источники запроса

Окно Конструктора запроса имеет вид как на рис. 1.

Рис. 1. Окно Конструктора запроса

Оно разделено на две панели.

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

Нижняя панель есть бланк запроса по образцу (QBE-запроса). Он представлен в виде таблицы, предназначенной для определения структуры результирующей таблицы запроса и задания условий отбора данных из таблиц. Каждый столбец бланка относится к одному полю таблицы. Строки бланка имеют следующее назначение:

ü Поле – указывает имена полей, участвующих в формировании запроса;

ü Имя таблицы — указывает имена таблиц, которым принадлежат эти поля;

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

ü Вывод на экран – позволяет управлять отображением полей в этой таблице;

ü Условие отбора – служит для задания условий отбора записей;

ü или – позволяет объединять условия отбора логической операцией ИЛИ. При этом условия отбора могут указываться в нескольких строках бланка запроса.

Включение отдельных полей в бланк запроса можно выполнить одним из следующих способов:

ü перетащить поле из списка полей в крайнюю слева свободную клетку строки Поле;

ü дважды щелкнуть по имени поля в списке полей;

ü щелкнуть в клетке строки Поле и из раскрывающегося списка выбрать нужное поле.

Включение в бланк запроса всех полей таблицы можно выполнить, если:

ü дважды щелкнуть по имени таблицы и перетащить все выделенные поля в клетку строки Поле;

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

Для очистки отдельных столбцов бланка запроса используется команда

Правка / Удалить столбцы

Для очистки всего бланка запроса служит команда

Правка / Очистить бланк

Формирование запроса на вывод полей из одной или нескольких таблиц

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

Формирование запроса с применением сортировки

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

Формирование запроса с условиями отбора

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

Если выражения вводятся в несколько клеток одной строки Условие отбора, то они автоматически объединяются с помощью логического оператора And. Если выражения вводятся в разные строки бланка запроса, то Access объединяет их логическим оператором Or.

В условии отбора может быть использована конструкция Between (между). Например, Between 100 and 200.

Формирование запроса с вычисляемым полем

Для создания вычисляемого поля в пустую клетку строки Поле вводится имя вычисляемого поля с двоеточием, после которого – выражение. Например,

Если выражение сложное, то для его создания целесообразно использовать построитель выражений.

Формирование запроса с группировкой

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

Для создания запроса с группировкой выполняется следующее:

ü перетаскивается в первую клетку строки Поле то поле, по которому производится группировка записей. Затем перетаскиваются в последующие клетки поля, по которым подводятся итоги;

ü вводится команда Вид / Групповые операции.В бланке запроса появляется новая строка Групповая операция, в которой для всех полей указано Группировка;

ü в строке Групповая операция для полей, по которым подводятся итоги, производятся щелчки и из раскрывающегося списка выбирается требуемая статистическая функция.

Формирование запроса с параметрами

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

Последнее изменение этой страницы: 2017-01-27; Нарушение авторского права страницы

Ссылка на основную публикацию
Фильм про девушку запертую в квартире
От нехватки ли бюджета, по сюжетному ли велению или просто из желания выпендриться, режиссеры время от времени помещают киноперсонажей в...
Установка строго с биоса
БИОС – основа, на которой работает вся система компьютера. Именно с его помощью осуществляется выполнение ввода или вывода информации, а...
Установка тахометра на дизель
И так…тахометр для дизеля …мечта многих владельцев старых тарахтелок в большинстве которых тахометра просто не было с завода…В старых дизельных...
Фильмы для ipod classic
Хорошо, когда есть возможность удобно устроиться перед широким экраном огромного телевизора, а что делать, когда находишься в дороге и доступа...
Adblock detector