Создание запросов в базах данных Access. Запросы и их применение.

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 можно приступать к формированию форм.

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

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

Рассмотрим запросы на выборку в Access на примере получения информации из таблицы ТОВАР базы данных Поставка товаров .

Задача 1 . Пусть необходимо выбрать ряд характеристик товара по его наименованию.

  1. Для создания запроса в окне базы данных выберите вкладку ленты - Создание (Create) и в группе Запросы (Queries) нажмите кнопку Конструктор запросов (Query Design). Откроется пустое окно запроса на выборку в режиме конструктора - ЗапросN (QueryN) и диалоговое окно Добавление таблицы (Show Table) (рис. 4.2).
  2. В окне Добавление таблицы (Show Table) выберите таблицу ТОВАР и нажмите кнопку Добавить (Add). Выбранная таблица будет отображена в области схемы данных запроса. Закройте окно Добавление таблицы (Show Table), нажав кнопку Закрыть (Close).

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

Кроме того, на ленте появляется и автоматически активизируется новая вкладка (Query Tools | Design) (на рис. 4.3 представлена на часть этой вкладки), на которой цветом выделен тип созданного запроса - Выборка (Select). Таким образом, по умолчанию всегда создается запрос на выборку. Команды этой вкладки представляют инструментарий для выполнения необходимых действий при создании запроса. Эта вкладка открывается, когда в режиме конструктора создается новый запрос или редактируется существующий.


  1. Для удаления любой таблицы из схемы данных запроса установите на нее курсор мыши и нажмите клавишу . Для добавления ― нажмите кнопку Отобразить таблицу (Show Table) в группе Настройка запроса (Query Setup) на вкладке Работа с запросами | Конструктор (Query Tools | Design) или выполните команду Добавить таблицу (Show Table) в контекстном меню, вызываемом на схеме данных запроса.
  2. В окне конструктора (рис. 4.4) последовательно перетащите из списка полей таблицы ТОВАР поля НАИМ_ТОВ, ЦЕНА, НАЛИЧИЕ_ТОВ в столбцы бланка запроса в строку Поле (Field).
  3. Для включения нужных полей из таблицы в соответствующие столбцы запроса можно воспользоваться следующими приемами:
    • в первой строке бланка запроса Поле (Field) щелчком мыши вызвать появление кнопки списка и выбрать из списка нужное поле. Список содержит поля таблиц, представленных в схеме данных запроса;
    • дважды щелкнуть на имени поля таблицы в схеме данных запроса;
    • для включения всех полей таблицы можно перетащить или дважды щелкнуть на символе * (звездочка) в списке полей таблицы в схеме данных запроса.
  4. Если вы по ошибке перетащили в бланке запроса ненужное поле, удалите его. Для этого переместите курсор в область маркировки столбца сверху, где он примет вид черной стрелки, направленной вниз, и щелкните кнопкой мыши. Столбец выделится. Нажмите клавишу или выполните команду Удалить столбцы (Delete Columns) в группе Настройка запроса (Query Setup).
  5. В строке Вывод на экран (Show) отметьте поля, иначе они не будут включены в таблицу запроса.
  6. Запишите в строке Условия отбора (Criteria) наименование товара, как показа-но в бланке запроса на рис. 4.4. Так как выражение в условии отбора не содержит оператора, то по умолчанию используется оператор =. Используемое в выражении текстовое значение вводится в двойных кавычках, которые добавляются автоматически.
  7. Выполните запрос, щелкнув на кнопке Выполнить (Run) или на кнопке Режим (View) в группе Результаты (Results). На экране появится окно запроса в режиме таблицы с записью из таблицы ТОВАР, отвечающей заданным условиям отбора.


