Как в базе данных создать запрос. Как создавать запросы в Access: пошаговая инструкция и рекомендации

Запросы подборки данных в Access: Создание запроса с параметром, создание перекрестного запроса

Внедрение окна запроса

 

1. Создание обычного запроса

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

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

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

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

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

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

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

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

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

Читайте также  Что это hostsxpert. HostsXpert 4.3

 

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

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

 

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

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

 

 

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

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

Читайте также  Как разрезать музыку на части. Как разрезать MP3? Программы редактирования MP3

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

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

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

 

 

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

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

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

 

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

 

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

 

 

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

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

Читайте также  Открыть файл командная строка. Открыть файл из командной строки в Windows

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

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

 

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

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

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

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

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

Удалить столбцы.

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

Оставьте комментарий