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

Запросы – это один из видов документов, используемых в СУБД Access , которые предназначены для обработки данных, хранимых в таблицах

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

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

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

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

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

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

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

Для создания любого из них надо в окне базы данных выбрать объект Запросы и щелкнуть по кнопке Создать. Откроется окно Новый запрос, вид которого представлен на рис. 1.

Рисунок 1 Окно БД Штат и окно выбора видов запросов

Простой запрос позволяет создать с помощью Мастера запрос на выборку данных из определенных полей таблиц или запросов, он наиболее удобен для начинающих пользователей. При его выборе запускается Мастер, в первом окне которого (рис. 2) нужно в списке Таблицы и запросы выбрать таблицу, напр., Штат преподавателей, выбрать из перечня её доступных полей те, которые должны присутствовать в запросе и перевести каждое нажатием кнопки [>]. Аналогично в запрос добавляются поля из других таблиц той же БД.

Примечание. Запрос может составляться только по таблицам или только по запросам БД. Объединение в запросе полей из таблицы и запроса не допускается.

Рисунок 2 Выбор полей для запроса.

Перекрестный запрос имеет вид таблицы, в которой выводится до трёх полей (столбцов) исходной таблицы, ячейки одного из оставшихся преобразуются в новые столбцы, а на их пересечении выводится одно из указанных пользователем значений – Дисперсия, Минимум, Максимум, Среднее, Отклонение, Число, Первое, Последнее и др. Например, запрос на рис. 4 является перекрёстным запросом таблицы 1 на рис. 3, в котором величины расстояний стали названиями столбцов:

Вариант Повторяющиеся записи создаёт запрос на поиск повторяющихся записей (строк) в одной таблице или запросе, для таблицы на рис. 3 при заданных полях Расстояние и Стоимость проезда он имеет вид (рис.5)

MS Access позволяет создать такой запрос только для одной таблицы или запроса (не для нескольких таблиц БД), причём в нём нужно задавать

Рисунок 3 Таблица 1 для создания перекрёстного запроса


Рисунок 4 Перекрёстный запрос табл. 1

только те поля, в которых есть полное одновременное совпадение данных из записей (например, поле Транспорт в этот запрос включать нельзя). Дополнительно, для распознавания, можно включить неповторяющееся поле (Город).

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

Рисунок 6 Основная таблица 1

Запрос без подчинённых на сравнение таблиц рис. 3 и рис. 6 выведет на экран несовпадающую строку (рис. 7):

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

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


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

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


Тема:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

SQL -режим.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Операция

Значение

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

Сложение

Умножение

Деление

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

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

Равно

Меньше

Больше

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

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

Не равно

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

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

Все условия

Between

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Для этого:

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

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

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

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

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

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

Для этого:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Лекция 16. Создание запросов средствами MS Access 2000

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

§ соединение данных нескольких таблиц;

§ отображение только требуемых полей;

§ формирование сложных критериев отбора записей;

§ вычисления с использованием данных из исходных таблиц;

§ группировку информации по каким-либо критериям;

§ модификацию данных в таблицах.

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

§ Конструктор запросов – средство конструирования запросов с использованием QBE (Query by example – запрос по образцу), требует минимальных знаний. Средство, уступающее режиму SQL .

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

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

§ Запрос на повторяющиеся записи – средство создания запросов для выявления повторяющихся записей, выполнено в виде мастера.

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

Создание запросов начинается с выбора категории «Запросы» окна диалога «Базы данных». Затем, кнопкой «Создать» может быть вызвано окно диалога «Новый запрос», в котором выбирается один из вариантов создания запроса (рисунок 16.1).

Рисунок 16.1 - Диалоговое окно «Новый запрос»

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

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


Рисунок 16.2 - Окно мастера создания запросов

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

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

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

§ На втором шаге работы мастера определяется тип запроса: подробный или итоговый. Если выбран итоговый запрос, то необходимо определить итоговые операции над полями запроса: Max , Min , Sum , Avg или Count .

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

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

Конструктор редко используется для создания запросов, чаще используется как средство модификации уже существующих. Конструктор запросов использует QBE (Query by example – запрос по образцу) позволяющий сформировать относительно сложные запросы на основе специального бланка, заполнение которого позволяет сформировать запрос, безусловно, этот способ уступает непосредственному использованию конструкций языка SQL , но требует значительно меньших знаний.

При необходимости можно использовать язык SQL , для этого необходимо перейти в режим SQL , переход выполняется командой контекстного меню конструктора запросов – «Режим SQL ».

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


Рисунок 16.3 - Окно конструктора запроса. Пример ввода условия.

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

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

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

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

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

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

Количество строк в QBE может варьироваться в зависимости от типа создаваемого запроса, например при использовании группировки появится новая строка – «Групповая операция».

Установка критериев отбора записей

Определение критериев выборки в запросах является одной из основных задач. Чтобы сформировать требуемый пользователю набор данных необходимо определить значения условий отбора в строке «Условие отбора:» QBE. В условиях отбора можно использовать логические операторы (or , and , not ), операторы сравнения (<, >, <=, >=, <>, = ), а также операторы Between , In и Like .

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

1. ввести всё условие в одну ячейку строки «Условие отбора:», с использованием логическогооператораили (or ).

2. одну часть условия указать в ячейке строки «Условие отбора:», а вторую часть условия вписать в нижнюю ячейку строки «Или:».

Оба варианта будут эквивалентными, второй вариант изображен на рисунке 16.4. Результатом этого запроса будет список студентов имеющих оценки 4 или 5.


Рисунок 16.4 - Использование логического оператора или ( or ) .

Логическая операцияи ( and ) используется в том случае, когда должны быть выполнены оба условия одновременно и только в этом случае запись будет включена в результирующий набор данных. Например, условие >2 and <5 даст список студентов имеющих оценки 3 и 4.

Логическая операция and может быть использована не только для одного поля, но и для нескольких полей, условия в которых должны выполниться одновременно, однако, в этом случае она используется неявно. На рисунке 16.5 показано неявное использование логической операции and . В результате такого запроса будут выданы все студенты, проживающие в городе «Уфа» и имеющие оценку 5. Фактически, если заглянуть в код SQL (в режиме SQL ) то можно увидеть следующее условие:

[Студенты].[Город] = “Уфа” and [Студенты и занятия].[Балл] = “5”


Рисунок 16.5 – Пример использования логической операции и ( and )

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

Оператор B etween позволяет задать диапазон значений, например диапазон от 10 до 20 может быть определен следующим образом:

between 10 and 20

Оператор I n позволяет использовать для сравнения список значений, указываемый в качестве аргумента. Например:

in (“первый”,”второй”,”третий”)

Оператор L ike полезен для поиска образцов в текстовых полях, причем позволяет использовать шаблоны:

* - обозначает любое количество символов;

Любой одиночный символ;

# - указывает, что в данной позиции должна быть цифра.

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

Like П*ов

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

>#31.12.1996#

Если требуется выделить временные события конкретного дня, месяца или года, то можно использовать встроенные функции MS Access :

§ Day (дата) – возвращает значение дня месяца в диапазоне от 1 до 31;

§ Month (дата) – возвращает значение месяца в диапазоне от 1 до 12;

§ Year (дата) – возвращает значение года в диапазоне от 100 до 9999;

Текущую дату можно определить функцией Now (), используемую без аргументов.

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

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

Надбавка: [ Оклад]*0.15

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

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

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

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


Рисунок 16.6 - Окно построителя выражений

Прежде чем применить созданное выражение, рекомендуется определить имя вычисляемого поля, например «Сумма»:

Сумма: [ЦОтп]*[КолОтп]

После нажатия «ОК» полученный результат будет помещен в новый столбец бланка QBE.

Контрольные вопросы

1. Что такое запрос?

2. В чем заключаются функции запроса?

3. Какие способы создания запросов существуют в MS Access ?

4. Чем отличаются возможности различных способов создания запросов?

5. Как создается запрос с помощью мастера?

6. Что представляет собой бланк запросов?

7. Как сформировать условия отбора записей?

8. Назовите основные логические операторы.

9. Что представляет собой оператор b etween?

10. В чем назначение оператора Like ?

11. Как создаются вычисляемые поля?

12. Преимущества и недостатки конструктора запросов?


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

Задание 1. Создайте запрос «Просроченные книги», по следующему описанию:

1. В окне «Базы данных» выбираем категорию «Запросы».

2. Открываем окно мастера командой «Создание запроса с помощью мастера».

3. В раскрывающемся списке «Таблиц и запросы» выбираем таблицу «Книги». Из списка «Доступные поля» в список «Выбранные поля» перемещаем поля «Название» и «Автор».

4. В раскрывающемся списке «Таблиц и запросы» выбираем таблицу «Экземпляры». Из списка «Доступные поля» в список «Выбранные поля» перемещаем поля «Инвентарный номер», «Дата возврата» и «Наличие».

5. В раскрывающемся списке «Таблиц и запросы» выбираем таблицу «Читатели». Из списка «Доступные поля» в список «Выбранные поля» перемещаем поля «Номер_ЧБ», «ФИО», «Тел_дом», «Тел_раб». Нажимаем кнопку «Далее».

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

7. Указываем имя запросаПросроченные_книги и нажимаем кнопку «Готово».

8. Откроем запрос«Просроченные_книги» в режиме конструктора, нажав кнопку «Конструктор» (рисунок 16.7).


9. В бланке запроса в строке «Условие отбора» для поля «Дата_возврата» укажем значение < Now ().

10. В бланке запроса в строке «Условие отбора» для поля «Наличие» установим значение нет и снимем флажок «Вывод на экран».

11. Закроем окно конструктора.

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

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

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

Задание 4. Создайте запрос на получение списка книг одного автора.

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

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

Рассмотрим запросы на выборку в 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 .