Для чего предназначен запрос с параметром. Запросы с параметрами. Видео: использование параметров в запросах

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

Примечание: Эта статья не относится к веб-приложениям Access.

Терминология

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

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

    • на выборку;

      перекрестный;

      на добавление;

      на создание таблицы;

      на обновление.

    Условия. Условия - это "фильтры", добавляемые в запрос для указания элементов, которые он должен возвратить.

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

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

Создание параметра аналогично добавлению обычного условия в запрос:

При запуске запроса текст отображается без квадратных скобок.

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

В условии можно использовать несколько параметров. Например, выражение Between [Введите дату начала:] And [Введите дату окончания:] при выполнении запроса создаст два поля.

Указание типов данных для параметра

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

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

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

    Когда запрос открыт в конструкторе, на вкладке Конструктор в группе Показать или скрыть нажмите кнопку Параметры .

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

    В столбце Тип данных выберите тип данных для каждого параметра.

Добавление параметра в запрос на объединение

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


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

Объединение параметров с помощью подстановочных знаков для большей гибкости

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


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

:

После ввода параметра запрос возвратит значения, содержащие строку параметра. Например, строка параметра us возвратит элементы, в которых поле параметра имеет значение "Австралия" или "Австрия".

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

Возврат элементов, не соответствующих параметру

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

Видео: использование параметров в запросах

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

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

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

[Введите наименование товара]

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

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

Between [Введите начальную дату:] And [Введите конечную дату:];

Чтобы запросить у пользователя один или несколько символов для поиска записей, которые начинаются с этих символов или содержат их, создают запрос с параметрами, использующий оператор Like и подстановочный знак “звездочка” (*). Например, выражение

Like [Введите первый символ для поиска: ] & *

выполняет поиск слов, начинающихся с указанного символа, а выражение

Like * & [Введите любой символ для поиска: ] & *

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

Формирование условий отбора в запросах

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

Таблица 8.1 Операции для формирования условий отбора

Примеры формирования различных условий отбора представлены в таблице 8.2.

Таблица 8.2 Формирование условий отбора

Тип данных Постановка задачи Пример формирования условия отбора
Текстовый Вывод записей с названием товара DDR 512 Mb DDR 512 Mb
Дата/время Вывод записей с датой 23.03.09 #23.03.09#
Текстовый Вывод записей с названием товара DDR 512 Mb или DDR 1024 Mb DDR 512 Mb orDDR 1024 Mb
Дата/время Вывод записей с датой 23.03.09 или 24.03.09 #23.03.09# or #24.03.09#
Текстовый Вывод записей с количеством товаров между 200 и 550 Between200 and 550
Целый Вывод записей с количеством товара в интервале (5; 15) >5 and <15
Целый Вывод записей с количеством товара в интервале >=10 and <=105
Целый Вывод записей с количеством товара больше 2600 >2600

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

Таблица 8.3 Маски в условиях отбора

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

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

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

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

2 2 В появившемся диалоговом окне указать команду Простой запрос.

3 3 Выбрать требуемые объекты и поля, нажать Далее .

4 4 Установить опцию Итоговый и нажать кнопку Итоги .

5 5 Указать вид итогов, которые следует вычислить. В итоговых запросах рассчитываются итоги только по числовым полям БД. Нажать последовательно кнопки ОК , Далее .

6 6 Ввести имя запроса, нажать кнопку Готово .

Создание параметрических запросов

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

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

Преимущества параметрического запроса:

Не нужно постоянно модифицировать запрос в режиме Конструктора;

Использование в формах и отчетах, т.к. каждый раз при их открытии MsA запрашивает у пользователей требуемый параметр.

Например :

Between [Введите начальную дату:] And [Введите конечную дату:].

Чтобы выполнить поиск слов, начинающихся с указанного символа:

LIKE [Введите первый символ для поиска:] & "*" Замечание : если необходимо изменить тип данных параметра, нужно выполнить команду Запрос ® Параметры и в диалоговом окне Параметры запроса ввести имена параметров в столбец Параметры в том виде в каком вводили в бланк QBE, а также Тип данных из списка. По умолчанию Тип параметра - Текстовый.

29.Создание итог. запросов. Установки групп. операций. Назначение группировки. Примеры.

Запросы, выполняющие вычисления в группах записей, называются итоговыми запросами .

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

