Как создать запрос к базе данных Microsoft Access. Запросы выборки данных в Access: Создание запроса с параметром, создание перекрестного запроса Access конструктор запросов условие отбора

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

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

  • На выборку (позволяют получать данные и выполнять операции над ними);
  • На изменение (позволяют добавлять, удалять и изменять значения).

Теперь перейдём непосредственно к практике. Зайдите на вкладку «Создание» и нажмите кнопку «Конструктор запросов». В открывшемся окне выберите одну или несколько таблиц , из которых необходимо выбрать данные. Нажав кнопку «Выполнить», вы получите всю информацию из выбранных вами таблиц. Для более конкретного отбора перейдите на вкладку «Конструктор» и введите нужное слово или число в поле «Условие отбора:». Например, вы хотите получить список всех сотрудников 1980 года рождения. Для этого пропишите в строке «Условие отбора:» 1980 в колонке «Дата рождения» и нажмите кнопку «Выполнить». Программа моментально выдаст вам результат. Для удобства вы можете сохранить созданный запрос, чтобы пользоваться им в дальнейшем. Воспользуйтесь комбинацией клавиш Ctrl+S и введите название в соответствующем поле, а после нажмите «ОК».

Указав условие для отбора данных, мы получаем нужную выборку

Чтобы посчитать значения в столбце, вы можете использовать так называемые групповые операции. Для этого на вкладке «Конструктор» кликните по кнопке «Итоги». В появившейся строке «Группировка» выберите функцию «Count», позволяющую сложить все ненулевые значения. Чтобы в названии колонки не выводилось слово «Count», в строке «Поле» введите название перед тем, что было указано ранее. Сохранение выполняется точно также при помощи комбинации Ctrl+S.

Аксесс считает непустые ячейки

Теперь создадим параметрический запрос. Он позволяет делать выборку по введённому параметру. Например, по заданной дате. Открыв нужную базу данных , пропишите (без кавычек) в соответствующем столбце «[Укажите дату]». Квадратные скобки обязательны. В появившемся окне введите нужную дату. После этого программа автоматически произведёт выборку по введённой вами дате. Вы можете поставить знаки «>» (больше) и «<» (меньше) чтобы отобразить элементы раньше либо позже заданной даты. Например, список сотрудников, которые сдали отчёты до 01.07.

Как создать перекрёстное обращение? Достаточно найти на панели инструментов кнопку «Перекрёстный» и кликнуть по ней. После этого в пункте «Перекрёстная таблица» выберите в первой ячейке «Заголовки строк», во второй «Заголовки столбцов», а в третьей «Значение». Затем вы можете посчитать значения, использовав уже упомянутую выше функцию «Count». Обратите внимание, что если вы укажете во второй ячейке «Заголовки строк», так же, как в первой, вместо «Заголовки столбцов », то ничего работать не будет. Обязательно учитывайте это.

Делаем перекрестный запрос в базе

Также вы можете сделать обращение на создание таблицы. Как это делается? Достаточно открыть базы данных, с которыми вы работаете, затем заполнить ячейку «Условие отбора» и кликнуть по кнопке «Создание таблицы». Не забывайте нажимать «Выполнить». На основе заданных вами параметров Microsoft Access построит новую таблицу. Например, список всех сотрудников с их контактными данными по профессии «Бухгалтер».

При сохранении нужно указать имя и место размещения новой таблицы

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

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

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

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

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

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

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

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

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

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

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

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

Запрос с параметрами - это запрос, при выполнении которого в его диалоговом окне пользователю выдается приглашение ввести данные, на основе которых будет выполняться запрос. Например, часто требуются данные о том, какие дисциплины ведут преподаватели. Чтобы не создавать отдельные запросы по каждому преподавателю, можно создать один запрос с параметрами, где в качестве параметра будет использоваться фамилия преподавателя. При каждом вызове этого запроса вам будет предложено ввести фамилию преподавателя, а затем на экран будут выведены все поля, которые вы указали в запросе, например фамилия, имя, отчество преподавателя и читаемая им дисциплина.

