Как сделать итоговый запрос в access?

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

Учебная дисциплина
Информатика и компьютерная техника
Модуль 2. Офисные прикладные программы Microsoft Office 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) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.

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

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

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

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

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

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

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

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

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

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

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

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

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

© Обучение в интернет, .
Обратная связь

Итоговые запросы

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

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

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

Таблица 10.4

Функции для групповых операций

Суммирование значений определенного поля

Вычисление среднего значения данных определенного поля

Вычисление минимального значения поля

Вычисление максимального значения поля

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

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

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

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

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

Так как один и тот же товар мог продаваться не один раз, используем группировку по полям [Наименование] и [НомерСклада], а по полю [Количество] выбираем функцию суммирования (рис. 10.40).

Рис. 10.40. Итоговый запрос

Модификация данных с помощью запросов

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

Запрос на создание таблицы. БД на физическом уровне хранит только таблицы. Набор записей запросов физически не существует в БД. MS Access создаст его из данных таблиц только во время выполнения запроса. Иногда возникает необходимость сохранить извлекаемые с помощью запроса на выборку данные в новой таблице. Для этого:

  • • создайте новый запрос на выборку тех записей, из которых должна состоять создаваемая с помощью запроса таблица;
  • • проверьте правильность отбора записей, перейдя в режим таблицы;
  • • преобразуйте запрос на выборку в запрос на создание таблицы. Для этого, вернувшись в режим конструктора, выберите кнопку Создание таблицы в группе Тип запроса на вкладке Работа с запросами (рис. 10.41);
  • • в появившемся окне введите имя новой таблицы;
  • • выполните запрос (кнопка ).

Рис. 10.41. Кнопка Создание таблицы

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

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

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

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

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

  • • создайте новый запрос на выборку удаляемых блоков данных; отбор блоков данных выполняется в соответствии с заданными в строке «Условие» критериями;
  • • проверьте корректность сформулированных условий, перейдя в режим таблицы;
  • • преобразуйте запрос на выборку в запрос на удаление записей; для этого, вернувшись в режим конструктора, выберите команду Удалить (вкладка Тип запроса);
  • • в появившейся строке «Удалить» установите критерии отбора;
  • • выполните запрос.
Читать еще:  Как сделать резервную копию базы данных access?

Рассмотрим создание запросов на модификацию на примере.

Пример 10.3. Создадим запрос на создание таблицы [Мониторы], полученной из таблицы [Товары]. Таблица [Мониторы] должна содержать все поля таблицы [Товары] и только те записи, в которых наименование товара – Монитор.

Решение

1. Создадим запрос на выборку данных о мониторах из таблицы [Товары] (рис. 10.42), предварительно создав копию таблицы [Товары].

Рис. 10.42. Запрос на выборку данных о мониторах

Для выбора всех полей таблицы [Товары] (рис. 10.43) использована «*». Условие отбора задано для поля [Наименование]. С цслыо избежать дублирования поля | Наименование! в таблице [Мониторы] отсутствует «галочка» в строке Вывод на экран.

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

  • 2. Изменим тип запроса на выборку в запрос на создание таблицы, при этом появится окно для ввода имени создаваемой таблицы (см. рис. 10.44).
  • 3. Выполним запрос, при этом появится предупредительное окно (см. рис. 10.44).
  • 4. Подтвердим создание новой таблицы с выбранными записями, в результате в списке таблиц БД увидим новую таблицу [Мониторы] (рис. 10.45).

Рис. 10.44. Окно подтверждения создания таблицы

Рис. 10.45. Появление новой таблицы в списке таблиц

Пример 10.4. Создадим запрос на обновление цен товаров с учетом сезонных скидок на 10%.

Решение

  • 1. Предварительно создадим копию таблицы [Товары], присвоив ей имя [Копия Товары].
  • 2. Создадим запрос на выборку (рис. 10.46), отображающий поле [Цена] (выбираем только то поле, значения которого должны быть обновлены).
  • 3. Изменим тип запроса на выборку в запрос на обновление.
  • 4. В строке Обновление введем выражение, обновляющее значение поля, с помощью Построителя выражений.
  • 5. Выполним запрос.

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

Итоговые запросы;

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

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

Итоговые функции Access:

Sum – вычисляет сумму всех значений заданного поля в каждой группе.

Avg –вычисляет среднее арифметическое всех значений данного поля в каждой группе.

Min – возвращает наименьшее значение, найденное в этом поле внутри каждой группы.

Max – возвращает наибольшее значение, найденное в этом поле внутри каждой группы.

Count– возвращает число записей, в которых значения данного поля отличны от Null.

StDev – стандартное отклонение всех значений данного поля в каждой группе.

Var –вычисляет дисперсию значений данного поля в каждой группе.

First –возвращает первое значение этого поля в группе.

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

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

Рассмотрим основные виды форм, которые можно построить в Access.

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

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

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

Подчиненные формы.Подчиненные формы используются для представления данных, находящихся на стороне «многие» отношения «один-ко-многим».

