До сих пор мы рассматривали запросы, выполняющие отбор полей таблицы. При создании запроса можно задать дополнительные критерии, вследствие чего он будет осуществлять отбор только нужных сведений в каждом поле .Для формирования такого запроса необходимо в QBE-области ввести значение в ячейку, расположенную на пересечении строки Условия отбора и колонки с нужным именем.
Критерии, устанавливаемые в QBE-области, необходимо заключать в кавычки. Если Access идентифицирует введенные символы как критерий отбора, то заключает их в кавычки автоматически, а если нет, то сообщает о синтаксической ошибке. Программа Access не может распознать как критерий комбинацию символов и знаков подстановки.
Примечание:В запросах символы подстановки * и ? применяются так же, как и во всех приложениях Microsoft Office 97. Символ звездочки заменяет любое количество букв или цифр, а знак вопроса - только один символ.
Все строки в QBE-области, расположенные под строкой Условия отбора, служат для задания критериев отбора. Таким образом, для одного поля можно определить два, три и более критериев отбора данных. По умолчанию все элементы критерия объединяются оператором ИЛИ. Это значит, что запрос выберет те записи, которые соответствуют хотя бы одному критерию.
Чтобы объединить несколько условий отбора оператором И, следует привести их в одной строке. Например, если необходимо выбрать записи из таблицы Зарплата, в которых указаны оклады от 310 до 1500, то в столбце Оклад надлежит ввести следующий критерий: Bet ween 310 and 1500. Другой формой записи этого критерия является выражение >310 And <1500.
В результате будут отобраны только те записи, которые удовлетворяют обоим условиям, т.е. оклады, значения которых находятся в интервале от 310 до 1500.
Если необходимо отобрать несколько диапазонов значений, то критерий для каждого диапазона следует указать в отдельной строке.
Исключить группу данных из состава анализируемых запросом записей (например, оклад 400) позволяет следующий критерий: Not 400. Другая форма записи этого критерия: <>400. В этом случае можно не использовать кавычки.
Операторы And и Or применяются как отдельно, так и совместно. Следует помнить, что условия, связанные оператором And, выполняются раньше условий, объединенных оператором Or .
ВЫЧИСЛЕНИЯ В ЗАПРОСЕ
Запросы становятся еще эффективнее, если в них включены вычисления. Над полученными в результате выполнения запроса данными можно провести вычисления, используя предоставляемые Access функции.
Предположим, в таблице, содержащей сведения обо всех торговых операциях фирмы, необходимо определить объемы продаж, а также их средние значения для отдельных продавцов. Воспользуемся приведенной ниже таблицей (ее последний столбец содержит номер записи в таблице клиентов).
Продавец | Объем операций | Номер записи |
Фунт | 453,00 | 4 |
Фунт | 34,89 | 4 |
Фунт | 145,77 | 5 |
Корейко | 89,00 | 4 |
Корейко | 12,45 | 5 |
Корейко | 90,50 | 4 |
Фунт | 577,89 | 1 |
Эта несложная таблица позволит проиллюстрировать технику применения вычислительных возможностей Access. Для этого необходимо:
Создать таблицу Торговля и заполнить ее приведенными значениями. Для поля Объем операций задать тип данных Денежный, а для поля Номер записи - тип Числовой с форматом Длинное целое.
Создать новый запрос на основе таблицы Торговля.
Нажать кнопку со знаком суммы на панели инструментов. В результате в бланке запроса появится новая строка с именем Групповая операция.
В QBE-области активизировать ячейку, которая расположена на пересечении строки Групповая операция и колонки Объем операций.
Открыть список функций и выберать функцию Sum . Запросу присвоить имя Запрос по таблице Торговля.
Запустить запрос.
После выполнения запроса в окне Запрос на выборку отобразятся все значения объемов продаж у отдельных продавцов. Такое упорядочение является результатом применения функции группировки.
Эта функция автоматически вставляется в каждое поле строки Групповая операция бланка запроса сразу после нажатия кнопки со знаком суммы на панели инструментов. В рассматриваемом примере с помощью этой функции проверяется содержимое полей Продавец и Номер записи во всех записях. Записи с совпадающими значениями объединяются в одну группу. Затем определяется сумма значений во всех полях Объем операций, составляющих группу. Результат помещается в столбец Sum_Объем операций.
Внимание!
Функция Групповая операция применяется по умолчанию. Она служит для объединения идентичных записей и исключения дублирования. Если в таблице есть поле счетчика, то все записи различны, так как каждая из них содержит уникальный номер.
Объединив в одном запросе несколько критериев и функций, можно получить ответы на следующие вопросы:
- Каков объем торговых операций у отдельного продавца?
Дата: 2018-12-28, просмотров: 286.