Создать запрос с параметром в access

Studhelper IT

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

Страницы

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

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

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

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

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

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

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

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

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

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

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

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

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

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

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

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

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

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

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

При запуске запроса с параметрами запрос появляется в диалоговом окне без квадратных скобок и без ключевого слова Like или
поддиаметров:
Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

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

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

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

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

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

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

Источник

Работе в программе в Microsoft Access

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

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

Источник

Использование параметров в запросах, формах и отчетах

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

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

В этой статье

Обзор

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

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

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

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

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

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

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

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

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

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

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

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

При запросе параметров также можно использовать выражения. Пример:

Between [Дата начала] And [Дата окончания]

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

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

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

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

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

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

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

Вместо условия в предложении WHERE используйте запрос параметра.

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

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

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

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

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

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

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

Создание формы для ввода параметров

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

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

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

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

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

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

Создание формы для ввода параметров для отчета

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

Шаг 1. Создайте форму для ввода значений

На вкладке Создание в группе Формы нажмите кнопку Конструктор форм.

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

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

Режим по умолчанию

Режим сводной таблицы

Режим сводной диаграммы

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

Задайте для полей свойства, как показано в таблице ниже.

Введите имя, описывающее параметр, например ДатаНачала.

Выберите формат, который соответствует типу данных поля параметра. Например, для поля даты выберите вариант Полный формат даты.

Сохраните форму и задайте для нее название, например frmCriteria.

Шаг 2. Создайте блок кода, проверяющий, загружена ли форма параметров

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

В редакторе Visual Basic откроется новый модуль.

Вставьте в редакторе следующий код:

Сохраните модуль под уникальным именем и закройте редактор Visual Basic.

Шаг 3. Создайте макрос, управляющий работой формы и отчета

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

Создать запрос с параметром в access. Смотреть фото Создать запрос с параметром в access. Смотреть картинку Создать запрос с параметром в access. Картинка про Создать запрос с параметром в access. Фото Создать запрос с параметром в access

Сохраните и закройте макрос. Задайте для макроса имя, например Макрос диапазона дат.

Шаг 4. Добавьте на форму кнопки «ОК» и «Отмена»

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

На вкладке Конструктор в группе Элементы управления отмените выбор параметра Использовать мастера.

На вкладке Конструктор в группе Элементы управления щелкните Кнопка.

Расположите курсор под полями на форме и мышью создайте кнопку ОК.

Если окно свойств не отображается, откройте его, нажав клавишу F4.

Задайте для кнопки ОК свойства согласно приведенной ниже таблице.

Введите имя макроса, например Макрос диапазона дат.ОК.

Создайте кнопку Отмена и задайте для нее свойства, как показано в таблице ниже.

Введите имя макроса, например Макрос диапазона данных.Отмена.

Сохраните и закройте форму.

Шаг 5. Используйте значения из формы в качестве условий запроса

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

Введите условия для данных. Используйте объект Forms, имя формы и имя элемент управления:

Например, в базе данных Access (ACCDB или MDB) для формы frmCriteria можно задать следующее выражение, ссылающееся на элементы управления «Дата начала» и «Дата окончания» в запросе:

Between [Формы]![frmCriteria]![Дата начала] And [Формы]![frmCriteria]![Дата окончания]

Шаг 6. Добавьте макрокоманды в события отчета

Откройте нужный отчет в режиме конструктора.

Если окно свойств не отображается, откройте его, нажав клавишу F4.

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

Задайте два дополнительных свойства отчета, как показано в таблице ниже.

Введите имя макроса, например Макрос диапазона дат.Открыть диалоговое окно.

Введите имя макроса, например Макрос диапазона дат.Закрыть диалоговое окно.

При открытии отчета Access будет выполнять команды, содержащиеся во вложенном макросе «Открыть диалоговое окно» объекта «Макрос диапазона дат». И аналогично: при закрытии отчета Access будет выполнять команды, содержащиеся во вложенном макросе «Закрыть диалоговое окно» объекта «Макрос диапазона дат».

Сохраните и закройте отчет.

Шаг 7. Проверьте форму в действии

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

Источник

Знакомство с запросами

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

быстрый поиск определенных данных путем фильтрации с применением определенных критериев (условий);

вычисление или сведение данных;

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

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

Запросы как средство поиска данных и работы с ними

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

Основные типы запросов

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

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

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

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

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

Просмотр данных из выбранных полей

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