Добавить строку Групповая операция можно след. образом:*Пункт меню Вид, Груп. операции; *Кнопка Σ (групповые операции) на панели инструментов.

Обобщающие запросы по всем записям

Обобщающие запросы для одной группы записей

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

Обобщающие запросы для нескольких групп записей

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



Группировка с использованием критериев

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

Эти ограничения можно применять к трем типам полей:

Ø поле, обработанное установкой Группировка;

Ø суммируемое поле;не суммируемое поле.

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

Ø Групповые функции

Sum- Вычисляет сумму всех значений поля.

Avg-вычисляет среднее значение поля.

Min- Находит наименьшее значение поля.

Max- Находит наибольшее значение поля.

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

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

Var- Вычисляет статистическую дисперсию. Если в группе меньше 2 строк функция возвращает 0

Ø Замечание 1: Функция Count возвращает количество всех записей с непустыми значениями в поле (т. е. полей, не содержащих значения Null) .

Ø Замечание 2: Функции Min, Max, Count применимы ко всем типам полей; Sum, Avg, StDev, Var – только к числовым и денежным, а First, Last к текстовым.

32. Вычисление общих итогов в запросах. Примеры.

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

Пример: Вычислить количество заказанных заказов, среднее значение скидки, максимальное и минимальное значение стоимости услуг.

34.Перекрестный запрос. Назначение. Правила и способы создания

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

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

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

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

Возможны 2 способа создания перекрестного запроса:

Ø Запрос ® Создать ® конструктор;

Ø выбрать таблицы, по которым будет создан перекрестный запрос;

Ø выбрать нужные поля;

Ø пункт меню Вид ® перекрестный или поле на панели инструментов – Вид запроса ® перекрестный;

Ø Заполняем строку Перекрестная таблица

Создание перекрестного запроса с помощью мастера

ü запрос ® создать ® перекрестный запрос

ü выбрать таблицу или запрос из которых будем выводить поля в запросе;

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

ü задаем имя запроса; готово.

Замечание:

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

Таким образов в запросе появилась новая строка Перекрестная таблица, в которой нужно выбрать по крайней мере 3 поля:

Ø заголовки строк (Группировка);

Ø заголовки столбцов (Группировка);

Ø значения (групповая функция).

Результатом будет таблица:

заголовки строк: значения даты принятия заказа,

заголовки столбцов: названия городов

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

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

Условия могут устанавливаться для следующих типов полей:

Ø для любого нового поля;

Ø для поля заголовки строк;

Ø для поля заголовки столбцов.

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

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

В окне базы данных запросы-действия имеют каждый свою пиктограмму и! (кнопка запуска).

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

создать запрос выборку;2.перейти в режим просмотра результир. таблицы и просмотреть записи, выбранные в запросе; 3.преобразовать запрос выборку в запрос действие; 4.выполнить запрос: кнопка!;5проверить внесенные изменения. Создание запроса для изменения (обновления) значений

Для создания такого запроса, следует пройти 2 этапа:

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

2.преобразовать запрос-выборку в запрос-обновление и выполнить.

Т.о. сначала создадим запрос-выборку:

Преобразуем запрос на выборку в запрос на обновление:

выберем команду Запрос ® обновление , в запрос будет добавлена строка Обновление.

в строке Обновление в поле Скидка введем 0,15.

на панели инструментов щелкнуть кнопку!

для завершения вып-ия запроса нужно ответить Да.

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

Построим запрос-выборку;

Выбрать в меню Запрос ® создание таблицы;

В поле Имя таблицы – новое имя таблицы

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

Вывод дат лучше отключить.

Кнопка! ® Да.

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

Это наиболее опасный запрос!!!

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

Для этого нужно чтобы:

было определено отношение между таблицами;

включена опция Обеспечение целостности данных;

включена опция Каскадное удаление связанных записей.

  1. Необходимо построить запрос выборку;
  2. Запрос/удаление;

В таблице Заказы выбрать поле Дата принятия заказа;Для этого поля задайте критерий >=#1/01/08# and <#1.01.09#;Нужно проверить, что результирующая таблица содержит записи, относящиеся только к 2008 году;Режим конструктора;Кнопка!;Кнопка ДА. Записи будут удалены из таблиц.

38.Форма как объект БД. Наз-ие. Режимы просмотра. Способы проект-ия форм вACCESS

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