Для создания нового запроса надо в окне базы данных выбрать вкладку Запросы и щелкнуть по кнопке <Создать>. Откроется окно «Новый запрос».

В окне вы должны выбрать один из пяти пунктов:

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

    Простой запрос.

    Перекрестный запрос,

    Повторяющиеся записи.

    Записи без подчиненных.

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

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

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

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

У вас может возникнуть вопрос: как создавать запросы с параметрами и запросы на изменение, если при создании запроса они явно не указаны? Следует отметить, что основой для всех этих запросов является запрос на выборку, т.е. сначала необходимо определить набор данных, с которым хотите работать. Затем для созданного запроса на выборку надо перейти в режим конструктора. Задание параметров производится в строке Условия отбора для соответствующих полей. Подробнее это будет рассмотрено ниже при выполнении задания. Для доступа к запросам на изменение надо открыть пункт меню Запрос - в открыв­шемся списке вы увидите все виды запросов на изменение.

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

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

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

    на физическом носителе информации (обычно это жесткий диск) требуется меньший объем пространства;

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

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

Для сохранения запроса следует выполнить следующие действия. Выполните коман­ду Файл, Сохранить или щелкните по кнопке <Сохранить> на панели инструментов. Если вы впервые сохраняете запрос, введите новое имя запроса в диалоговом окне «Сохране­ние».

Запрос лучше всего создавать с помощью Конструктора (язык QBE). Для этого есть специальный значок в окне База данных . Он называется Создание запроса в режиме конструктора и открывает специальный окно в режиме языка QBE (см. рисунок 1). Окно состоит из двух частей. В верхней отображается структура таблиц, к которым запрос адресован, а нижняя область разбита на столбцы – по одному столбцу на каждое поле будущей результирующей таблицы.

Рис. 1 Окно создания запрос в режиме QBE

Памятка «Условия отбора»

Оператор

Описание

? Улица

Знак вопроса заменяет один символ

43 место*

Звездочка заменяет несколько символов, идущих после определенного слова

Значение меньше 100

Значение больше или равно 1

<>"Москва"

Все города кроме Москвы

Between 1 and 10

Значения между 1 и 10

Is Null Is Not Null

Находит пустые записи или находит все записи кроме пустых

Like "a*"

Все слова, начинающиеся с буквы а

>0 And <=10

Все значения большие 0 и меньшие 10

"Bob" Or "Jane"

Значения равные или Bob, или Jane

Microsoft Access 2007

2.4. Microsoft Access 2007

2.4.5. Создание запросов и поиск информации в базе данных

В СУБД Access 2007 можно создавать queries для отображения требуемых полей из записей одной или нескольких таблиц.

В СУБД Access 2007 применяются различные типы запросов : на выборку, на обновление, на добавление, на удаление, перекрестный query, выполнение вычислений, создание таблиц. Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).

Запросы на выборку используются для отбора требуемой пользователю информации, содержащейся в нескольких таблицах. Они создаются только для связанных таблиц. Queries могут основываться как на нескольких таблицах, так и существующих запросах. СУБД Access 2007 включает такие средства создания запросов, как Мастер и Конструктор.

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

На скриншоте (рисунок 1) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.


Рис. 1.

Рассмотрим создание запроса на выборку с помощью Конструктора

Для создания нового пустого запроса в режиме конструктора надо щелкнуть на пиктограмме Конструктор запросов (рисунок 2).


Рис. 2.

Откроется активное окно диалога Добавление таблицы (рисунок 3) на фоне неактивного окна «Запрос1». В этом окне можно выбрать таблицы и queries для создания новых запросов.


Рис. 3.

В окне Добавление таблицы следует выбрать несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, а окно «Запрос1» станет активным (рисунок 4).



Рис. 4.

Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список связанных таблиц. В нижней части окна находится Бланк построения запроса QBE, в котором каждая строка выполняет определенную функцию.

Переместим имена полей с таблиц-источников в Бланк. Из таблицы Группы студентов переместим поле Название в первое поле Бланка, из таблицы Студенты переместим поле Фамилии во второе поле, а из таблицы Успеваемость переместим поле Оценка в третье поле и из таблицы Дисциплины переместим поле Название в четвертое поле Бланка запросов.

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

Условия ограниченного поиска или критерий поиска информации вводится в строке "Условия" отбора и строке "Или". Например, введем критерий поиска - "5/A" в строке "Условия" для поля Оценка. В этом случае в результате выполнения запроса на экране будут отображаться все фамилии студентов, которые получили оценку 5/A (рисунок. 5).



Рис. 5.

Далее надо закрыть окно запроса Запрос1, появится окно диалога Сохранить, ответить - Да и ввести имя запроса, например "Успеваемость студентов". Для запуска запроса дважды щелкнем на query "Успеваемость студентов", откроется таблица с результатами выполненного запроса (рис. 6).



Рис. 6.

Далее создаем параметрический query или query с параметрами. Создаем этот query также как и предыдущий, в режиме конструктора, но только в строке Условия отбора для поля Фамилия введем условие отбора в виде приглашения в квадратных скобках, например [Введите фамилию]. В этом случае в результате выполнения запроса на экране будет отображаться фамилия студента и все дисциплины, по которым он получил оценку.

Закрыть окно запроса на выборку. На вопрос о сохранении изменения ответить - Да и ввести имя запроса, например "Параметрический query". Запустим Параметрический query, дважды щелкнув на нем. В открывшемся на экране окне диалога «Введите значение параметра» надо ввести фамилию студента, информацию об успеваемости которого необходимо получить (рис. 8).



Рис. 7.

Затем надо щелкнуть на кнопке ОК, откроется таблица с результатами выполненного запроса (рис. 8).



Рис. 8.

В некоторых случаях для создания запросов можно использовать Мастер запросов. После создания запросов на выборку информации из БД Access 2007 можно приступать к формированию форм.

Создание запросов к базе данных, это все равно, что отправка приказа на другом языке.

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

Язык запросов и условия отбора.

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

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

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

> больше

< меньше

>= больше или равно

<= меньше или равно

<> неравно

Так же нужны логические функции:

AND – (И) если нужно, чтобы выполнялись сразу несколько условий

OR – (ИЛИ) если нужно чтобы выполнялось хоть одно условие

NOT – (НЕ) если нужно отобрать записи, исключив подходящие по критерию

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

Like 12.12.2016 - будут отобраны строчки таблицы в которых дата будет 12.12.2016.

<> 12.12.2016 - будут отобраны строчки таблицы в которых дата будет 11.12.2016 и раньше, 13.12.2016 и позже.

> 12.12.2016 - будет отобраны строки в которых дата начинается с 13.12.2016.

Если нам нужно усложнить отбор, то можно использовать логические функции И, ИЛИ и НЕ.

К примеру, если мы хотим выбрать дату поступления товара с 10.10.2015 до 12.12.2016, то если мы запишем >=10.10.2015, то будут отобраны даты и позже 12.12.2016, поэтому используем логическую функцию И.

>=10.10.2015 AND <= 12.12.2016

Как создавать запрос с помощью конструктора

1. Нажимаем на вкладку «Создать», а затем на кнопку «Конструктор запросов».

(Рисунок 1)

2. В окне «Добавление таблицы» выбираем таблицу и нажимаем «Добавить», а затем «Закрыть».

(Рисунок 2)

3. Выбираем имя таблицы или таблиц.

(Рисунок 3)

4. Выбираем имена столбцов, которые нам нужно получить в отчете о запросе.

(Рисунок 4)

5. Пишем условие выбора к полям (столбцам) таблицы, указывая критерий по которому будет производиться отбор.

(Рисунок 5)

6. Нажимаем серый крестик, чтобы закрыть конструктор запросов, если нужно записываем название запроса, нажимаем «ок»

(Рисунок 6)

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

(Рисунок 7)

Пример запроса.

Поиск товаров поступивших 12.09.2015 или в диапазоне дат между 01.01.2016 и 12.12.2016.

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

(Рисунок 8)

Если запрос не работает

1. Запрос введен правильно, но не работает, то либо таких данных нет, либо тип данных в данном столбце – текстовый.

2. Команды в запросе введены слитно, без пробелов.

3. Если очень много текста, а критерий точно задать нельзя, то можно использовать * (звездочку), которая означает любое количество символов. Так можно в тексте найти человека по фамилии *Иванов*. Так как поиск осуществляется по кодам символов, то текст должен полностью соответствовать. По запросу Like *Иванов* в итоговую таблицу попадут все Ивановичи, Ивановы, Поливановы, так как мы задали маску по которой будут отбираться записи (строчки таблицы) и легко видеть, что в фамилии Иванович есть некоторое количество символов после Иванов, а в фамилии Поливанов, есть некоторое количество символов до Иванов. Так же следует обратить внимание на кавычки, так как звездочки должны стоять до и после кавычек обозначающих, что внутри них текст - Like *”Иванов”*

4. Выбор типа запроса осуществляется на ленте конструктора - запрос на удаление, добавление, создание таблицы.

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


Поделитесь работой в социальных сетях

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


Тема:

СУБД MS Access. Создание запросов.

Запросы используются для сортировки, фильтрации, добавления, удаления или изменения информации в базах данных. С помощью запросов выбираются определенные записи, предназначенные для форм и отчетов, которые работают не со всеми имеющимися данными, а лишь с частью. В спроектированных нами таблицах Клиенты , Продукты и Поставки содержится вся информация, необходимая для учета поставок. Запрос же позволяет отобрать и сгруппировать данные так, чтобы узнать, например, общую стоимость нефтепродуктов, поставленных на бензоколонку Гранд-5 за март 2002 года или список клиентов, которым отправлялось дизельное топливо 2 февраля 2003 года.

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

Существуют следующие типы запросов:

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

Общие положения.

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

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

При создании макета запроса (т.е. производной таблицы) в общем случае необходимо выполнение четырех базовых операций:

  1. указать, какие поля и из каких таблиц надо включить в запрос;
  2. описать вычисляемые поля, т.е. поля, значения которых являются функциями значений существующих полей (например, стоимость=цена*количество)
  3. описать групповые операции над записями исходных таблиц (например, нужно ли объединить группу записей с одним и тем же кодом клиента в одну и просуммировать стоимость заказанной им продукции)%
  4. указать условие отбора , т.е. сформулировать логическое выражение, которое позволит включить в выборку только записи, удовлетворяющие какому-либо условию (например, с датой поставки от 1 до 31 марта 2002 года).

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

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

Мастер создания простых запросов.

Как и любой объект Access, можно создать запрос вручную или с помощью Мастера создания запросов (рекомендуется для начинающих пользователей). Процесс создания нового запроса аналогичен созданию таблицы, т.е. надо просто выбрать объект базы данных Запросы – Создать и далее в диалоговом окне Новый запрос выбрать режим создания запроса (рис 4.1).

Разберем создание простого запроса на выборку данных из таблицы Клиенты .

Рис. 4.1. Выбор режима создания нового запроса.

Рис. 4.2. Выбор полей, включаемых в запрос.

Определив способ создания запроса, выбираем поля, которые включаются в запрос (рис.4.2) из таблицы Клиенты - поля КодКлиента, Клиент, Телефон

На последней странице мастера запросу присваивается имя Телефоны (рис 4.3).

Рис. 4.3. Наименование запроса.

Результат выполнения запроса представлен на рис 4.4.

В готовом запросе мастер выводит поля в том порядке, в котором они представлены в списке выбранных полей.

Рис. 4.4. Простой запрос возвращает из таблицы Клиенты только указанные в запросе поля.

Нахождение итоговых значений.

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

Создадим новый простой запрос из таблицы Поставки для подсчета суммарного объема каждой марки нефтепродуктов за весь период. Для этого из таблицы поставки выберем поля КодПродукта и Объем (рис. 4.5)

Рис. 4.5. Выбор полей, включаемых в запрос.

На следующем шаге выберем параметр Итоговый и, нажав кнопку Итоги … (рис 4.6), в диалоговом окне Итоги (рис 4.7) установим флажок Sum в Поставки.

Рис. 4.6. Выбор отчета с отображением Итогов.