Откройте базу данных и на вкладке Создание нажмите кнопку Конструктор запросов.

На вкладке «Таблицы» дважды щелкните таблицу «Товары».

Допустим, в таблице «Товары» содержатся поля «Наименование товара» и «Цена по прейскуранту». Дважды щелкните элементы Наименование товара и Цена по прейскуранту, чтобы добавить эти поля в бланк запроса.

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

Одновременный просмотр данных из нескольких связанных таблиц

Например, если у вас есть база данных для магазина, который продает продукты питания, и вы хотите просмотреть заказы клиентов, которые живут в конкретном городе. Скажем, данные о заказах и сведения о клиентах хранятся в двух таблицах с именами «Клиенты» и «Заказы» соответственно. Если каждая таблица имеет поле «ИД клиента», которое является основой отношение «один-ко-многим» между двумя таблицами. Вы можете создать запрос, возвращающий заказы для клиентов в конкретном городе, например в Лас-Вегасе, используя следующую процедуру:

Откройте базу данных. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.

На вкладке «Таблицы» дважды щелкните «Клиенты» и «Заказы».

Обратите внимание на линию (называемую соединением), которая соединяет поле «Код» в таблице «Заказчики» с полем «Код заказчика» в таблице «Заказы». Эта линия отображает связь между двумя таблицами.

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

В бланке запроса в столбце Город снимите флажок в строке Показать.

В строке Условие отбора столбца Город введите Тюмень.

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

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

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

Нажмите клавиши CTRL+S, чтобы сохранить запрос.

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

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

Примечание: Запрос с параметрами невозможно создать в веб-приложении Access.

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

В области навигации щелкните правой кнопкой мыши запрос Заказы по городу (созданный в предыдущем разделе) и выберите в контекстном меню пункт Конструктор.

В бланке запроса в строке Условие отбора столбца «Город» удалите слово Тюмень и введите [Для какого города?].

Строка [Для какого города?] является предложением ввести параметр. Квадратные скобки показывают, что при выполнении запроса должно появиться предложение ввести данные, а текст (в данном случае Для какого города?) представляет собой вопрос, отображаемый в предложении.

Установите флажок в строке Показать столбца «Город», чтобы в результатах запроса отображался город.

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

Введите слово Москва и нажмите клавишу ВВОД, чтобы увидеть заказы для клиентов в Москве.

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

На вкладке Главная в группе Представления нажмите кнопку Представление и выберите пункт Конструктор.

В бланке запроса в строке Условие отбора столбца Город введите Like [Для какого города?]&»*».

В этом предложении ввести параметр ключевое слово Like, амперсанд ( &) и звездочка ( *), заключенная в кавычки, позволяют ввести сочетание знаков, включая подстановочные знаки, для получения разных результатов. Например, если пользователь вводит *, запрос возвращает все города; если пользователь вводит М, запрос возвращает все города, начинающиеся на букву «М»; если пользователь вводит *с*, запрос возвращает все города, в названиях которых имеется буква «с».

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

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

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

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

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

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

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

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

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

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

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

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

Примечание: В веб-приложении Access агрегатные функции использовать нельзя.

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

На вкладке Главная нажмите кнопку Режим и выберите Конструктор.

Запрос «Промежуточные суммы для товаров» будет открыт в конструкторе.

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

В бланке запроса отобразится строка Итоги.

Примечание: Несмотря на схожие названия, строка Итоги в бланке и строка Итог в таблице — не одно и то же.

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

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

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

Во втором столбце бланка в строке Итог выберите в раскрывающемся списке вариант Sum.

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

Нажмите клавиши CTRL+S, чтобы сохранить запрос. Оставьте запрос открытым.

Выполнение расчетов на основе данных

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

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

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

На вкладке «Таблицы» дважды щелкните «Сведения о заказе».

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

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

В диалоговом окне Область ввода введите или вставьте следующее выражение: Промежуточный итог: ([Количество]*[Цена за единицу])-([Количество]*[Цена за единицу]*[Скидка])

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

Нажмите клавиши CTRL+S, чтобы сохранить запрос, и назовите его Промежуточные суммы для товаров.

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

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

Запустите ранее созданный запрос «Итоги по продуктам» и оставьте результаты открытыми в Режим таблицы.

На вкладке «Главная» нажмите кнопку «Итоги». В нижней части таблицы появится новая строка со словом «Итог» в первом столбце.

Щелкните ячейку в последней строке с именем Итог.

