Semenalidery.com

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

Запрос с параметром в access 2020

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

Запрос в Access является объектом, который сохраняется в файле базы данных и может многократно повторяться. Все запросы, которые мы демонстрировали до сих пор, содержали конкретные значения дат, названий, имен и т. д. Если требуется повторить такой запрос с другими значениями в условиях отбора, его нужно открыть в режиме Конструктора, изменить условие и выполнить. Чтобы не делать многократно этих операций, можно создать запрос с параметрами. При выполнении такого запроса выдается диалоговое окно Введите значение параметра (Enter Parameter Value), в котором пользователь может ввести конкретное значение и затем получить нужный результат.

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

  1. Откройте данный запрос в режиме Конструктора.
  2. Чтобы определить параметр запроса, введите в строку Условие отбора (Criteria) для столбца «Название» (CompanyName) вместо конкретного значения слово или фразу и заключите их в квадратные скобки, например [Поставщик:]. Эта фраза будет выдаваться в виде приглашения в диалоговом окне при выполнении запроса.
  3. Если вы хотите, чтобы Access проверяла данные, вводимые в качестве параметра запроса, нужно указать тип данных для этого параметра. Обычно в этом нет необходимости при работе с текстовыми полями, т.к. по умолчанию параметру присваивается тип данных Текстовый (Text). Если же данные в поле запроса представляют собой даты или числа, рекомендуется тип данных для параметра определять. Для этого щелкните правой кнопкой мыши на свободном поле в верхней части запроса и выберите из контекстного меню команду Параметры (Parameters) или выполните команду меню Запрос, Параметры (Query, Parameters). Появляется диалоговое окно Параметры запроса (Query Parameters), представленное на рис. 4.31.

Рис. 4.31. Диалоговое окно Параметры запроса

  1. В столбец Параметр (Parameter) нужно ввести название параметра точно так, как он определен в бланке запроса (легче всего это сделать путем копирования через буфер обмена), только можно не вводить квадратные скобки. В столбце Тип данных (Data Type) выберите из раскрывающегося списка необходимый тип данных. Нажмите кнопку ОК.
  2. Нажмите кнопку Запуск (Run) на панели инструментов, чтобы выполнить запрос. При выполнении запроса появляется диалоговое окно Введите значение параметра (Input Parameter Value) (рис. 4.32), в которое нужно ввести значение, например Tokyo Traders. Результат выполнения запроса представлен на рис. 4.33. В него попадают только те товары, которые поставляются данным поставщиком.

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

Рис. 4.32. Диалоговое окно Введите значение параметра

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

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

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

Эквивалент любого количества символов в любом месте строки данных

Откройте запрос в конструкторе. Для этого щелкните его правой кнопкой мыши в области навигации в разделе Запросы и выберите пункт Конструктор.

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

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

Эквивалент одного символа внутри шаблона

Откройте запрос в конструкторе.

В ячейке Условие отбора необходимого вам поля введите перед условием отбора оператор Like.

Замените один или несколько символов в условии подстановочным знаком. Например, запрос Like R?308021 возвращает результаты RA308021, RB308021 и т. д.

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

Получение списка компаний от А до Н

Откройте запрос в конструкторе.

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

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

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

Таблица подстановочных знаков

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

Соответствует любому количеству (от нуля и более) символов.Может использоваться в качестве первого или последнего символа в строке символов.

По запросу «чт*» будут найдены слова «чт», «что», «чтение» и «чтиво»

Читать еще:  Access is allowed

Соответствует любому одиночному символу алфавита.

По запросу «ст?л» будут найдены слова «стол», «стал» и «стул»

Соответствует любому одиночному символу, указанному в квадратных скобках.

По запросу «ст[оу]л» будут найдены слова «стол», «стул», но не «стал»

Соответствует любому символу, не указанному в квадратных скобках.

По запросу «ст[!оу]л» будут найдены слова «стал» и «стыл», но не «стол» или «стул»

Соответствует любому символу из диапазона. Диапазон следует указывать в алфавитном порядке (от А до Я, а не от Я до А).

По запросу «с[а-ы]н» будут найдены слова «сан», «сон» и «сын»

Соответствует любому цифровому символу.

По запросу «1#3» будут найдены числа 103, 113 и 123.

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

В данных одни пользователи обозначены словом «владелец», а другие — словами «владелец/оператор».

Like «владелец*» или
Like «*владелец*»

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

Этот запрос возвращает все рецепты, содержащие слово «рыба», например «свежая рыба», «красная рыба» и т. д.

При вводе данных кто-то допустил ошибку, например вместо «Элина» написал «Элиза».

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

Необходимо найти инвентарные номера, у которых все цифры, кроме второй и третьей, одинаковые.

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

Like «ул. Парковая, 1###»

Синтаксис для извлечения подстановочных знаков из данных

Открывающая и закрывающая квадратные скобки вместе ([])

Открывающая квадратная скобка ([)

Закрывающая квадратная скобка (])

Специальная обработка не требуется

Специальная обработка не требуется

Выбор набора подстановочных знаков

СУБД Access (ANSI-89) и SQL Server (ANSI-92)

Стандарт ANSI-89 описывает традиционный синтаксис Access SQL, который по умолчанию используется в базах данных Access. Подстановочные знаки соответствует спецификации Microsoft Visual Basic® для приложений (VBA), а не SQL.

Стандарт ANSI-92 используется в тех случаях, когда необходимо обеспечить совместимость синтаксиса с базой данных Microsoft SQL Server™.

Рекомендуется не смешивать два типа подстановочных знаков в одной базе данных.

Подстановочные знаки для СУБД Access (ANSI-89)

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

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

По запросу «чт*» будут найдены слова «что», «чтение» и «чтиво»

Соответствует любому одиночному знаку алфавита.

По запросу «ст?л» будут найдены слова «стол», «стал» и «стул»

Соответствует любому одиночному символу, указанному в квадратных скобках.

По запросу «ст[оу]л» будут найдены слова «стол», «стул», но не «стал».

Соответствует любому символу, не указанному в квадратных скобках.

По запросу «ст[!оу]л» будут найдены слова «стал» и «стыл», но не «стол» или «стул»

Соответствует любому символу из диапазона. Диапазон следует указывать в алфавитном порядке (от А до Я, а не от Я до А).

По запросу «с[а-ы]н» будут найдены слова «сан», «сон» и «сын»

Соответствует любому цифровому символу.

По запросу «1#3» будут найдены числа 103, 113 и 123.

Подстановочные знаки для SQL Server (ANSI-92)

Эти подстановочные знаки следует использовать в запросах, созданных для базы данных Microsoft SQL Server™.

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

По запросу «чт*» будут найдены слова «что», «чтение» и «чтиво»

Соответствует любому одиночному символу алфавита.

По запросу «ст?л» будут найдены слова «стол», «стал» и «стул»

Соответствует любому одиночному символу, указанному в квадратных скобках.

По запросу «ст[оу]л» будут найдены слова «стол», «стул», но не «стал».

Соответствует любому символу, не указанному в квадратных скобках.

По запросу «ст[!оу]л» будут найдены слова «стал» и «стыл», но не «стол» или «стул»

Соответствует любому символу из диапазона. Диапазон следует указывать в алфавитном порядке (от А до Я, а не от Я до А).

По запросу «с[а-ы]н» будут найдены слова «сан», «сон» и «сын»

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

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

Запросы с параметрами работают по двум вариантам:

Читать еще:  Web accessible resources

· отбор данных происходит в отдельном диалоговом окне. Такие диалоговые окна существуют в любой справочной системе, где вводится вопрос, и программа ищет ответ;

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

1. Диалоговое окно для запроса

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

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

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

После слова «введите» указывается название поля (рис. 18).

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

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

Рис. 19. Диалоговое окно Введите значение параметра

После ввода параметра в диалоговом окне Введите значение параметранажмите ОК, и на экране появится таблица с выбранными параметрами (рис. 20).

Рис. 20. Результат действия запроса с параметром

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

2. Отбор данных в таблице запроса

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

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

Рис. 21. Создание итогового запроса

Функции в раскрывающемся списке имеют краткое обозначение (табл. 11).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Читать еще:  Установка sharepoint server

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Studhelper IT

Разработка приложений, переводы книг по программированию

Страницы

воскресенье, 31 мая 2015 г.

Запуск параметрического запроса Access из формы

Обычный способ разработки запроса с параметром в Access – создать параметры и установить их в условиях отбора с квадратными скобками. При запуске запроса последовательно появляются окна ввода, в которые пользователь должен ввести нужные значения. При этом нельзя вернуться к предыдущему окну и исправить ошибочно введенные данные. Пользователь должен вводить значения вручную, без выбора из списка, что тоже повышает вероятность ошибки.
Рассмотрим еще способ, при котором данные будут подставляться из формы.
Для примера возьмем базу данных абитуриентов. Создадим запрос, который будет отбирать абитуриентов по специальности и учебному заведению. Запускаться запрос будет из формы. На вкладке «Создание» в разделе «Формы» выберем пункт «Пустая форма».
Добавим на форму 2 поля со списком и две кнопки.
Поле со списком
На первом шаге выбираем способ получения значений:

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

Затем выберем нужные поля для помещения в поле:

Следующий шаг – сортировка. Установим по названию, но можно и по шифру.
Затем скрываем ключевой столбец

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

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

Коды можно не выводить на экран.
Поставим параметры в условие отбора. Для этого нажимаем правую кнопку мыши на ячейку «Условие отбора» в нужном поле и выбираем пункт контекстного меню «Построить». Затем выбираем значения как на рисунке:

Нажимаем Ок.
Подставленное значение:
[Формы]![Форма для отбора по специальности и Уз]![ПолеСпециальность]
Затем так же создаем параметр в поле кода учебного заведения, но выбираем другое поле со списком.
Сохраняем запрос («ПарамЗапрос»).
Возвращаемся в форму и добавляем кнопку «Выполнить запрос».
На первом шаге Мастера запросов выбираем действие: категория «Разное», действие «Выполнить запрос». Затем из списка запросов выбираем наш «ПарамЗапрос». Затем выбираем подпись или картинку для кнопки. Сохраняем кнопку.
Добавляем вторую кнопку – для выхода. С помощью мастера указываем категорию – «Работа с формой», действие «Закрыть форму».
Сохраняем форму.
После запуска формы выбираем нужные поля и запускаем запрос:

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