Всплывающие формы.Иногда удобнее предоставлять информацию в окне, которое все время остается на переднем плане. По умолчанию в Microsoft Windows 95 активное окно выводится на переднем плане, а остальные окна перемещаются на задний. Единственным исключением являются окна справки. В частности, окно процедурной справки остается на переднем плане, позволяя вам следить за пошаговыми инструкциями в то время, когда фокус находится в вашем рабочем окне (то есть оно активно). Такой тип плавающих окон называется всплывающим окном.

Монопольные формы.При разработке приложения возникают ситуации, когда требуется получить какие-либо данные или передать важную информацию прежде, чем Microsoft Access сможет продолжить работу. В Access имеется специальный тип формы – монопольная форма (окно которой является монопольным), которая требует ответа как непременного условия дальнейшей работы приложения.

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

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

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

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

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

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

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

· В дополнении к верхнему и нижнему колонтитулу можно задать заголовок и примечание для всего отчета в целом.

17. Итоговые и модифицирующие запросы

Лекция 17. Итоговые и модифицирующие запросы

Итоговые запросы отличаются от обычных запросов на выборку. В них поля делятся на 2 типа:

· поля, по значениям которых производится группировка данных (поле «Наименование», рисунок 17.1);

· поля, по значениям которых проводятся вычисления (поля «Количество», «Сумма», рисунок 17.1);

Поля, не относящиеся к вышеперечисленным типам (поля «Цена», «Единица» и «Дата», рисунок 17.1), исключаются из состава полей итогового запроса.

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

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

§ SUМ(Имя поля) – сумма значений указанного поля;

§ AVG(Имя поля) – среднее значение для записей указанного поля;

§ MIN(Имя поля) – минимальное значение в определенном поле;

§ MAX(Имя поля) – максимальное значение в определенном поле;

§ COUNT(*) – количество записей;

В MS Access могут быть использованы функции расширения, отличные от функций предусмотренных стандартом, например:

§ F I RST (Имя поля) – первое значение в указанном поле;

§ LAST(Имя поля) – последнее значение в указанном поле.

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

Читать еще:  Как сделать в access авторизацию?

Рисунок 17.1 – Таблица «Продажи товаров»

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

Рисунок 17.2 – Результат выполнения группировки

Итоговые запросы средствами MS Access могут быть созданы средствами мастера или конструктора.

Процесс создания итогового запроса с помощью средства «Простой запрос» сводится к следующим шагам:

§ Запускается мастер создания простых запросов, например командой – Создание запроса с помощью мастера

§ в раскрывающемся списке «Таблицы и запросы» последовательно выбираются таблицы или запросы, информация из которых необходима пользователю, а затем, из списка «Доступные поля» в список «Выбранные поля» перемещаются требуемые поля.

§ На втором шаге работы мастера определяется тип запроса «Итоговый». Нажимаем кнопку «Итоги…» и в окне диалога «Итоги» (рисунок 17.3), выбираем способы вычисления итогов: Max , Min , Sum , Avg или Count (подсчет числа записей).

Рисунок 17.3 – Фрагмент окна диалога «Итоги»

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

Для создания итогового запроса в режиме конструктора можно использовать кнопку «Групповые операции» на панели инструментов или воспользоваться командой Вид — Групповые операции.

В результате, в бланке запроса появится новая строка – «Групповая операция». Если для соответствующего поля из списка выбрать функцию Группировка (рисунок 17.4), то при выполнении запроса записи будут объединяться по этому полю и вся группа будет представлена одной строкой.

Рисунок 17.4 — Строка «Групповая операция» в бланке QBE

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

Рисунок 17.5 – Определение итоговых функций для полей запроса

Группировка и итоговые выражения могут проводиться не только по реально существующим полям, но и по вычисляемым в запросе выражениям. Например, если сумма продажи товара не задана явно, однако присутствуют поля «Количество» и «Цена единицы», то сумма может быть получена как:

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

На рисунке 17.5 поле «Сумма» получено с использованием вышеуказанного метода.

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

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

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

Для решения подобных задач используются модифицирующие запросы. Выделяют следующие модифицирующие запросы:

§ запросы на удаление;

§ запросы на обновление;

§ запросы на добавление;

§ запросы на создание таблицы (не является модифицирующим, но имеет подобный способ создания).

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

Можно выделить несколько основных этапов присутствующих при создании всех модифицирующих запросов в СУБД MS Access :

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

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

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

Создание запроса на удаление

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

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

2. Выполнить запрос на выборку. В результате запроса должны быть получены только те записи, которые подлежат удалению!

3. Преобразовать запрос на выборку в запрос на удаление командой Запрос – Удаление или Тип запроса – Удаление и из раскрывающегося списка выбрать запрос на удаление (только в режиме конструктора запросов).

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

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

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

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

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

3. Преобразовать запрос на выборку в запрос на обновление командой Запрос – Обновление или Тип запроса — Обновление. В результате в бланке запросов появится новая строка «Обновление».

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

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

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

Опишем последовательность создания запроса на добавление:

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

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

