Invest-currency.ru

Как обезопасить себя в кризис?
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Параметрический запрос в access

Использование параметров для ввода данных при выполнении запроса

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

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

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

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

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

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

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

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

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

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

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

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

Повторите шаг 2 для каждого поля, в которое необходимо добавить параметры.

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

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

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

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

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

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

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

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

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

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

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

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

Откройте запрос на объединение в режиме SQL.

Добавьте к нему предложение WHERE, содержащее поля, в которые нужно добавить параметры.

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

Введите запрос параметра в предложение WHERE, например WHERE [StartDate] = [Введите дату начала:].

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

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

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

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

В строке Условия поля, в которое нужно добавить параметр, введите Like «*»&[, текст сообщения, а затем ]&»*».

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

:

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

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

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

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

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

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

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

Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).

Запрос с параметром (параметрический запрос)

Как правило, запросы с параметром (рис. 10.34) создаются в тех случаях, когда предполагается выполнять этот запрос многократно, изменяя лишь условия отбора.

Чтобы определить параметр, введите в строку «Условие отбора» вместо конкретного значения имя или фразу, заключенную в квадратные скобки ([]). То, что заключено внутри квадратных скобок, Access рассматривает как имя параметра. Оно выводится в окне диалога при выполнении запроса, поэтому в качестве имени параметра разумно использовать содержательную фразу. В запросе можно задать

Рис. 10.34. Пример создания запроса с параметром

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

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

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

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

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

В режиме конструктора сформируйте запрос на выборку.

Измените тип запроса на Перекрестный (вкладка Работа с запросами, группа Тип запроса) (рис. 10.35).

Рис. 10.35. Кнопка Перекрестный запрос

В нижней части бланка запроса появятся строки «Групповая операция» и «Перекрестная таблица» (рис. 10.36).

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

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

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

Рис. 10.36. Конструктор Перекрестного запроса

пример суммирования (Sum), определения среднего значения (Avg) или количества (Count)).

В качестве примера рассмотрим создание перекрестного запроса, отображающего количество товаров, хранящихся на складах. В заголовках строк укажем наименования товаров, в заголовках столбцов – номера складов (рис. 10.37).

Рис. 10.37. Пример создания перекрестного запроса

Вычисляемые поля в запросах

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

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

Вычисляемое поле может также содержать результат конкатенации (объединения) значений текстовых полей. Для этого заключите текст в кавычки, в качестве оператора конкатенации используется символ «&». Например, можно создать поле, которое будет содержать результат объединения поля [Фамилия] и поля [Имя].

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

Создание вычисляемого поля осуществляется путем простого ввода выражения для вычисления в ячейку «Поле» пустого столбца бланка запроса (рис. 10.38).

Рис. 10.38. Создание вычисляемого поля

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

В режиме конструктора запроса измените имя «Выражение!» на более содержательное. В примере «Выражение!» изменено на «ЦенаСоСкидкой».

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

Рис. 10.39. Построитель выражений

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

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

Запрос с параметром (параметрический запрос)

Как правило, запросы с параметром (рис. 10.34) создаются в тех случаях, когда предполагается выполнять этот запрос многократно, изменяя лишь условия отбора.

Чтобы определить параметр, введите в строку «Условие отбора» вместо конкретного значения имя или фразу, заключенную в квадратные скобки ([]). То, что заключено внутри квадратных скобок, Access рассматривает как имя параметра. Оно выводится в окне диалога при выполнении запроса, поэтому в качестве имени параметра разумно использовать содержательную фразу. В запросе можно задать

Рис. 10.34. Пример создания запроса с параметром

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

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

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

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

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

В режиме конструктора сформируйте запрос на выборку.

Измените тип запроса на Перекрестный (вкладка Работа с запросами, группа Тип запроса) (рис. 10.35).

Рис. 10.35. Кнопка Перекрестный запрос