ЗАМЕЧАНИЕ
Окно запроса в режиме таблицы аналогично окну просмотра таблицы базы данных. Через некоторые таблицы запроса может производиться изменение данных базовой таблицы, лежащей в основе запроса. Запрос, просматриваемый в режиме таблицы, в отличие от таблицы базы данных Access 2010, не имеет столбца Щелкнуть для добавления (Click to Add), предназначенного для изменения структуры таблицы. В этом режиме на вкладке ленты Главная (Home) доступны те же кнопки, что и при открытии таблицы базы данных.

  1. Если при вводе сложного наименования товара вы допустили неточность, товар не будет найден в таблице. Использование операторов шаблона - звездочка (*) и вопросительный знак (?) (стандарт ANSI-89, используемый для запросов по умолчанию) или знак процента (%) и подчеркивания (_) (ANSI-92, рекомендуемый как стандарт для SQL Server), упрощает поиск нужных строк и позволяет избежать многих ошибок. Введите вместо полного имени товара Корпус* или Корпус%. Выполните запрос. Если в поле наименования товара одно значение начинается со слова «Корпус», результат выполнения запроса будет таким же, как в предыдущем случае. После выполнения запроса введенное выражение будет дополнено оператором Like «Корпус*». Этот оператор позволяет использовать символы шаблона при поиске в текстовых полях.
  2. Если необходимо найти несколько товаров, используйте оператор In. Он позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Запишите в строке условий отбора In («Корпуc MiniTower»;»HDD Maxtor 20GB»;»FDD 3,5″). В таблице запроса будет выведено три строки. В операторе In не допускается использование символов шаблона.
  3. Сохраните запрос, щелкнув на вкладке Файл (File) и выполнив команду Сохранить (Save). В окне Сохранение (Save As) введите имя запроса Пример1. Заметим, что имя запроса не должно совпадать не только с именами имеющихся запросов, но и с именами таблиц в базе данных.
  4. Закройте текущий запрос по команде контекстного меню Закрыть (Close) или нажав кнопку окна запроса Закрыть (Close).
  5. Выполните сохраненный запрос, выделив запрос в области навигации и выбрав в контекстном меню команду Открыть (Open).
  6. Для редактирования запроса выделите его в области навигации и выполните в контекстном меню команду Конструктор (Design View).

Задача 2. Пусть надо выбрать товары, цена которых не более 1000 руб., и НДС не более 10%, а также выбрать товары, цена которых более 2500 руб. Результат должен содержать наименование товара (НАИМ_ТОВ), его цену (ЦЕНА) и НДС (СТАВКА_НДС).

  1. Создайте новый запрос в режиме конструктора, добавьте таблицу ТОВАР. В окне конструктора (рис. 4.5) последовательно перетащите из списка полей таблицы ТОВАР в бланк запроса поля НАИМ_ТОВ, ЦЕНА, СТАВКА_НДС.
  2. Запишите Условия отбора (Criteria), как показано в бланке запроса на рис. 4.5. Между условиями, записанными в одной строке, выполняется логическая операция AND. Между условиями, записанными в разных строках, выполняется логическая операция OR.
  3. Выполните запрос, щелкните на кнопке Выполнить (Run) в группе Результаты (Results). На экране появится окно запроса в режиме таблицы с записями из таблицы ТОВАР, отвечающими заданным условиям отбора.
  4. Сохраните запрос, выполнив соответствующую команду в контекстном меню запроса, которое вызывается при установке курсора на заголовок запроса. Дайте ему имя Пример2 .


Задача 3 . Пусть надо выбрать все накладные за заданный период. Результат должен содержать номер накладной (НОМ_НАК), код склада (КОД_СК), дату отгрузки (ДАТА_ОТГР) и общую стоимость отгруженного товара (СУММА_НАКЛ).

  1. Создайте новый запрос в режиме конструктора, добавьте таблицу НАКЛАДНАЯ. В окне конструктора последовательно перетащите из списка полей таблицы НАКЛАДНАЯ в бланк запроса все необходимые поля.
  2. Для поля ДАТА_ОТГР в строке Условия отбора (Criteria) запишите Between #11.01.2008# And #31.03.2008#. Оператор Between задает интервал дат (в ANSI-92 вместо знака # используются одинарные кавычки ‘). Кроме того, этот оператор позволяет задать интервал для числового значения.

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