Рис. 4.7. Выбор итоговой функции для поля Объем..

Результат выполнения запроса представлен на рис. 4.8.

Рис. 4.8. Запрос, созданный мастером, возвращает общий объем каждой марки нефтепродуктов.

На рис. 4.4 и 4.8 представлен просмотр результата запросов в режиме Таблица . Среда запросов позволяет просматривать (создавать) запросы еще в режиме Конструктор с бланком запроса и в режиме SQL .

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

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

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

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

Вид запроса в SQL -режиме.

SQL -режим.

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

На рис 4.10 представлен эквивалент запроса Телефоны в форме SQL (такое представление запроса можно установить, выбрав для открытой таблицы запроса в меню Вид режим SQL ). Сравнение SQL -выражения и режима конструктора запроса является хорошим способом познакомиться с логикой построения запроса.

Реально в Access для построения запросов используется механизм QBE (Query By Example – Запрос по образцу) – метод создания запросов, изобретенный IBM еще в 70-е годы.

Тем не менее, полезно знать некоторые элементы языка SQL, так как с его помощью можно создавать запросы, которые невозможно создать с помощью бланка запроса.

Простые ключевые слова языка SQL .

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

Ключевые слова SQL обычно представлены строчными буквами. (У операторов строчной является только первая буква). Самыми распространенными ключевыми словами являются:

  • AS . Задает оператор, указывающий выражение или значение, а также имя поля, с которым оно связано (иногда называют псевдонимом);
  • DISTINCTROW . Предотвращает дублирование записей из запроса;
  • FROM . Задает оператор, указывающий таблицу или запрос, из которых извлекаются поля;
  • GROUP BY . Указывает поле, которое используется для группировки записей в итоговой и перекрестной таблице;
  • ORDER BY . Указывает поле, которое определяет порядок хранения записей.
  • SELECT . Задает оператор, содержащий список полей, включаемых в запрос;
  • UNION . Объединяет два набора записей в один;
  • WHERE . Задает оператор с условием (или набором условий) для фильтрации записей запроса.

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

В конструкторе можно создать запрос вручную. Для создания нового запроса надо выбрать объект базы данных Запросы – Создать и далее в диалоговом окне Новый запрос выбрать режим создания запроса Конструктор (рис 4.1).

Добавление таблиц в запрос.

Открыв окно запроса, можно приступать к разработке нового запроса. Разберем создание запроса на список всех поставок из базы Поставки с полным названием продукта и клиента. Необходимо начать с добавления таблиц, из которых выбираются данные (рис. 4.11).

Рис. 4.11. Диалоговое окно Добавление таблицы.

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

В процессе создания запроса всегда можно добавить еще таблицы, открыв окно добавления таблиц снова (меню Запрос – Добавить таблицу…).

После закрытия диалогового окна Добавление таблицы, открывается окно конструктора. На рис. 4.12 показано такое окно с добавленными таблицами Клиенты, поставки и Продукты, с отображением установленных ранее связей.

Примечание . Если таблицы в запросе не объединены, то Access создаст полное объединение, содержащие все возможные комбинации, т.е. объединит все записи всех таблиц. Например, для двух несвязанных таблиц из 10 и 20 записей, запрос БУДЕТ содержать 200 записей.

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

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

Добавление полей в запрос.

Для создания запроса нам потребуются следующие поля:

  • Из таблицы Поставки – КодПоставки, Дата, Объем
  • Из таблицы Продукты – Продукты
  • Из таблицы Клиенты – Клиент.

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

Рис. 4.12. Пример добавления полей в бланк запроса.

Добавление вычисляемых полей.

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

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

Добавим вычисляемое поле в запрос Поставки. Для вычисления стоимости заказа в поле последнего столбца введем (см. рис. 4.13):

Стоимость_заказа: [Цена]*[Объем]

Рис. 4.13. Пример добавления вычисляемого поля в бланк запроса.

Определение порядка сортировки.

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

Для задания порядка сортировки в строке Сортировка бланка запроса открывается список и выбирается По возрастанию или По убыванию (рис 4.14). Данные сортируются в соответствии со стандартными правилами.

Рис. 4.14. Задание порядка сортировки.

На рис. 4.15 приведен выполненный запрос с сортировкой поля Дата по возрастанию

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

Выполнение запроса.

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

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

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

Сохранение и печать запросов.

Запросы можно сохранять и печатать так же, как и другие объекты Access. Если запрос сохраняется впервые, появляется диалоговое окно для задания имени запроса.

Задание условий.

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

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

Чтобы ввести условия, щелкните в любом месте строки Условие отбора нужного поля и введите выражение (допускается ввод длинных выражений). Чтобы просмотреть все выражение, нажмите Shift + F 2 для открытия окна Область ввода.

Операторы, используемые в выражениях.

Операция

Значение

Арифметические операторы

Сложение

Умножение

Деление

Возведение в степень

Сравнения операторы

Равно

Меньше

Больше

Меньше или равно (не больше)

Больше ли равно (не меньше)

Не равно

Логические операторы

Любое из условий

Все условия

Between

В диапазоне (между двумя крайними значениями, включая их)

Использование текстовых условий.

Допустим, надо модифицировать запрос Поставки так, чтобы отображались данные только для клиента Гранд 7. Тогда в поле условие надо ввести текст - Гранд 7.

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

  • Гранд 7
  • "Гранд 7"
  • =Гранд 7
  • ="Гранд 7"

В приведенном примере оператор это знак = , а о перанд это текстовое значения "Гранд 7" (кавычки можно опустить).

Вместе с текстовыми условиями можно использовать оператор Like и символ * , который заменяет произвольную последовательность символов. Например, для отбора поставок нефтепродуктов марки Бензин автомобильный Аи 95 (96) можно записать в строке условий: Like *Аи-95* . Впрочем, оператор Like для текстовых условий тоже можно опустить.

Использование числовых условий.

Для полей, содержащих числовые или денежные значения, в выражениях можно использовать математические операции. Такие выражения, как =20.00 и between 5 and 12 , являются типичными числовыми условиями.

Например, для вывода на экран заказа с определенным номером, в запросе Поставки можно для поля КодПоставки задать условие: =10.

Использование условий для дат.

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

  • 02/02/02
  • # 02/02/02 #
  • 2- Фев-02
  • 02.02.02

В условиях дат можно использовать функцию Date () для отбора записей, содержащих текущую дату или попадающих в определенный временной интервал относительно текущей даты. Например , between date()-30 and date().

Использование условий с логическими операциями.

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

  • с помощью ячеек Условие отбора каждого поля (рис. 4.16))
    • вводом всех условий в одну ячейку Условие отбора , воспользовавшись оператором And .

Рис. 4.16. Запрос Поставки: выбор заказов с датой = 02.03.02 и маркой бензина Аи-95.

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

Группирование и вычисление итоговых значений.

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

Вычисление итоговых значений для сгруппированных записей.

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

  1. Создать новый запрос Продажи на основе таблиц Поставки и Продукты
  2. Добавить в бланк запроса поле Продукт из таблицы Продукты
  3. Создать вычисляемое поле: Сумма Продаж: Цена*Объем
  4. Добавить строку Групповые операции (Вид – Групповые операции)
  5. В ячейке Групповые операции столбца СуммаПродаж выберите вариант Sum

Вид такого запроса в режиме Конструктор представлен на рис. 4.18, а результат выполнения запроса – на рис. 4.19

Рис. 4.18. Запрос Продажи: групповые операции в столбцах Продукт и СуммаПродаж.

Рис. 4.19. Запрос Продажи сгруппировал записи по каждому типу нефтепродуктов и вычислил суммы продаж для этого типа.

В строке Групповые операции можно выбрать различные функции:

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

Список функций обобщения:

  • Sum . Суммирует значения в каждой группе
  • Avg . Возвращает среднее значение для каждой группы.
  • Min . Возвращает наименьшее значение группы
  • Max . Возвращает наибольшее значение группы
  • Count . Возвращает число пунктов (записей) в группе
  • StDev . Возвращает среднеквадратическое отклонение группы.
  • Var . Возвращает значение дисперсии группы
  • First . Возвращает первое значение группы
  • Last . Возвращает последнее значение группы.