В нижней части бланка запроса появятся строки «Групповая операция» и «Перекрестная таблица» (рис. 10.36).

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

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

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

Рис. 10.36. Конструктор Перекрестного запроса

пример суммирования (Sum), определения среднего значения (Avg) или количества (Count)).

В качестве примера рассмотрим создание перекрестного запроса, отображающего количество товаров, хранящихся на складах. В заголовках строк укажем наименования товаров, в заголовках столбцов – номера складов (рис. 10.37).

Рис. 10.37. Пример создания перекрестного запроса

Вычисляемые поля в запросах

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

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

Вычисляемое поле может также содержать результат конкатенации (объединения) значений текстовых полей. Для этого заключите текст в кавычки, в качестве оператора конкатенации используется символ «&». Например, можно создать поле, которое будет содержать результат объединения поля [Фамилия] и поля [Имя].

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

Создание вычисляемого поля осуществляется путем простого ввода выражения для вычисления в ячейку «Поле» пустого столбца бланка запроса (рис. 10.38).

Рис. 10.38. Создание вычисляемого поля

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

В режиме конструктора запроса измените имя «Выражение!» на более содержательное. В примере «Выражение!» изменено на «ЦенаСоСкидкой».

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

Рис. 10.39. Построитель выражений

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

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

Параметрические SQL запросы в СУБД Access

Параметрические SQL запросы или запросы с параметрами в СУБД Access 2003 и 2007

В данной статье рассмотрим параметрические SQL запросы или запросы с параметрами на выборку данных из таблиц БД Access. Для создания SQL запроса откроем базу данных sql_training_st1_calcul.mdb.

Известно, что для извлечения информации, хранящейся в базе данных БД Access 2003 или 2007, можно применить запрос SELECT на выборку данных из таблиц. Что касается запроса с параметрами, то он извлекает данные лишь в том случае, когда в диалоговом окне «Введите значение параметра» будет введено имя параметра отбора.

Составим параметрический SQL запрос (инструкцию SQL), для этого в открытой БД sql_training_st1_calcul.mdb на вкладке «Создание» выберем команду «Конструктор запросов». Откроется активное окно диалога «Добавление таблицы» на фоне неактивного окна «Запрос1», далее надо закрыть окно диалога «Добавление таблицы». Затем на контекстной вкладке «Конструктор» выберем режим SQL, выполнив команду SQL, в результате в окне редактирования будет отображаться оператор SELECT.

Вводим с клавиатуры следующую инструкцию SQL:
SELECT Группы.Название, Студенты.Фамилия, Дисциплины.Название, Успеваемость.Оценка
FROM (Группы INNER JOIN Студенты ON Группы.КодГруппы = Студенты.КодГруппы) INNER JOIN (Дисциплины INNER JOIN Успеваемость ON Дисциплины.КодДисциплины = Успеваемость.КодДисциплины) ON Студенты.КодСтудента = Успеваемость.КодСтудента
WHERE ((Студенты.Фамилия)=[Введите фамилию])
ORDER BY Студенты.Фамилия;

Эта инструкция состоит из четырех предложений «SELECT. . .», «FROM. . .», «WHERE. » и «ORDER BY. «.
Первое предложение содержит оператор SELECT и идентификатор «Группы.Название, Студенты.Фамилия, Дисциплины.Название, Успеваемость.Оценка». Выбор данных осуществляется из четырех полей четырех таблиц. Чтобы однозначно идентифицировать поля в запросе, перед именами полей указаны имена таблиц (например, Группы.Название).

Второе предложение содержит оператор FROM и идентификатор «(Группы INNER JOIN Студенты ON Группы.КодГруппы=Студенты.КодГруппы) INNER JOIN (Дисциплины INNER JOIN Успеваемость ON Дисциплины.КодДисциплины=Успеваемость.КодДисциплины) ON Студенты.КодСтудента=Успеваемость.КодСтудента».