Вычисляемые поля в запросах Access .

Использование окна запроса

1. Создание простого запроса

Откроем базу данных STUD, как было рассмотрено в ЛР1. Создадим запрос, выводящий информацию о студентах, у которых имеются задолженности.

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

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

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

Предмет
Номер_С

перетащив их в бланк QBE . Рассмотренным выше методом перетащите из таблицы “Студенты” поле Фамилия.


Запрос “Задолженность” будет иметь вид, как показано на рисунке.
Установка связей между таблицами производится автоматически, используя структуру связей, созданную при генерации проекта БД. Можно задавать другие варианты связи таблиц и иные типы связей (внешнее объединение, "один-к-одному", "один-ко-многим" и т.д.). Изменение связей производится в верхней части окна выбором связанного поля в описании одной таблицы и транспортировкой его при нажатой кнопке мышки на описание соответствующего поля связанной таблицы. Тип связи можно изменить, активизировав ее щелчком мышки на линии связи.

Условие для отбора нужных нам полей производится включением этого условия для данного поля в строке QBE "Условие отбора". Несколько значений отбора вводятся в одну строку, разделенные логическими условиями AND или OR, либо вводятся в последующие ячейки строки "или".
Установим для таблицы "Результаты" условие отбора студентов, у которых задолженности, для чего в столбец описания поля внесем строку "Задолженность" из таблицы "Результаты", и в строке "Условие отбора" введем:
Да

Сбросим для этого поля флажок "Показать", запрещающий вывод данного поля в выборке (т.к его не обязательно выводить).
Кроме стандартных операторов сравнения "=", "<", ">", "<=", ">=", Access поддерживает также BEETWEN, IN, LIKE.
В запросе могут присутствовать т.н. вычисляемые поля - вычисленные значения над любыми полями таблицы. Access поддерживает большое число функций и операторов, применяемых при генерации вычисляемых полей.
Чтобы просмотреть результат запроса необходимо на панели нажать кнопку:

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

Строки итоговой таблицы желательно отсортировать по полю "Фамилия" таблицы "Студенты". Для этого в столбце с описанием данного поля в строке "Сортировка" выберем пункт "по возрастанию". При необходимости сортировки по нескольким полям Access сортирует данные в порядке их расположения в бланке QBE. После просмотра запроса видно, что необходимо ввести поле Имя из таблицы “Студенты”, т.к фамилии повторяютя и запрос не несет необходимой информации. Чтобы вставить поле, перетяните его в сетку QBE на место, где он должен находится и все остальные поля передвинуться на одну позицию в право.
Запустить полученный запрос на выполнение можно также командой "Выполнить" меню "Запрос". Проверим полученные результаты на соответствие критериям отбора. Сохраним полученный запрос под именем "Задолженности". Запрос представляет собой таблицу:


Создадим запрос, в котором будет вычисляться дополнительное поле. Кафедра вычислительной техники решила своим работникам к новому году выплатить премию в размере 10% от зарплаты. Создадим запрос на базе таблицы “Преподаватели”, с полями Фамилия, Кафедра, Должность, Зарплата. Чтобы создать вычисляемое поле “Премия”, выводящее информацию о величине премии работнику, в новом столбце (следующим за заполненным), в строке “Поле” введем выражение Зарплата*0,1. Изменим заголовок поля, введя перед выражение его название. Ячейка будет содержать: «Премия: [Зарплата]*0,1».

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


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

Итоговые запросы позволяют получать статистическую информацию по группам данных, как например: сумму, среднее арифметическое, мат.ожидание, дисперсию значений полей таблицы; число значений полей, удовлетворяющих определенным условиям и т.д.
Создадим запрос среднего бала студента. Откроем новый бланк запроса, внесем в него таблицу "Студенты", “Результаты” и установим вывод полей "Номер_С", "Фамилия", "Оценка_Т", "Оценка_П", “Оценка_Л”.

Для вычисления в запросе итоговых значений щелкнем по кнопке "Групповые операции" панели инструментов. В бланке QBE появится строка "Групповая операция", где для каждого описанного поля в этой строке установлено по умолчанию "Группировка". Теперь записи по каждому полю будут группироваться, но итог подводиться не будет. Для выведения итоговых значений необходимо вместо слова "Группировка" установить какую-нибудь групповую операцию (см прил.1).
Для полей “Оценка_Т”, “Оценка_П”, “Оценка_Л” операцию "Avg", выводящую среднее значение поля для группы записей (получим средний бал).

Изменим также заголовки полей выводимой таблицы. Для этого в описании полей в строке "Поле" введем их новые названия, отделяя их от описания двоеточием:
Оценка_Т: Теория
Оценка_П: Практика
Оценка_Л: Лабы

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

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

Создадим запрос, выводящий список преподавателей работающих на задаваемой пользователем кафедре. За основу возьмем таблицу "Преподаватели". Выберем в бланк вывода пункт "Преподаватели.*", выводящий все поля таблицы "Преподаватели”. Введем еще раз описание поля “Кафедра”, сбросим для него флажок вывода на экран, и в строке "Условие отбора" этого поля введем выражение:
=[Введите название кафедры]

Сохраним полученный запрос как "Выборка преподавателей по кафедрам". Выполнив запуск запроса, мы увидим диалоговое окно, запрашивающее название кафедры.

После ввода параметра Access выводит список преподавателей, местом работы которых является запрашиваемая кафедра.
Ввод параметров можно использовать при любом типе запросов: итоговом, перекрестном, запросе-действии и т.д.

1.4. Создание перекрестного запроса

Access поддеpживает специальный тип итоговых запpосов, называемый перекрестным. Перекрестный запрос выводит вычисленные значения как функцию от существующих полей. Так в Access можно вывести запрос, описывающий суммарный зароботок по должностям.
Необходимое требование к созданию перекрестного запроса наличие поля - заголовка строки, поля - заголовка столбца, и одно поле вычисляемого значения. Поля, являющиеся заголовками строк и столбцов должны иметь в строке "Групповая операция" установку "Группировка". Для поля - значения необходимо выбрать в "Групповой операции" какую-либо групповую функцию, или выражение, содержащее групповую операцию.

Для нашего запроса для таблицы "Преподаватели" в меню "Запрос" установим указатель "Перекрестный". Access добавит в блок QBE строку "Перекрестная таблица". Затем в бланк перенесем поле "Должность", установим “заголовки столбцов”.

Следующее поле-"Кафедра”, установим “заголовки строк”
Результирующее поле- “Зарплата” , для него установим “значение”
"групповая операция" - Avg,
Сохраним полученный запрос под имеем "Зарплаты по должностям".

1.5. Создание запроса типа "внешнее объединение"

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

Создадим запрос, выводящий информацию обо всех студентах, с задолженностями и без. В этом запросе будет использоваться внешнее объединение таблиц "Студенты" и "Результаты" по совпадению поля "Номер_С" со всеми записями таблицы "Студенты".
Для создания внешнего объединения необходимо изменить параметры объединения. Откроем запрос "Задолженность" в режиме конструктора. Щелкнем по линии связи между таблицами "Студенты" и "Результаты" для открытия диалогового окна "Параметры объединения".

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


Выберем третий тип связи и щелкнем на кнопке "Ок". После этого на линии соединения таблиц появится стрелка, указывающая на внешнее объединение. Сохраним модифицированный запрос (через “Сохранить как” ("Save as.."), чтобы не затереть предыдущий запрос) под именем "Внешнее объединение по студентам".

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


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

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

Тема:

СУБД 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 представлен запрос в режиме конструктора, в котором можно определить таблицы и поля, включенные в этот запрос. В области заголовка представлено наименование и тип запроса.

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


Рис. 4.9. Запрос Телефоны в режиме Конструктор.

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

SQL -режим.

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


Рис. 4.10. Запрос Телефоны в режиме SQL .

На рис 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 приведен выполненный запрос с сортировкой поля Дата по возрастанию


Рис. 4.15. Запрос Поставки с сортировкой по возрастанию Даты.

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

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

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

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

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

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

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

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

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

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

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

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

Операция

Значение

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

Сложение

Умножение

Деление

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

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

Равно

<

Меньше

>

Больше

<=

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

>=

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

<>

Не равно

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

Or

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

And

Все условия

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)


Рис. 4.17. Запрос Поставки: выбор заказов бензина Аи-92 или бензина Аи-95.

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

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

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

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

  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


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


Рис. 4.21. Запрос Продажи вычислил общую сумму продаж.

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

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

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

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

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

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

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

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

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

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

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

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

Для этого:

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

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

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

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

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


Рис. 4.23. Запрос на обновление в режиме Конструктор.

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

Для этого:

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

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

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

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

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

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


Рис. 4.24. Запрос на удаление в режиме Конструктор.

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

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

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

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


Рис. 4.25. Запрос на добавление в режиме Конструктор.

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

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

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


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


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

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

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

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

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


Рис. 4.28. Запрос с параметром в режиме Конструктор.

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

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


Рис. 4.30. Запрос с параметром в режиме Конструктор.

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

12

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

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 является непроцедурным языком и не содержит операторов управления организации подпрограмм ввода вывода и т.

Лабораторная работа

Информатика, кибернетика и программирование

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

Федеральное агентство по образованию Российской федерации

Государственное образовательное учреждение

высшего профессионального образования

«Ковровская государственная технологическая академия

имени В.А. Дегтярева»

Кафедра ПМ и САПР

Лабораторная работа №3

Тема: Запросы на выборку.

Выполнил ст. гр.ЭБ-112 Железнов И.О.

Проверил Белоногов А.Е.

Ковров 2013

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

Ход работы:

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

Теоретическая часть.

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

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

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

2.Назначение и виды запросов

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

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

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

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

Запросы на выборку

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

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

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

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

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

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

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

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

  • На удаление записи. Запрос на удаление удаляет группу записей из одной или нескольких таблиц. Например, запрос на удаление позволяет удалить записи о товарах, поставки которых прекращены или на которые нет заказов. С помощью запроса на удаление можно удалять только всю запись, а не отдельные поля внутри нее.
  • На обновление записи. Запрос на обновление вносит общие изменения в группу записей одной или нескольких таблиц. Например, на 10 процентов поднимаются цены на все молочные продукты или на 5 процентов увеличивается зарплата сотрудников определенной категории. Запрос на обновление записей позволяет изменять данные в существующих таблицах.
  • На добавление записей. Запрос на добавление добавляет группу записей из одной или нескольких таблиц в конец одной или нескольких таблиц. Например, появилось несколько новых клиентов, а также база данных, содержащая сведения о них. Чтобы не вводить все данные вручную, их можно добавить в таблицу «Клиенты».
  • На создание таблицы. Запрос на создание таблицы создает новую таблицу на основе всех или части данных из одной или нескольких таблиц. Запрос на создание таблицы полезен при создании таблицы для экспорта в другие базы данных Microsoft Access или при создания архивной таблицы, содержащей старые записи.

3.Вычисляемое поле.

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

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

Выражения могут содержать следующие элементы:

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

Примеры Выражения:

=[Оценка]/1,2, где "=" - опрератор, [Оценка] - имя поля, а 1,2 - значение;

Date(), где Date - имя функции текущей даты, которая не имеет аргумента.

Имя поля всегда помещается в квадратные скобки.

Действия могут быть:

• арифметические: + (сложение), - (вычитание), * (умножение), / (деление), ^ (возведение в степень)

• логические: And (логическое умножение), Or (логическое сложение) , Not (логическое отрицание)

• сравнения: > (больше), >= (больше либо равно), < (меньше), <= (меньше либо равно), = (равно),<> (не равно)

• соединения текстовых цепочек: & (например: [Фамилия] & " " & [Имя])

4. Условие отбора записей.

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

Литералом называют значение в явном представлении, например, число, строковое значение или дату. Примерами значений в явном представлении могут служить “Москва”, 100 и #1-янв-94#. Даты необходимо заключать в символы (#), а строковые значения в прямые кавычки (“).

Константа представляет не изменяющееся значение. True, False, Истина, Ложь и Null являются примерами констант, автоматически определяемых в Microsoft Access.

  • Null – соответствует любому выражению, которое ничего не содержит.
  • Истина (True) – соответствует логическому выражению, которое принимает истинное значение.
  • Ложь (False) – соответствует логическому выражению, которое принимает ложное значение.

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

  • – выделяет имя объекта, например: [Фамилия]
  • ! – разделяет имена объектов, например:[СТУДЕНТЫ]![Фамилия]

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

Подстановочными знаками являются: знак звездочки (*), вопросительный знак (?), знак номера (#), восклицательный знак (!), дефис (-) и квадратные скобки (). Эти знаки используются в запросах и выражениях, чтобы включить все записи, имена файлов или конкретные названия, начинающиеся с определенных символов или соответствующие определенному образцу.

Оператор Between...And определяет принадлежность значения выражения указанному диапазону.

Оператор Like, позволяет использовать образцы, использующие символы шаблона. В следующем примере возвращаются данные, начинающиеся с буквы "Р", за которой следуют любая буква от "А" до "Д" и три цифры: Like "Р[А-Д]###"

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

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

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

Оператор Not требует невыполнения того выражения, перед которым он стоит.

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

  • Sqr() – квадратный корень.
  • Abs() – абсолютное значение.
  • Log() – натуральный логарифм.
  • Cos(), Sin(), Tan() – косинус, синус, тангенс аргумента.
  • Left (строка,количество), Right (строка,количество), Mid (строка, начальная позиция, количество) – вырезают определенное количество символов в начале, конце и середине строки-аргумента
  • IIf (условие,аргумент1,аргумент2) – если условие истинно, возвращает аргумент1, иначе возвращает аргумент2 .
  • Date() – возвращает текущую дату.
  • Year (дата), Month (дата), Day(дата) - возвращают год, месяц, и день из даты.

5. Сортировка данных

Операция сортировки данных используется всегда для удобства нахождения нужной информации. По умолчанию, когда таблица открывается в режиме Таблицы, она упорядочивается по значению ключевого поля. Если ключевое поле для таблицы не определено, записи выводятся в порядке их ввода в таблицу. Если нужно отсортировать записи по значению другого поля, достаточно установить курсор на любую строку соответствующего столбца и нажать одну из кнопок на панели инструментов: Сортировка по возрастанию (Sort Ascending) или Сортировка по убыванию (Sort Descending).

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

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

6.Группировка данных, групповые операции.

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

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

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

  • Sum – суммирование всех значений данного поля.
  • Avg – среднее значение для данного поля.
  • Min – определяет минимальное значение для данного поля.
  • Max – определяет максимальное значение для данного поля
  • Count – определяет общее количество записей, которые содержат некоторое значение в этом поле.
  • StDev – отображает статистическое стандартное отклонение значений данного поля.
  • Var – отображает статистическую вариацию значений данного поля.
  • First – отображает значение, находящееся в этом поле в первой записи для всех записей.
  • Last - отображает значение, находящееся в этом поле в последней записи для всех записей.
  • Выражение – позволяет ввести выражение, а не название поля в ячейке Поле.
  • Условие – показывает, что это поле используется только для ввода условия отбора, определяющего какие записи включать в запрос.

Практическая часть.

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

Для этого:

  • Создание = > Конструктор запросов

  • Откроется окно Добавление таблицы.
  • Добавить в запрос нужную таблицу: "Студенты".

  • Закрываем окно Добавление таблицы .
  • Выбрать поля, которые будут выводиться в запросе: [номер студента], [Фамилия], [Населенный пункт].
  • В поле [Населенный пункт] в строке условие отбора напишем ="Ковров", в результате получится условие: [Населенный пункт]= "Ковров".


  • Сохранить запрос под именем «Ковровчане».
  • Выполняем запрос. Для этого нажимаем «Выполнить» на панели инструментов.

  • Для изменения запроса его нужно снова открыть в режиме конструктора.
  1. Создание запроса на выбор всех ковровских студентов, не имеющих телефона.
  • Создание = > Конструктор запросов


  • Получено условие: [Населенный пункт]= "Ковров" AND [телефон] Is Null .
  • Сохраняем и выполняем запрос
  • Т.к. у меня отсутствуют ковровские студенты, не имеющие телефон,то ответ на запрос оказался таковым:

  1. Создать запрос на выбор всех студентов какого-либо курса независимо от специальности. Курс определяется номером группы, а именно его двумя последними цифрами, таким образом, все студенты из групп с номерами 101 и 201 учатся на одном курсе.
  • Создание = > Конструктор запросов


  • Получено условие: [номер группы]=101 OR [номер группы]=201.
  • Сохраняем и выполняем запрос

  1. Создать запрос на выбор студентов, фамилии которых, начинаются на букву "А" или на букву "Б". В условии отбора использовать оператор Like .

  • Сохраняем и выполняем запрос

  • И вновь получаем пустой ответ,т.к. фамилий на А и Б в нашем списке отсутствуют
  1. Создать запрос на выбор всех студентов, родившихся в текущем месяце.
  • Создание = > Конструктор запросов
  • Вычисляемое поле [месяц] задаем с помощью построителя выражений.



  • В нем выводится номер месяца рождения каждого студента.

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

Построитель выражений => Функции=>Встроенные функции/=>Дата и время=> Month .

Стираем «Выражение», в скобочках стираем « number »

  • Затем вновь возвращаемся к « Построителю»



  • Сохраняем и выполняем запрос

6.Создайте запрос на выбор данных о студентах и их возрасте, т.е. количестве лет.

  • Создание = > Конструктор запросов

Вычисляемое поле [Возраст] задается с помощью построителя выражений.


  • Построитель выражений=>Функции=>Встроенные функции=>Дата и время=> Year .
  • C тираем «Выражение», « number » и в скобочках выполняем следующее: Общие выражения=>Текущие время и дата=> Now ().
  • Сохраняем и выполняем запрос


7.Создать запрос на выбор всех студентов старше 20 лет.

  • Создание = > Конструктор запросов
  • Вводим те же данные, что и в предыдущей задаче:


  • Только в поле [Возраст] в строке условие отбора написать >20.
  • Сохраняем и выполняем запрос

8. Создание запроса для ведомости стипендии всех студентов, получающих стипендию, представленных отсортированными по учебным группам, а в группах по фамилиям.

  • Создание = > Конструктор запросов
  • Вводим данные:


  • В поле [Стипендия] в строке условие отбора напишем >0.
  • Вычисляемое поле [Инициалы] задается следующим выражением:

Left([Студенты]![Имя];1) & ". " & Left([Студенты]![Отчество];1) & "."


  • Сохраняем и выполняем запрос


9. Создание запроса на выбор всех иногородних студентов, не получающих стипендию

  • Создание = > Конструктор запросов
  • Вводим данные:




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

  • Создание = > Конструктор запросов
  • Вводим данные:


  • В условии отбора используется параметр [введи шифр специальности].
  • При запуске запроса необходимо в появившемся окне ввести значение параметра, например: "ЛТ".

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

  • Создание = > Конструктор запросов
  • Вводим данные:


  • В условии отбора
  • в поле [Шифр специальности] используется параметр [введи шифр специальности];
  • в поле [Семестр] используется параметр [введи номер семестра].

  • Получаем:

12. Создание запроса с группировкой данных по учебным группам и вычислением средней и суммарной стипендии в каждой группе.

Запросы с группировкой данных.

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

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

Групповая операция . Выпадающий список в ячейке групповой операции содержит функции, описанные выше в теоретической части

  • Создание = > Конструктор запросов
  • Вводим данные:


Нажимаем кнопку . В списке запроса добавится еще одна строка Групповая операция . В первом поле [Стипендия] выбираем операцию Sum , которая означает суммарную стипендию в каждой группе. Во втором поле [Стипендия] выбираем операцию Avg , которая вычислит среднюю стипендию в каждой группе.

Сохраняем и выполняем запрос.

13. Создание запроса с группировкой данных по населенным пунктам и вычислением количества студентов.

  • Создание = > Конструктор запросов
  • Вводим данные:

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

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

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

14. Создание перекрестного запроса, отображающий количество студентов из каждого города на каждой специальности.


  • Сохраняем и выполняем запрос.


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


А также другие работы, которые могут Вас заинтересовать

43037. Разработка технологического процесса обработки детали с заданной годовой программой выпуска 106 KB
10 Расчет технологических размерных цепей эскиз детали 1.11 Расчет припусков на механическую обработку расчетноаналитическим методом на один самый точный размер 1.12 Расчет припусков на механическую обработку по нормативным данным остальные размеры 1.13 Расчет КИМ 1.
43038. Понятие социального контроля, его виды 16.18 KB
Социальный контроль - способ саморегуляции системы, обеспечивающий упорядоченное взаимодействие составляющих ее элементов посредством нормативного (в том числе правого) регулирования. Стабилизирующая функция системы социального контроля заключается в воспроизводстве господствующего типа общественных отношений, социальных (групповых, классовых, государственных) структур.
43039. Малошумящий РПУ 370.5 KB
Мы выбираем ВПЧ, т.к. оно обеспечивает оптимальный режим работы смесителя и гетеродина, а также обеспечивает максимальную чувствительность и удовлетворяет требованию сопряжения контуров
43040. Системы автоматического регулирования заданным объектом 315 KB
Принципиальная схема системы автоматического регулирования напряжения генератора постоянного тока Система работает следующим образом. Для повышения динамической устойчивости системы в ней предусмотрена стабилизирующая местная обратная связь по напряжению ЭМУ осуществляемая при помощи конденсатора C и делителя напряжения Rc. При разделении системы автоматического регулирования на функциональные элементы выделим прежде всего генератор который буду рассматривать как объект регулирования ОР.
43042. Создание базы данных (домашней библиотеки) в среде MySQl 93 KB
Техническое задание Структура данных Используемые запросы Список использованной литературы Задание Создать базу данных домашнюю библиотеку в среде MySQl.php method=GET p Input hostnme p P input type=text nme=host P p Input User nme p P input type=text nme=nme P p Input DtBse nme p P input type=text nme=dbnme P P input type=hidden nme=ifprn vlue=N P P input type=submit nme=but vlue=Ok P form ; } else { link = mysql_connect host nme or die Couldn"t connect: ; print Connection successful n...
43043. Автоматизація обліку та нарахування відсотків по кредитах комерційного банку 407 KB
Проаналізовано існуючий варіант розв"язку задачі обґрунтована доцільність створення нової інформаційної системи на базі автоматизованої інформації. У роботі освітлені питання інформаційного забезпечення теоретичні та практичні аспекти: описаний склад та організація інформаційного забезпечення структура інформаційного забезпечення призначення усіх баз даних принципи організації інформаційного забезпечення опис прийнятих видів контролю за маршрутами обробки даних при створенні та функціонуванні інформаційної бази; розглянуто організацію...