3. Преобразовать запрос на выборку в запрос на обновление командой Запрос – Добавление или Тип запроса — Добавление. В результате в бланке запросов появится новая строка «Добавление», позволяющая произвести совмещение полей двух таблиц.

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

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

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

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

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

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

3. Преобразовать запрос на выборку в запрос на создание таблицы командой Запрос – Создание таблицы или Тип запроса — Создание таблицы. В результате появиться окно диалога «Создание таблицы», в котором необходимо указать имя таблицы и ее местоположение (в этой или другой БД). После нажатия кнопки «ОК» будет создан запрос на создание таблицы.

1. Что такое итоговый запрос?

2. Как создается итоговый запрос средствами мастера?

3. Как создается итоговый запрос средствами конструктора?

4. Какие групповые функции вы знаете?

5. Что такое модифицирующий запрос?

6. Относится ли запрос на создание таблицы к модифицирующим?

7. Как создается запрос на удаление?

8. Как создается запрос на добавление?

Читать еще:  Как сделать сводную в access?

9. Как создается запрос на обновление?

10. Что общего в механизме создания модифицирующих запросов?

Задания для самостоятельной работы

Задание 1. Создайте запрос на получении информации о количестве книг на руках у каждого читателя.

Задание 2. Из запроса Просроченные книги извлеките информацию о должниках (Номер читательского билета, ФИО, Домашний и рабочий телефоны, а также количество просроченных книг).

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

Задание 4. Создайте запрос на создание таблицы «Каталогизация». В запрос должны быть включены атрибуты, определяющие область знаний и книги ей принадлежащие.

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

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

Приложение СУБД MS Access – это полноценный помощник для создания и ведения баз данных, заключенных в таблицы и массивы. Если база имеет слишком большой объем, быстро найти необходимые значения довольно сложно.

Именно поэтому в Access существует такая функция, как запросы. Рассмотрим, что это такое, как работает, какие имеет особенности.

Создание запросов в Microsoft Access

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

Существует два способа выполнить данную процедуру:

  • Конструктор запросов.
  • Мастер запросов.

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

Легкий путь для новичков

Знающий человек за несколько кликов мышью выбирает те компоненты, которые потребуются пользователю для выполнения запроса, а затем быстро формирует реестр, в соответствии с собранными ключевыми значениями. Если это первое знакомство с СУБД, и пользователь не представляет, как создавать запросы в Access, то выбирается программа Мастер.

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

  • Простой.
  • Перекрестный.
  • Записи без подчиненных.
  • Повторяющиеся записи.

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

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

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

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

Этот тип выборки более сложный. Чтобы разобраться, как создать перекрестный запрос в Access с помощью «Мастера» в данном режиме, нужно кликнуть по этой функции в первом окне.

На экране появится таблица, в которой можно выбрать до трех столбцов, расположенных в оригинале.

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

На фото показано, что перекрестный запрос создан, и что по заданным параметрам совершены необходимые действия.

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

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

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

Чтобы выбрать повторяющиеся записи, нужно раскрыть список запросов и создать там новую папку. Далее в окошке «Новый запрос» выбрать строку «Поиск повторяющихся записей». Далее нужно следовать указаниям Мастера.

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

Это последний тип запросов, доступный в режиме «Мастер – Записи без подчиненных».

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

Данный тип актуален только в случаях, когда баз данных несколько.

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

Функции запросов в MS Access

Разберемся, зачем нужно выполнять описанные выше действия. Задача всех простых и сложных запросов в СУБД Access заключается в следующем:

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

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

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

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

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

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

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

Чтобы завершить операцию, нужно нажать на кнопку «Выполнить».

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

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

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

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

Расширенный перекрестный запрос

Продолжаем усложнять ситуацию. Еще труднее для понимания является информация о том, как создавать запросы в Access, если присутствует несколько таблиц с данными. Перекрестный запрос уже рассматривался выше, как один из вариантов работы с Мастером. Однако, и в режиме «Конструктора» можно создавать подобный запрос.

Для этого необходимо нажать «Конструктор запросов» — «Перекрестный».

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

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

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

Конечно, присутствуют и «подводные камни», которые могут помешать в работе. Например, при создании запроса на сортировку базы данных по значению столбцов система выдает ошибку. То есть доступна только сортировка по стандартным пунктам – «возрастание и убывание».

Краткие рекомендации

Подводя итоги, нужно сказать, что решить, как создавать запросы в Access – с помощью Мастера или Конструктора, должен сам пользователь. Хотя, для большинства людей, которые используют СУБД MS Access, больше подойдет первый вариант. Ведь Мастер сам сделает всю работу, оставив для пользователя только несколько кликов мышью, при выборе условий запроса.

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

Есть один момент, который доступен лишь программистам. Так как основным языком СУБД является SQL, то нужный запрос можно написать в виде программного кода. Чтобы работать в данном режиме, достаточно нажать на строку уже созданного запроса, и в открывшемся контекстном меню выбрать «Режим SQL».

Ссылка на основную публикацию
Adblock
detector