FROM — определяет таблицы «Группы», «Студенты», «Дисциплины» и «Успеваемость», которые содержат поля, указанные в предложении SELECT, и обеспечивает взаимосвязи таблиц через ключевые поля таблиц с помощью конструкции INNER JOIN . ON. Следует отметить, что операторы: SELECT и FROM всегда присутствуют в запросах на выборку.

Третье предложение содержит оператор WHERE и идентификатор «((Студенты.Фамилия)=[Введите фамилию])», определяющий условия отбора.
Четвертое предложение содержит оператор ORDER BY и идентификатор «Студенты.Фамилия». ORDER BY не является обязательным оператором и применяется для сортировки выходных данных.

На рисунке 1 представлен скриншот параметрического SQL запроса на выборку данных, сохраненный с именем «Запрос_с_параметрами».

В результате выполнения команды «Сохранить» в «Области переходов» появится объект — «Запросы: Запрос_с_параметрами».

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

Для выполнения запроса введем имя параметра отбора (Воронина) в диалоговое окно «Введите значение параметра» и щелкнем на кнопке «OK».

Результаты выполнения команды «Выполнить» представлены на рис. 3.

Запрос с параметром (параметрический запрос)

Как правило, запросы с параметром создаются в тех случаях, когда предполагается выполнять этот запрос многократно, изме­няя лишь условия отбора. В отличие от запроса на выборку, где для каждого условия отбора создается свой запрос и все эти за­просы хранятся в БД, параметрический запрос позволяет создать и хранить один единственный запрос и вводить условие отбора (значение параметра) при запуске этого запроса, каждый раз по­лучая новый результат. В качестве параметра может быть любой текст, смысл которого определяет значение данных, которые бу­дут выведены в запросе. Значение параметра задается в специаль­ном диалоговом окне. В случае, когда значение выводимых дан­ных должно быть больше или меньше указываемого значения параметра, в поле «Условие отбора» бланка запроса перед пара­метром, заключенным в квадратные скобки ставится соответст­вующий знак. Можно также создавать запрос с несколькими па­раметрами, которые связываются друг с другом логическими опе­рациями И и ИЛИ. В момент запуска запроса на выполнение MS Access отобразит на экране диалоговое окно для каждого из пара­метров. Помимо определения параметра в бланке запроса, необ­ходимо указать с помощью команды Запрос Параметры соот­ветствующий ему тип данных:

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

2. В качестве условия введите параметр, заключенный в квад­ратные скобки (например, [Введите название] или >[Выше какого роста?]).

3. Выберите команду Запрос > Параметры.

4. В появившемся окне Параметры запроса введите без квад­ратных скобок параметр (для точности ввода воспользуй­тесь «быстрыми» клавишами копирования и вставки из бу­фера обмена) и укажите соответствующий ему тип данных. Нажмите ОК.

5. Нажмите кнопку Запуск панели инструментов.

6. В появившемся окне укажите значение параметра.

7. Результат запроса будет содержать только те записи, кото­рые удовлетворяют заданному значению параметра.

Вычисляемые поля в запросах

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

• квадратные скобки ([. ]), в них заключаются имена элемен­тов управления;

• знаки номеров (ft), в них заключаются распознанные даты;

• кавычки («»), в них заключается текст, не содержащий про­белов или знаков пунктуации.

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

Например: Прибыль: [Доход]-[Расход].

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

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

2. После выполнения запроса в результирующей таблице поя­вится новое поле с названием «Выражение!», используемым в качестве имени вычисления выражения.

3. В режиме конструктора запроса измените имя «Выраже­ние!» на более значимое.

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

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

Запросы позволяют производить итоговые вычисления. Для этих целей в Access 97 предусмотреныстатистические функции SQL (рис. IV.6). Статистическую функцию задают в строке Груп­повая операция бланка запросов, которая появляется при выпол­нении команды Вид > Групповые операции.

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