40-41.Режим Конструктора форм.Вид окна конструктора форм.Областиформы.Этапсозданияформы в Режиме Конструктора формы. Режим конструктора форм. При создании формы первоначально отображается только область данных. Чтобы добавить заголовок и примечания формы необходимо: Вид – Заголовок/примечание формы. Также форма может содержать верхний/нижний колонтитул.Заголовок данных. области данных (Раздел данных. Основной раздел формы или отчета. Этот раздел обычно содержит элементы управления, присоединенные к полям в источнике записей. Однако он может также содержать свободные элементы управления, такие как надписи, определяющие содержимое полей.)Выбрав на панели элементов элемент управления Поле, можно производить вычисления в выделенной области или добавлять данные следующим образом: Правая кнопка мыши – Свойства – Данные. Далее подставляем данные либо вводим выражение.

43.Элементы управления, их виды и назначение.

Панель элементов используется для размещения объектов в форме. Рассмотрим кнопки панели :

1.Выбор объектов(можно выделять любой элемент управления, разделять);2.Мастера(существуют мастера по созданию поля со списком, группы параметров, кнопки, диаграммы и подчин. формы);

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

Выключатель,Переключатель,Флажок испол-тся в кач-ве:1. отдельного элемента управления, связанного с логическим полем;2. свободного элемента управления, принимающего действия пользователя в специальном окне диалога;3. компонента группы параметров, в который отображаются значения для выбора.

Поле со списком: составной элемент управления, объединяющий поле и раскрывающийся список.

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

Кнопка: позволяет осуществить разнообразные действия в форме: поиск записи, форматирование отчета, установка/снятие фильтра и т.д.

Рисунок: осуществляет размещение рисунка, не являющегося объектом OLE.

Свободная рамка объекта: позволяет ввести свободный объект OLE, который остается неизменным при перемещении по записям.

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

Кроме этого еще: Разрыв страницы, Набор вкладок, Подчиненная форма/отчет, Линия, Прямоугольник, Другие элементы.

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

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

Пошаговая инструкция

id="a1">

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

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

  1. Для примера создайте запрос, демонстрирующий список преподавателей, работающих на определенной кафедре. Именно этот критерий будет изменяемым, потому в строчке «Условия отбора» необходимо ввести значение =[Введите название кафедры].
  2. Сохраните полученный фильтр под названием «Выборка преподавателям по кафедрам».
  3. Теперь после запуска вы увидите диалоговое окошко, в котором потребуется ввести необходимое название, после чего появится список преподавателей, которые числятся на этой кафедре.

Запрос с параметром в Aксесс можно задействовать в любом типе выборки: итоговой, перекрестной или в запросе-действии.

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

Пример

  1. Создайте запрос в режиме Конструктора на основе таблицы «Töötaja» (поля: Nimi, Perekonnanimi) и таблицы «Amet» (поле: Nimetus).
  2. Чтобы определить параметр запроса, введите в строку Criteria (Условие отбора) для столбца «Amet » (должность) вместо конкретного значения слово или фразу и заключите их в квадратные скобки, например Введи должность. Эта фраза будет выдаваться в виде приглашения в диалоговом окне при выполнении запроса.

3. Если вы хотите, чтобы Access проверяла данные, вводимые в качестве параметра запроса, нужно указать тип данных для этого параметра. Обычно в этом нет необходимости при работе с текстовыми полями, т.к. по умолчанию параметру присваивается тип данных Текстовый (Text) . Если же данные в поле запроса представляют собой даты или числа, рекомендуется тип данных для параметра определять. Для этого щелкните правой кнопкой мыши на свободном поле в верхней части запроса и выберите кнопку
(Параметры) Появляется диалоговое окно Query Parameters (Параметры запроса).

4. В столбец Параметр (Parameter) нужно ввести название параметра точно так, как он определен в бланке запроса (легче всего это сделать путем копирования), только можно не вводить квадратные скобки. В столбце Data Type (Тип данных) выберите из раскрывающегося списка необходимый тип данных. Нажмите кнопку ОК.

5. Нажмите кнопку (Запуск) , чтобы выполнить запрос. При выполнении запроса появляется диалоговое окно Введите значение параметра (Enter Parameter Value) ,

в которое нужно ввести значение, например õpetaja. В результате выполнения запроса мы увидем только те имена и фамилии, чья должность — учитель.

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