Вычисление конечной суммы.

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

Вид такого запроса в режиме Коструктор представлен на рис. 4.20, а результат выполнения запроса – на рис. 4.21

  1. Работа со специализированными запросами.

К специализированным типам запросов относятся:

  • запросы на изменение
    • перекрестные запросы
    • запросы с параметрами

Запросы на изменение.

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

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

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

  • запросы на создание таблицы (создают новые таблицы, основанные на результатах запроса);
    • запросы на добавление (добавляют записи в существующие таблицы);
    • запросы на обновление (изменяют данные в существующих таблицах);
    • запросы на удаление (удаляют записи, выбранные в результате выполнения запроса).

По своей природе запросы на изменение разрушительны. Запросы на обновление способны внести необратимые изменения в данные таблицы, а запросы на удаление – удалить извлеченные данные (причем отменить выполненные операции нельзя). Прежде, чем выполнить запрос на изменение, просмотрите результат выполнения запроса в режиме таблицы и убедитесь, что вы удаляете то, что нужно.

Запросы на создание таблицы.

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

Например, создадим резервную копию данных о поставках за март 2002 года (используем базу Поставки).

Для этого:

  1. Создадим простой запрос на выборку всех записей и всех полей из таблицы Поставки, указав в строке Условие отбора для поля Дата : between 01.03.02 and 31.03.02.
  2. Зададим тип запроса – Создание таблицы (меню Запрос – Создание таблицы) и в открывшемся окне диалога (рис 4.22) присвоим имя таблице (Копия_март_02)
  3. Выполним запрос (меню Запрос - Запуск) и убедимся в появлении новой таблицы с заданным именем.

Рис. 4.22. Диалоговое окно Создание таблицы для запроса на создание таблиц.

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

Запросы на обновление.

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

Например, изменим цены (повысим на 5%) на все марки бензина (используем базу Поставки).

Для этого:

  1. Создадим простой запрос на выборку полей Продукт и Цена из таблицы Продукты;
  2. Зададим тип запроса – Обновление (меню Запрос – Обновление). В бланк запроса добавится строка Обновление (рис 4.23).
  3. Зададим условия отбора, указав в строке Условие отбора: для поля Продукт Like * Аи *
  4. Зададим обновление, указав в строке Обновление: для поля Цена =[Цена]*1,05
  5. Выполним запрос (меню Запрос - Запуск) и убедимся в изменении цены на указанные марки бензина.

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

Запросы на удаление.

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

Порядок создания запроса на удаление точно такой же, как и для запроса на обновление (только вместо строки Обновление в бланке запроса появляется строка Удаление).

Например, удалим данные о поставках за март 2002 года (используем базу Поставки).

Запросы на добавление.

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

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

Например, добавим данные о поставках за март 2002 года в таблицу Поставки (используем таблицу Копия_март_02).

Перекрестные запросы

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

На рис. 4.26 представлена созданная в мастере структура перекрестного запроса на основе запроса Поставки_Запрос (рис 4.15) и на рис. 4.27 – результат выполнения этого запроса.

Рис. 4.26. Диалоговое окно задания структуры перекрестного запроса.

Рис. 4.27.Результирующая перекрестная таблица.

Запросы с параметрами

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

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

Пример 1. Итоги поставок для определенного клиента (на основе запроса Поставки_Запрос - рис 4.15) – запрос на выборку.

Рис. 4.29. Задание параметра

Пример 2. Создание резервной копии данных о поставках за указанный месяц (используем базу Поставки) – запрос на изменение. В результате создается новая таблица с именем Копия_. После выполнения запроса ее обязательно надо переименовать (Копия_февраль), т.к. следующее выполнение этого запроса приведет к удалению таблицы Копия_.

Рис. 4.28. Задание параметра (ввод дат).

Другие похожие работы, которые могут вас заинтересовать.вшм>