Щелкните стрелку, чтобы просмотреть доступные агрегатные функции. Поскольку столбец содержит текстовые данные, существует только два варианта: «Нет» и «Количество».

Выберите Количество. Содержимое ячейки изменится с Итог на число значений в столбце.

Щелкните соседнюю ячейку (второй столбец). Обратите внимание на стрелку, которая появилась в ячейке.

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

Оставьте запрос открытым в режиме таблицы.

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

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

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

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

На вкладке Главная в группе Представления нажмите кнопку Представление и выберите пункт Конструктор.

В группе «Настройка запроса» нажмите кнопку «Добавить таблицы» (или «Добавить таблицу в Access 2013 «).

Дважды щелкните «Заказы»и нажмите кнопку «Закрыть».

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

В диалоговом окне Область ввода введите или вставьте следующее выражение: Месяц: «Месяц» & DatePart(«м», [Дата заказа])

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

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

Нажмите клавиши CTRL+S, чтобы сохранить запрос.

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

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

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

Примечание: Запрос на таблицу не доступен в веб-приложениях Access.

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

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

Откройте базу данных из предыдущего примера.

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

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

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

Дважды щелкните «Сведения о заказе» и «Заказы».

В таблице Заказы дважды щелкните поля Код заказчика и Город получателя, чтобы добавить их в бланк.

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

В столбце Город получателя бланка снимите флажок в строке Показать. В строке Условие отбора введите ‘Ростов’ (включая одинарные кавычки). Проверьте результаты выполнения запроса, прежде чем использовать их для создания таблицы.

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

Нажмите клавиши CTRL+S, чтобы сохранить запрос.

В поле Имя запроса введите Запрос по заказам в Ростове и нажмите кнопку ОК.

На вкладке Главная в группе Представления нажмите кнопку Представление и выберите пункт Конструктор.

На вкладке Конструктор в группе Тип запроса нажмите кнопку Создание таблицы.

В диалоговом окне Создание таблицы в поле Имя таблицы введите Заказы в Ростове и нажмите кнопку ОК.

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

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

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

Дополнительные сведения об использовании запросов на создание таблиц см. в теме «Создание запроса на создание таблицы».

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

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

Примечание: Запрос на приложение не доступен в веб-приложениях Access.

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

Откройте запрос «Запрос по заказам в Чикаго», созданный ранее в конструкторе.

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

В диалоговом окне Добавление щелкните стрелку в поле Имя таблицы и выберите Заказы в Ростове в раскрывающемся списке, а затем нажмите кнопку ОК.

В бланке в строке Условие отбора столбца «Город получателя» удалите значение ‘Ростов’ и введите ‘Казань’.

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

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

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

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

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

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

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

Важно: Запрос на изменение невозможно отменить. Возможно, перед обновлением следует создать резервные копии всех таблиц, которые будут обновлены запросом на обновление. Запрос на обновление не доступен в веб-приложениях Access.

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

Откройте таблицу «Заказы в Ростове» в конструкторе.

В строке «Код товара» измените тип данных Числовой на Текстовый.

Сохраните и закройте таблицу «Заказы в Ростове».

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

Дважды щелкните «Заказы в Чикаго» и «Товары».

На вкладке Конструктор в группе Тип запроса нажмите кнопку Обновить.

В бланке больше не будут отображаться строки Сортировка и Показать и появится строка Обновление.

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

В бланке в строке Обновление столбца Код товара введите или вставьте следующую строку: [Товары].[Наименование]

Совет: Запрос на обновление можно использовать для удаления значений полей; для этого используется пустая строка ( «») или значение NULL в строке Обновление.

В строке Условие отбора введите или вставьте следующую строку: [Код продукта] Like ([Товары].[Код])

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

На вкладке Конструктор выберите Режим > Режим таблицы. Запрос возвращает список кодов товаров, которые будут обновлены.

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

При открытии таблицы «Заказы в Ростове» можно будет увидеть, что числовые значения в поле «Код товара» заменены наименованиями из таблицы «Товары».

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

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

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

Примечание: Запрос на удаление не доступен в веб-приложениях Access.

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

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

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

Дважды щелкните «Заказы в Чикаго».

На вкладке Конструктор в группе Тип запроса нажмите кнопку Удаление. В бланке больше не будут отображаться строки Сортировка и Показать и появится строка Удалить.

В бланке в строке Условие отбора в столбце «Код заказа» введите Is Null.

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *