Назначение запросов в access - IT Справочник
Llscompany.ru

IT Справочник
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Назначение запросов в access

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

Курс дистанционного обучения:
«Экономическая информатика»
Модуль 2 (2,5 кредита): Прикладное программное обеспечение офисного назначения

Тема 2.1. Обработка текстовой информации

Тема 2.2. Процессоры электронных таблиц

Тема 2.3. Программные средства презентаций и основы офисного программирования

Тема 2.4. Системы управления базами данных и экспертные системы

2.4.11. Учебная база данных с главной кнопочной формой «Training_students» — Скачать

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

2.4.4. Создание (формирование) запросов

Запрос (query) – это средство выбора необходимой информации из базы данных. Вопрос, сформированный по отношению к базе данных, и есть запрос. Применяются два типа запросов: по образцу (QBE – Query by example) и структурированный язык запросов (SQL – Structured Query Language).

QBE — запрос по образцу – средство для отыскания необходимой информации в базе данных. Он формируется не на специальном языке, а путем заполнения бланка запроса в окне Конструктора запросов.

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

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

2.4.4.1. Создание запроса на выборку с помощью Мастера

При создании query необходимо определить:

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

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

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

Затем в окне Мастера надо выбрать подробный или итоговый отчет и щелкнуть на кнопке Далее. После этого необходимо задать имя запроса и выбрать один из вариантов дальнейшего действия: Открыть query для просмотра данных или Изменить макет запроса и нажать кнопку Готово. В результате чего получите готовый query.

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

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

  1. Простой.
  2. По условию.
  3. Параметрические.
  4. Итоговые.
  5. С вычисляемыми полями.

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

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

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

В нижней части окна находится Бланк построения запроса QBE (Query by Example), в котором каждая строка выполняет определенную функцию:

  1. Поле – указывает имена полей, которые участвуют в запросе.
  2. Имя таблицы – имя таблицы, с которой выбрано это поле.
  3. Сортировка – указывает тип сортировки.
  4. Вывод на экран – устанавливает флажок просмотра поля на экране.
  5. Условия отбора — задаются критерии поиска.
  6. Или – задаются дополнительные критерии отбора.

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

В окне «Запрос: запрос на выборку» с помощью инструментов формируем query:

  1. Выбрать таблицу – источник, из которой производится выборка записей.
  2. Переместить имена полей с источника в Бланк запроса. Например, из таблицы Группы студентов отбуксировать поле Название в первое поле Бланка запросов, из таблицы Студенты отбуксировать поле Фамилии во второе поле Бланка запросов, а из таблицы Успеваемость отбуксировать поле Оценка в третье поле и из таблицы Дисциплины отбуксировать поле Название в четвертое поле Бланка запросов.
  3. Задать принцип сортировки. Курсор мыши переместить в строку Сортировка для любого поля, появится кнопка открытия списка режимов сортировки: по возрастанию и по убыванию. Например, установить в поле Фамилия режим сортировки – по возрастанию.
  4. В строке вывод на экран автоматически устанавливается флажок просмотра найденной информации в поле.
  5. В строке «Условия» отбора и строке «Или» необходимо ввести условия ограниченного поиска – критерии поиска. Например, в поле Оценка ввести — «отл/A», т.е. отображать все фамилии студентов, которые получили оценки отл/A.
  6. После завершения формирования запроса закрыть окно Запрос на выборку. Откроется окно диалога Сохранить – ответить Да (ввести имя созданного запроса, например, Образец запроса в режиме Конструктор) и щелкнуть ОК и вернуться в окно базы данных.

Чтобы открыть query из окна базы данных, необходимо выделить имя запроса и щелкнуть кнопку Открыть, на экране появится окно запрос на выборку с требуемым именем.

Чтобы внести изменения в query его необходимо выбрать щелчком мыши в окне базы данных, выполнить щелчок по кнопке Конструктор, внести изменения. Сохранить запрос, повторить его выполнение.

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

Последовательность создания параметрического запроса:

  1. Создать query в режиме конструктора или открыть существующий запрос в режиме конструктора, например «Образец запроса в режиме Конструктор».
  2. В Бланк запроса в строке Условия отбора ввести условие отбора в виде приглашения в квадратных скобках, например [Введите фамилию].
  3. Закрыть окно Запрос на выборку, на вопрос о сохранении изменения ответить – Да. Вернуться в окно базы данных, где созданный query будет выделен.
  4. Выполнить query, щелкнув по кнопке: Открыть. В появившемся на экране окне диалога «Введите значение параметра» надо ввести, например фамилию студента, информацию об успеваемости которого необходимо получить, выполнить щелчок по кнопке ОК.

Copyright

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

Назначение запросов в access

Практическая работа № 5.

Тема занятия: Создание запросов.

Цель занятия : Научиться создавать все типы запросов. Научиться отбирать записи по заданному признаку.

План занятия:

1. Создание простых запросов с помощью мастера.

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

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

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

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

1. Создание простых запросов с помощью мастера.

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

Рассмотрим данный вид запросов на конкретном примере.

Пример: Необходимо отобрать данные о всех клиентах проживающих в городе Симферополе.

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

• Нажмите на кнопку Создать, В окне Новый запрос выберите Простой запрос и нажмите ОК.

• В окне Создание запроса в поле Таблицы и запросы выберите таблицу «Клиенты». Используя кнопку перетащите все поля таблицы в область Выбранные поля. Нажмите Далее.

• В следующем окне установите переключатель на Изменить макет запроса И нажмите Готово.

Читать еще:  Powerpoint to video

• В появившейся форме найдите столбец Адрес в поле условие отбора укажите Like «Симферополь*» (символ * означает, что после указанного слова будет находиться любое сочетание символов)

• Закройте и сохраните изменение макета запроса.

• Проверьте правильность выполнения данного запроса. Переименуйте данный запрос в «Клиенты в Симферополе»

Задание: Создайте запрос позволяющий отобрать данные о товарах поставки которых не прекращены.

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

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

Рассмотрим данный вид запросов на конкретном примере.

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

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

• Нажмите на кнопку Создать, В окне Новый запрос выберите Конструктор и нажмите ОК.

• В окне Добавление таблиц выделите таблицы «Клиенты» и «Заказы» и нажмите кнопку Добавить.

• Из таблицы «Клиенты» перетащите поле Фамилия В Поле запроса

Работа с СУБД MS Access

Создание межтабличных связей

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

Активизировать команду Сервис Схема данных в диалоговом окне Схема данных:

  1. Щёлкнуть по кнопке Добавить таблицу.
  2. В диалоговом окне из списков выбрать таблицы, между которыми создаются связи. Закрыть окно Добавление таблицы. Искомые таблицы появятся в окне Схема данных.
  3. Выделить в 1-й таблице ключевое поле и с помощью мыши перетащить его на одноименное поле 2-й таблицы. При отпускании кнопки мыши откроется диалоговое окно Связи.
  4. Установить флаг Обеспечение целостности данных.
  5. Щёлкнуть по кнопке Создать. Появится связь 1:1.

Предположим, что требуется установить связь между таблицами «Кафедра» и «Преподаватель» через поле ККАФ (код кафедры). В таблице «Кафедра» это поле является уникальным ключом , а в таблице «Преподаватель» — внешним ключом. Если схема данных создается заново, то при нажатии на кнопку «Схема данных» поверх окна схемы данных появится окно «Добавление таблицы«. В этом окне следует выделить требуемые таблицы и нажать «Добавить«( рис. 6.5)

В результате в окно схемы данных будут добавлены графические образы двух таблиц:

Необходимо перетащить мышью поле ККАФ таблица «Кафедра» на поле ККАФ таблицы «Преподаватель«. В открывшемся окне «Изменение связей» следует установить флажок «Обеспечение целостности данных«. В этом случае Access будет выдавать предупреждающие сообщения о неправильном вводе данных, если, например, в поле ККАФ подчиненной таблицы «Преподаватель» будет введено значение, отсутствующее в поле ККАФ базовой таблицы «Кафедра» ( рис. 6.6).

Обратите внимание, что Access автоматически определил тип связи как «один-ко-многим» ( рис. 6.7).

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

После нажатия на кнопку «Создать«, образы таблиц будут соединены связями как показано на рисунке. Ключевые в базовых таблицах выделяются жирным шрифтом ( рис. 6.8).

Для установления связей по составному ключу необходимо в окне «Изменение связей» в полях «Таблица/Запрос» и «Связанная таблица/запрос» вручную выбрать из списков пары связываемых полей. На рис. 6.9 показан пример связи по составному ключу .

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

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

Связь между таблицами позволяет:

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

Установить флаг Обеспечение целостности данных.

Установить дополнительно флаги Каскадное обновление связанных полей и Каскадное удаление связанных записей.

Работа с запросами

Запрос — это отбор записей в разнообразных формах, в соответствии с выбранными условиями.

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

Виды запросов

  • На выборку;
  • Запрос с параметром (критерий задаёт сам пользователь)
  • Итоговые запросы (производят вычисления по заданному полю и выдают результат);
  • Запросы на изменение (позволяют автоматизировать — заполнение полей таблиц);
  • Перекрёстные запросы (позволяют создавать результирующие таблицы на основе результатов расчётов, полученных при анализе группы таблиц)
  • Специфические запросы — запросы к серверу БД, написанные на языке запросов SQL

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

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

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

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

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

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

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

Работа с формами

  • Вводить данные в таблицы БД без непосредственного доступа к самим таблицам;
  • Выводить результаты работы запросов в виде красиво оформленных форм.

Существует два вида формирования структуры форм:

  • На основе таблицы;
  • На основе запроса.
  • Возможен и комбинированный (творческий) подход.

Работа с отчётами

Отчёты служат для форматированного вывода данных на печатающее устройство .

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

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

Мастер отчётов работает в шесть этапов.

  1. выбор таблицы или запросов, на которых отчёт базируется; выбор полей, отражаемых в отчёте;
  2. выбор полей группировки (уровней и интервалов группировки);

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

Читать еще:  Выгрузка файлов из access

Краткие итоги

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

В лекции рассмотрены основные этапы работы с этими объектами.

Создание запросов в Access. Виды запросов

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

Понятие о запросах

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

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

Классификация запросов

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

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

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

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

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

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

Создание запросов в MS Access данного вида предполагает, что их можно создать вручную или при помощи «Мастера создания запросов».

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

Для перехода в режим конструктора в Access 2013 нужно в области навигации кликнуть контекстной кнопкой мыши на имени формы и выбрать «Конструктор». Нажав ALT+F8, можно вызвать «Список полей», из которых поля можно перетащить непосредственно в форму.

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

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

  • создание новых таблиц;
  • добавление записей в исходные таблицы;
  • изменение данных в исходных таблицах;
  • удаление записей из исходных таблиц.

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

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

Разновидностью запросов на изменение являются запросы на обновление, при использовании которых обновляются абсолютно все записи, которые удовлетворяют какому-либо заданному условию. Если в комплекс данных необходимо внести изменения, то используют данную разновидность.

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

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

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

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

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

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

Перекрестные запросы в Access, как правило, применяют для создания отчетов и диаграмм.

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

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

Чтобы создать запрос в Access, необходимо в столбце запроса, в ячейке «Условие», поместить выражение ввода параметров в квадратных скобках.

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

SQL-запросы

В Access 2013 и других версий запросы выполняются при помощи языка структурированных запросов SQL.

Для создания SQL-запросов необходимо перейти в режим конструктора, затем на кнопке «Вид» выбрать «Режим SQL». В результате появится диалоговое окно, в котором в поле Select вводим названия столбцов, а в поле From — то, что будет выводиться в строках, например названия поставщиков (если первый столбец «Название»).

В Access используется не чистый SQL, а его диалект Jet-SQL. Основными инструкциями для запросов в этом языке являются: SELECT, по которому осуществляется выборка из записей по определенным условиям (названия полей исходных таблиц, переносящихся в результирующую таблицу), UPDATE — используется с целью редактирования записей, DELETE — для удаления каких-либо указанных записей, CREATE — для создания новых объектов БД. В MS Access также используются TRANSFORM для построения перекрестных запросов, WITH OWNER-ACCESS OPTION для создания специальных запросов пользователем, не имеющем доступа к таблицам, к которым должен быть доступ у этого запроса, IN (для обеспечения связи с удаленной БД), DISTINCTROW (создание запроса с возможным объединением данных). Также могут применяться итоговые функции SQL, встроенные функции Access и VBA.

В заключение

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

Создание запросов в БД

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Таблица в режиме таблицы

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

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

Схема данных запроса

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

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

Бланк запроса по образцу

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

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

При заполнении бланка запроса:

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

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

Поля бланка запроса

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

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

Модификация запроса

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

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

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

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

Ссылка на основную публикацию
ВсеИнструменты 220 Вольт
Adblock
detector