9877. Создание пользовательских баз данных в СУБД Access 290.11 KB
Создание пользовательских баз данных в СУБД ccess посвящена созданию базы данных для учета и обработки информации по деловой документации предприятия частного бизнеса. Разработанная база данных будет использоваться в делопроизводстве предприятия. Использование данной базы данных позволяет сократить время требуемое на подготовку отчетов уменьшить непроизводительные затраты что дает для частного предприятия прямой экономический эффект...
9098. СУБД MS Access. Работа с данными таблицы. Создание форм 622.88 KB
Правка данных и печать формы. Формы. Процесс создания новой формы аналогичен созданию таблицы т. надо просто выбрать объект базы данных Формы – Создать и далее в диалоговом окне Новая форма выбрать режим создания формы.
9104. СУБД MS Access. Отчеты 398.91 KB
Как и любой объект ccess можно создать отчет вручную или с помощью Мастера отчетов рекомендуется для создания чернового варианта отчета. Процесс создания нового отчета аналогичен созданию любого объекта ccess т. надо просто выбрать объект базы данных Отчет – Создать и далее в диалоговом окне Новый отчет выбрать режим создания отчета. Режим Конструктор лучше использовать для модификации настройки отчета созданного вчерне с помощью Мастера или Автоотчета.
4445. Основные объекты СУБД MS Access 19.85 KB
Access – это система управления базами данных (СУБД). Под системой управления понимается комплекс программ, который позволяет не только хранить большие массивы данных в определенном формате, но и обрабатывать их, представляя в удобном для пользователей виде. Access дает возможность также автоматизировать часто выполняемые операции.
20690. СУБД Access база данных Музыкальная школа 448.49 KB
Существует несколько разновидностей систем управления базами данных СУБД одни ориентированы на программистов другие - на обычных пользователей. Она позволяет не прибегая к программированию с легкостью выполнять основные операции с БД: создание редактирование и обработка данных. Microsoft ccess служит удобным инструментом для ввода анализа и представления данных и обеспечивает высокую скорость разработки приложений.
7771. Бази даних (СУБД Microsoft Office Access 2011) 147.49 KB
Ліверпуль Ударні Запис БД – це рядок таблиці конкретна реалізація значення поняття предметної області. Поле БД – це стовпець у таблиці даних властивість атрибут даного поняття предметної області. Записи в таблиці відрізняються значеннями своїх полів. Наприклад для таблиці Склад музичної групи ключовим є поле Код.
13839. Проектирование базы данных нотариальной конторы с использованием технологий СУБД Access 13.53 MB
Нотариат – один из важнейших институтов правовой системы, призванный способствовать формированию демократического правового государства, в котором надежно защищены права и законные интересы граждан и юридических лиц путем осуществления нотариальных действий.
9099. СУБД MS Access. Назначение, функциональные возможности. Построение простых реляционных таблиц 343.83 KB
Итак на предыдущей лекции рассмотрены основные принципы фактографических ИС: структурирование данных и построение двумерных таблиц; основы реляционного подхода основы алгебры логики и принципы поиска информации. Создать новую базу данных файл.MDB открыть существующую базу данных файл. ccess – многооконное приложение однако в любой момент может быть открыто только одна база данных.
16. Изучение основ языка структурированных запросов T-SQL 34.15 KB
Для достижения поставленной цели необходимо решить следующие задачи: создать запросы на выборку из нескольких таблиц на языке SQL заданными критериями отбора; создать запрос на выборку на языке SQL содержащий статические агрегатные функции; создать запрос осуществляющий объединение результатов двух и более запросов в один набор результатов используя команду UNION. В результате выполнения работы студенты должны знать: категории команд SQL; основные команды SQL применяемые для построения запроса; принципы создания запросов SQL...
6706. Структурированный язык запросов – SQL: история, стандарты, основные операторы языка 12.1 KB
Структурированный язык запросов SQL основан на реляционном исчислении с переменными кортежами. Язык SQL предназначен для выполнения операций над таблицами создание удаление изменение структуры и над данными таблиц выборка изменение добавление и удаление а также некоторых сопутствующих операций. SQL является непроцедурным языком и не содержит операторов управления организации подпрограмм ввода вывода и т.
Windows 7