Что называется запросом в access
MS Access. Работа с данными при помощи запросов
Понятие запроса. Основные типы запросов
Создание запросов в режиме конструктора
Вычисления в запросах
Параметрические запросы
Перекрестный запрос
Запрос на изменение
Запросы в СУБД Access
Запрос — объект базы данных, который используется для извлечения информации из одной или нескольких таблиц или для выполнения определенных действий с данными.
По способу формирования запросы можно разделить на два вида:
В действительности любой запрос в Microsoft Access реализуется с помощью языка SQL. И хотя большинство запросов можно создавать в режиме конструктора, используя возможности запроса по образцу, каждый созданный запрос хранится в виде инструкции SQL. При создании запроса по образцу Microsoft Access автоматически формирует соответствующий SQL-запрос. Можно просмотреть инструкцию SQL для существующего запроса и внести в нее изменения. В этом случае автоматически будет обновляться определение соответствующего запроса по образцу в режиме конструктора.
По результатам действий и особенностям выполнения запросы можно разделить следующим образом:
Создание запросов в режиме конструктора
Для создания запросов по образцу используется режим конструктора. После определения таблиц (или запросов), на основе которых будет создаваться новый запрос, он будет открыт в режиме конструктора. Окно конструктора запросов состоит из двух частей.
В верхней части окна находятся списки полей тex таблиц или запросов, на основе которых строится данный запрос, в нижней части окна располагается бланк запроса.
Каждая строка бланка запроса выполняет определенную функцию:
Первым шагом построения запроса является выбор полей. Необходимые поля можно выбрать несколькими способами:
Иногда требуется включить в запрос все поля исходной таблицы. Для этого необходимо сделать двойной щелчок мышыо по строке заголовка соответствующего списка полей, выделяя таким образом сразу все поля, и перенести их одновременно в бланк запроса. При этом каждое поле будет помещено в отдельный столбец. Можно воспользоваться другим способом. В начале каждого списка полей, приведенных в верхней полонине окна, находится символ *, который означает «все поля». Для того чтобы включить в запрос все поля таблицы, можно просто перенести * в бланк запроса. В этом случае имя поля в бланке запроса будет содержать имя таблицы, за которым следует точка, а затем — символ * (например, Заказы.*), что означает выбор всех полей исходной таблицы.
У метода переноса * есть одно существенное достоинство. Если в структуре исходной таблицы производятся какие-либо изменения, например, добавляется новое поле, запрос будет автоматически изменен (при использовании первого способа запрос выбирает только те поля, которые были перенесены в бланк запроса. Однако если необходимо определить условие отбора, придется дополнительно добавить отдельные поля в бланк запроса, а чтобы они дважды не включались в выберу снять для соответствующих полей флажки Вывод на экран.
При выполнении запроса в качестве заголовков столбца динамической таблицы используются имена выбранных полей. Для переименования поля в результирующей динамической таблице необходимо установить текстовый курсор перед именем поля в строке Поле бланка запроса и ввести новое имя с двоеточием. В результате получится следующая конструкция: Новое имя: Старое имя поля.
Обычно Microsoft Access выводит записи в том порядке, в каком они выбираются из базы данных. Можно изменить последовательность вывода данных, определив ее порядок в строке Сортировка. При сортировке по нескольким полям порядок обработки полей определяется их положением в бланке запроса: сначала сортируются значения в крайнем левом поле и далее слева направо.
По умолчанию Microsoft Access выводит все поля, вклкюченные в бланк запроса. Если поле используется только для оп ределения условия выбора данных, для него необходимо снять флажок в строке Вывод на экран, щелкнув мышью в соотвествующей ячейке.
Выражение, которое указывает, какие записи необходимо включить в динамическую таблицу при выполнении запроса вводится в строку Условие отбора для поля, по которому это условие необходимо проверить. Для задания условий отбора можно использовать операторы меньше ( ), больше или равно (>=), не равно (<>), равно (=), Like (выбор по маске), Between (между), In (в интервале), And (и), Or (или) и другие, а также имена обьектов, константы и функции.
Завершение ввода условия выполняется нажатием клавиши Enter или просто переходом к другой ячейке бланка запроса с помощью клавиш управления курсором или мыши. Мicrosoft Access проводит синтаксический анализ заданного выражения. Например, если было введено значение текстового поля то это выражение будет представлено в кавычках. Если выражение не содержит никакого оператора, Microsoft Access будет исходить из того, что подразумевается оператор = или Like.
Допускается использование нескольких условий отбора, которые можно задать как для разных полей, так и для одного поля. Для создания сложных условий выбора данных используются логические операторы And и Or. Если условия отбора связаны оператором And, запись выбирается только в случае выполнения всех условий. Если же условия отбора связаны оператором Or, запись выбирается при выполнении хотя бы одного из всех условий. При определении нескольких условий отбора, связанных оператором And, для различных полей необходимо просто задать условие в строке Условие отбора для каждого из полей, образующих критерий выбора данных. Если же при определении нескольких условий поместить их в различные строки — строку Условие отбора и строку или — Microsoft Acces будет использовать Or-связь. В результате условия, расположенные в одной строке, связываются оператором And, в разных строках — оператором Or.
Т.о., при формировании условия отбора в запросах могут использоваться:
Подстановочные символы:
6. Запросы MS Access
6.1. Что такое запросы
Все запросы делятся на запросы-выборки и запросы-действия.
После выполнения запроса-выборки СУБД создает виртуальную таблицу, в которую заносит выбранную информацию и хранит ее до тех пор, пока сгенерированная таблица не будет закрыта. Когда этот запрос закрывается, полученная таблица уничтожается, освобождая занимаемую память.
В отличие от запроса-выборки, запрос-действие вносит изменения в существующие данные. При помощи запроса-действия можно автоматически создать новую таблицу, внести данные в уже имеющуюся таблицу, а также удалить или изменить какой-либо набор записей из существующей таблицы.
Любой вновь создаваемый запрос в MS Access автоматически считается запросом-выборкой. В том случае, когда пользователю или разработчику нужно получить запрос-действие, следует специально это указать. Это помогает избежать случайных действий с данными, которые нельзя отменить.
Фактически, запрос в MS Access является инструкцией на языке SQL (Structured Query Language), который является на сегодняшний день основным средством составления запросов в наиболее распространенных реляционных СУБД. Посредством механизма SQL становится возможным как обращаться к содержимому баз MS Access из других приложений (в том числе и приложений от других производителей), так и получать данные для MS Access из внешних приложений, поддерживающих SQL.
Запросы в MS Access доступны в трех режимах: табличном, в котором запрос выглядит так же, как обычная таблица, режиме конструктора, где запрос предстает в виде схемы связанных объектов, и в виде инструкций SQL.
6.2. Краткие сведения об SQL
Небольшой набор команд SQL и определенный синтаксис составления выражений позволяет совершать сколь угодно сложные операции. Самой распространенной из них является выборка связанных данных из одной или нескольких таблиц при помощи оператора SELECT, однако в случае необходимости SQL может вносить информацию, корректировать хранящиеся записи и создавать новые объекты базы данных. SQL применяется не только в MS Access, но и во всех современных СУБД.
SQL-запросы построены на лексическом диалекте, основанном на семантике обычного языка (английского). При создании языка предполагалось, что конструкцию на нем сможет написать любой неподготовленный пользователь, руководствуясь исключительно своими потребностями и исходя из существующей структуры данных. Среди базовых инструкций, на которых основываются запросы, стоит выделить следующие наиболее распространенные команды:
Вспомогательные конструкции языка, например, WHERE задает критерий уточняющего поиска среди отобранных записей.
В языке запросов, реализованном в Microsoft Access, поддерживаются четыре дополнительных расширения: TRANSFORM (позволяет строить перекрестные запросы), IN (создание связи с удаленной базой данных), DISTINCTROW (определение запроса-объединения с потенциальной возможностью объединения данных), WITH OWNER-ACCESS OPTION (позволяет создавать специализированные запросы, которые может выполнять пользователь, не имеющий права доступа к таблицам, которыми оперирует данный запрос). В качестве функции могут быть использованы итоговые функции SQL, например такие, как AVG, COUNT, MAX, MIN, STDEV, STDEVP, SUM, VAR или VARP. Кроме того, в качестве функции могут применяться встроенные функции MS Access и встроенного языка VBA.
6.3. Создание запросов
Для того чтобы создать запрос-выборку, нужно перейти на вкладку «Запросы» в окне базы данных и нажать кнопку «Создать», в результате откроется диалоговое окно, представленное на рисунке 6.3.1.
При создании запроса с помощью Конструктора разработчику необходимо выбрать таблицы или запросы, содержащие нужные данные и заполнить бланк запроса. Бланк запроса расположен в нижней части окна конструктора и содержит описание запроса в табличной форме (см. рисунок 6.3.2). Этот вариант следует выбирать для создания запроса «с нуля» в режиме конструктора.
Каждая колонка в бланке запроса соответствует одному полю. Строки «Поле» и «Имя таблицы» содержат списки, которые позволяют определить нужное поле. Таблица бланка запросов расширяется вправо автоматически при добавлении в запрос новых полей. Контекстное меню, связанное с бланком запроса, позволяет скрывать или, наоборот, показывает строки «Имя таблицы» и «Групповая операция». Под «Групповой операцией» понимается обработка и обобщение значений данного поля при помощи определенной функции (Например функция «Count» позволяет подсчитать число записей).
Если воспользоваться вариантом Простой запрос, то откроется диалоговое окно Мастера простых запросов, в котором следует выбрать участвующие в запросе поля из любых таблиц или запросов, входящих в базу данных. В последнем диалоговом окне Мастера пользователю предлагается выбор выполнить запрос или просмотреть его структуру в режиме конструктора. Основное преимущество этого способа заключается в том, что Мастер автоматически заполняет бланк запроса ). Если полученный запрос не соответствует требованиям, в него можно внести изменения в режиме конструктора.
В том случае, когда из всего массива данных одной или нескольких таблиц нужно выбрать лишь те данные, которые повторяются, следует воспользоваться вариантом «Повторяющиеся записи». Например, выбрать те товары, количество продаж которых «больше чем один».
Если нужно найти среди всех записей базы данных те, которые не имеют подчиненных, следует выбирать вариант, «Записи без подчиненных». Например, это достаточно типовая ситуация для любой базы данных, фиксирующей торговые операции по конкретным клиентам или по конкретным товарам. Незачем хранить информацию по конкретной поставке товара, если сам товар уже давно продан. Также незачем хранить в списке «постоянных клиентов» фамилии тех людей, которые уже длительное время не осуществляли никаких покупок. Очевидно, что чем меньше записей приходится просматривать, тем быстрее работает вся СУБД.
Существует ряд вычислений, которые можно выполнить в запросе, например, найти сумму или среднее по значениям одного поля, перемножить значения двух полей или вычислить дату, отстоящую на заданное количество месяцев от текущей даты.
Результаты вычислений, выводящиеся в поле, не запоминаются в базовой таблице. Вместо этого, вычисления снова производятся всякий раз, когда выполняется запрос, поэтому результаты всегда представляют текущее содержимое базы данных. Обновить вычисленные результаты вручную невозможно.
Для определения вычисляемого поля можно использовать встроенные функции MS Access или выражения, создаваемые пользователем. Для каждого вычисляемого поля следует выбрать одно выражение. Выражения, определяющие вычисляемые поля, создаются с помощью мастера простых запросов или вводятся пользователем в строку «Групповая операция» бланка запроса, в которой допускается выбор статистических функций для выполняемых над полем вычислений. В бланке запроса задают также условия отбора, с помощью которых определяются группы, для которых вычисляются итоговые значения, записи, включаемые в вычисления, или результаты, отображаемые после выполнения расчетов.
Для расчетов с использованием формул, определяемых пользователем, требуется создать новое вычисляемое поле прямо в бланке запроса. Вычисляемое поле создается с помощью выражения, которое вводится в пустую ячейку «Поле» в бланке запроса. Результаты вычислений не обязательно должны отображаться в поле. Вместо этого, их можно использовать в условиях отбора для определения записей, которые выбираются в запросе, или для определения записей, над которыми производятся какие-либо действия.
6.4. Условия отбора записей
Условия отбора записей могут задаваться для одного или нескольких полей в строке «Условие отбора»бланка запроса (см. рисунок 6.3.2). Условием отбора является выражение, которое состоит из операторов сравнения и операндов, используемых для сравнения. В качестве операндов выражения могут использоваться: литералы и константы.
Литералом называют значение в явном представлении, например, число, строковое значение или дату. Примерами значений в явном представлении могут служить «Москва», 100 и #1-янв-94#. Даты необходимо заключать в символы (#), а строковые значения в прямые кавычки («).
Константа представляет не изменяющееся значение. True, False, Истина, Ложь и Null являются примерами констант, автоматически определяемых в MS Access. Допускается также использование подстановочных знаков, представленных в следующей таблице.
Пример
Использование
Оператор BETWEEN. AND определяет принадлежность значения выражения указанному диапазону
Оператор IN проверяет, совпадает ли значение выражения с одним из элементов указанного списка, который задается в круглых скобках.
Оператор AND требует одновременного выполнения всех выражений, которые он соединяет.
Оператор OR требует выполнения хотя бы одного из тех выражений, которые он соединяет.
Оператор NOT требует невыполнения того выражения, перед которым он стоит.
Примеры определения диапазонов значений с помощью операторов представлены в следующей таблице
Пример выражения
Описание
Еще одним встроенным элементом поиска нужной информации в Access являются функции. Функция возвращает значение, которое является результатом расчетов или выполнения других операций. В Microsoft Access определен ряд встроенных функций, например:
функция Sum возвращает сумму набора значений поля; функция Avg вычисляет арифметическое среднее набора чисел, содержащихся в указанном поле запроса; функция Count вычисляет количество записей, возвращаемых запросом.
6.5. Запросы-действия
Запрос на создание таблицы-создает новую таблицу на основе всех или части данных из одной или нескольких таблиц и заносит в новую таблицу выбранные записи. Этот тип запроса может быть полезен при создании резервных копий информации. Например, отобрать все старые записи для копирования в отдельную резервную таблицу, после чего все эти записи удалить с помощью запроса на удаление из основной таблицы.
Запрос на добавление— добавляет группу записей из одной или нескольких таблиц в одну или несколько других.
При работе с запросом в режиме конструктора можно преобразовать существующий запрос к одному из этих четырех типов. Для это следует выбрать тип запроса из меню » Запрос» (см. Рисунок 6.5.1).
При преобразовании запроса к другому типу состав строк бланка запросов соответствующим образом меняется. В двух типах запросов «Создание таблицы» и «Добавление» MS Access выводит диалоговое окно для получения дополнительной информации перед переходом в режим конструктора.
Пользователь может открыть в режиме конструктора различные запросы: запрос на выборку, перекрестный запрос и запрос на изменение. Запрос на выборку и перекрестный запрос также можно открыть в режиме таблицы для просмотра результатов. Запрос на изменение нельзя открыть в режиме таблицы. Однако в этом режиме можно выполнить предварительный просмотр данных, которые будут задействованы в запросе на изменение. Такой запрос отличается тем, что в окне базы данных рядом с его именем стоит восклицательный знак (!).
6.6. Запросы SQL
Запрос управление создает или вносит изменения в объекты базы данных, такие как таблицы Microsoft Access или Microsoft SQL Server.
Примеры условий запроса
Используя условия запроса, вы можете находить в базе данных Access определенные элементы. Если элемент соответствует всем введенным условиям, он отобразится в результатах запроса.
Чтобы добавить условие в запрос Access, откройте этот запрос в конструкторе. Затем определите поля (столбцы), на которые распространяется данное условие. Если нужное поле в бланке запроса отсутствует, добавьте его с помощью двойного щелчка. Затем в строке Условия введите для него условие. Дополнительные сведения см. в статье Общие сведения о запросах.
Условие запроса — это выражение, которое Access сравнивает со значениями в полях запроса, чтобы определить, следует ли включать в результат записи, содержащие то или иное значение. Например, = «Воронеж» — это выражение, которое Access сравнивает со значениями в текстовом поле запроса. Если значение этого поля в определенной записи равно «Воронеж», Access включает ее в результаты запроса.
Рассмотрим несколько примеров часто используемых условий, на основе которых вы можете создавать собственные условия. Примеры группируются по типам данных.
В этом разделе
Общие сведения об условиях запроса
Условие похоже на формулу — это строка, которая может включать ссылки на поля, операторы и константы. В Access условия запроса также называются выражениями.
В следующей таблице показаны примеры условий и описано, как они работают.
>25 and значение больше 25 и меньше 50.
DateDiff («гггг», [ДатаРождения], Date()) > 30
Это условие применяется к полю «Дата/время», такому как «ДатаРождения». В результаты запроса включаются только записи, в которых количество лет между датой рождения человека и текущей датой больше 30.
Это условие можно применять к полям любого типа для отображения записей, в которых значение поля равно NULL.
Как видите, условия могут значительно отличаться друг от друга в зависимости от типа данных в поле, к которому они применяются, и от ваших требований. Некоторые условия простые и включают только основные операторы и константы. Другие условия сложные: они содержат функции, специальные операторы и ссылки на поля.
В этой статье перечислено несколько часто используемых условий для различных типов данных. Если примеры не отвечают вашим потребностям, возможно, вам придется задать собственные условия. Для этого необходимо сначала ознакомиться с полным списком функций, операторов и специальных знаков, а также с синтаксисом выражений, которые ссылаются на поля и литералы.
Узнаем, где и как можно добавлять условия. Чтобы добавить условия в запрос, необходимо открыть его в Конструкторе. После этого следует определить поля, для которых вы хотите задать условия. Если поля еще нет на бланке запроса, добавьте его, перетащив его из окна конструктора запросов на сетку полей или дважды щелкнув поле (при этом поле автоматически добавляется в следующий пустой столбец в сетке). Наконец, введите условия в строку Условия.
Условия, заданные для разных полей в строке Условия, объединяются с помощью оператора AND. Другими словами, условия, заданные в полях «Город» и «ДатаРождения», интерпретируются следующим образом:
1. Поля «Город» и «ДатаРождения» включают условия.
2. Этому условию соответствуют только записи, в которых поле «Город» имеет значение «Воронеж».
3. Этому условию соответствуют только записи людей, которым не менее 40 лет.
4. В результат будут включены только те записи, которые соответствуют обоим условиям.
Что делать, если требуется, чтобы выполнялось только одно из этих условий? Другими словами, как можно ввести альтернативные условия?
Если у вас есть альтернативные условия, то есть два набора независимых условий, из которых должен выполняться только один, используйте строки Условие отбора и Или на бланке.
1. 1. Условие «Город» указывается в строке «Условие отбора».
2. 2. Условие «ДатаРождения» указывается в строке «или».
Условия, заданные в строках Условие отбора и или, объединяются с помощью оператора OR, как показано ниже.
Город = «Чикаго» OR ДатаРождения или.
Прежде чем приступить к изучению примеров, обратите внимание на следующее:
Если условие является временным или часто меняется, можно фильтровать результаты запроса, вместо того чтобы постоянно менять условия. Фильтр — это временное условие, которое изменяет результат запроса, не изменяя его структуру. Дополнительные сведения о фильтрах см. в статье Применение фильтра для просмотра отдельных записей в базе данных Access.
Если используются одни и те же поля условий, но часто меняются значения, которые вам интересны, вы можете создать запрос с параметрами. Такой запрос предлагает указать значения полей, а затем использует их для создания условий. Дополнительные сведения о запросах с параметрами см. в статье Использование параметров в запросах и отчетах.
Условия для текстовых полей, полей Memo и полей гиперссылок
Примечание: Начиная с версии Access 2013, текстовые поля носят название Краткий текст, а поля Memo — Длинный текст.
Следующие примеры относятся к полю «СтранаРегион», основанном на таблице, в которой хранится информация о контактах. Условие задается в строке Условие отбора поля на бланке.
Условие, заданное для поля «Гиперссылка», по умолчанию применяется к отображаемому тексту, который указан в поле. Чтобы задать условия для конечного URL-адреса, используйте выражение HyperlinkPart. У него следующий синтаксис: HyperlinkPart([Таблица1].[Поле1],1) = «http://www.microsoft.com/», где «Таблица1» — это имя таблицы, содержащей поле гиперссылки, «Поле1» — это само поле гиперссылки, а «http://www.microsoft.com» — это URL-адрес, который вы хотите найти.
Чтобы добавить записи, которые.
Используйте это условие
Точно соответствуют определенному значению, например «Китай»
Возвращает записи, в которых поле «СтранаРегион» содержит значение «Китай».
Не соответствуют определенному значению, например «Мексика»
Возвращает записи, в которых значением поля «СтранаРегион» не является «Мексика».
Начинаются с заданной строки символов, например «С»
Возвращает записи всех стран или регионов, названия которых начинаются с буквы «С», таких как Словакия и США.
Примечание: Символ «звездочка» ( *) в выражении обозначает любую строку символов. Он также называется подстановочным знаком. Список таких знаков см. в статье Справочные сведения о подстановочных знаках в приложении Access.
Не начинаются с заданной строки символов, например «С»
Возвращает записи всех стран или регионов, названия которых не начинаются с буквы «С».
Содержат заданную строку, например «Корея»
Возвращает записи всех стран или регионов, названия которых содержат строку «Корея».
Не содержат заданную строку, например «Корея»
Возвращает записи всех стран или регионов, названия которых не содержат строку «Корея».
Заканчиваются заданной строкой, например «ина»
Возвращает записи всех стран или регионов, названия которых заканчиваются на «ина», таких как «Украина» и «Аргентина».
Не заканчиваются заданной строкой, например «ина»
Возвращает записи всех стран или регионов, названия которых не заканчиваются на «ина», как в названиях «Украина» и «Аргентина».
Содержат пустые значения (или значения отсутствуют)
Возвращает записи, в которых это поле не содержит значения.
Не содержат пустых значений
Возвращает записи, в которых это поле содержит значение.
Содержат пустую строку
Возвращает записи, в которых поле имеет пустое значение (но не значение NULL). Например, записи о продажах другому отделу могут содержать пустое значение в поле «СтранаРегион».
Не содержат пустых строк
Возвращает записи, в которых поле «СтранаРегион» имеет непустое значение.
Содержит нулевые значения или пустые строки
Возвращает записи, в которых значение в поле отсутствует или является пустым.
Ненулевые и непустые
Is Not Null And Not «»
Возвращает записи, в которых поле «СтранаРегион» имеет непустое значение, не равное NULL.
При сортировке в алфавитном порядке следуют за определенным значением, например «Мексика»
Возвращает записи с названиями стран и регионов, начиная с Мексики и до конца алфавита.
Входят в определенный диапазон, например от А до Г
Возвращает страны и регионы, названия которых начинается с букв от «А» до «Г».
Совпадают с одним из двух значений, например «Словакия» или «США»
Возвращает записи для США и Словакии.
Содержат одно из значений, указанных в списке
In(«Франция», «Китай», «Германия», «Япония»)
Возвращает записи всех стран или регионов, указанных в списке.
Содержат определенные знаки в заданном месте значения поля
Right([СтранаРегион], 1) = «а»
Возвращает записи всех стран или регионов, названия которых заканчиваются на букву «а».
Соответствуют заданной длине
Возвращает записи стран или регионов, длина названия которых превышает 10 символов.
Соответствуют заданному шаблону
Возвращает записи стран или регионов, названия которых состоят из пяти символов и начинаются с «Лив», например Ливия и Ливан.
Условия для числовых полей, полей с денежными значениями и полей счетчиков
Следующие примеры относятся к полю «ЦенаЗаЕдиницу», основанном на таблице, в которой хранится информация о товарах. Условие задается в строке Условие отбора поля на бланке запроса.
Чтобы добавить записи, которые.
Используйте это условие
Точно соответствуют определенному значению, например 1000
Возвращает записи, в которых цена за единицу товара составляет 1000 ₽.
Не соответствуют значению, например 10 000
Возвращает записи, в которых цена за единицу товара не равна 10 000 ₽.
Содержат значение, которое меньше заданного, например 1000
Возвращает записи, в которых цена товара больше 999,99 ₽ (>999,99). Второе выражение отображает записи, цена в которых не меньше 999,99 ₽.
Содержат одно из двух значений, например 200 или 250
Возвращает записи, в которых цена товара равна 200 или 250 ₽.
Содержат значение, которое входит в определенный диапазон
Возвращает записи, в которых цена товара не находится в диапазоне от 500 до 1000 ₽.
Содержит одно из заданных значений
Возвращает записи, в которых цена товара равна 200, 250 или 300 ₽.
Содержат значение, которое заканчивается на заданные цифры
Возвращает записи товаров, цена которых заканчивается на 4,99, например 4,99 ₽, 14,99 ₽, 24,99 ₽ и т. д.
Содержат пустые значения (или значения отсутствуют)
Возвращает записи, для которых не введено значение в поле «ЦенаЗаЕдиницу».
Содержат непустые значения
Возвращает записи, в поле «ЦенаЗаЕдиницу» которых указано значение.
Условия для полей «Дата/время»
Следующие примеры относятся к полю «ДатаЗаказа», основанном на таблице, в которой хранится информация о заказах. Условие задается в строке Условие отбора поля на бланке запроса.
Используйте этот критерий
Точно соответствуют значению, например 02.02.2006
Возвращает записи транзакций, выполненных 2 февраля 2006 г. Обязательно ставьте знаки # до и после значений даты, чтобы Access мог отличить значения даты от текстовых строк.
Не соответствуют значению, такому как 02.02.2006
Возвращает записи транзакций, выполненных в любой день, кроме 2 февраля 2006 г.
Содержат значения, которые предшествуют определенной дате, например 02.02.2006
Возвращает записи транзакций, выполненных после 2 февраля 2006 г.
Чтобы просмотреть транзакции, выполненные в определенную дату или после нее, воспользуйтесь оператором >= вместо оператора >.
Содержат значения, которые входят в определенный диапазон дат
>#02.02.2006# and Between. Например, выражение Between #02.02.2006# and #04.02.2006# идентично выражению >=#02.02.2006# and #04.02.2006#
Возвращает записи транзакций, выполненных до 2 февраля 2006 г. или после 4 февраля 2006 г.
Содержат одно из двух заданных значений, например 02.02.2006 или 03.02.2006
#02.02.2006# or #03.02.2006#
Возвращает записи транзакций, выполненных 2 или 3 февраля 2006 г.
Содержит одно из нескольких значений
In (#01.02.2006#, #01.03.2006#, #01.04.2006#)
Возвращает записи транзакций, выполненных 1 февраля 2006 г., 1 марта 2006 г. или 1 апреля 2006 г.
Содержат дату, которая выпадает на определенный месяц (вне зависимости от года), например декабрь
DatePart(«m»; [ДатаПродажи]) = 12
Возвращает записи транзакций, выполненных в декабре любого года.
Содержат дату, которая выпадает на определенный квартал (вне зависимости от года), например первый
DatePart(«q»; [ДатаПродажи]) = 1
Возвращает записи транзакций, выполненных в первом квартале любого года.
Содержат текущую дату
Возвращает записи транзакций, выполненных сегодня. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи, в поле «ДатаЗаказа» которых указано 2 февраля 2006 г.
Содержат вчерашнюю дату
Возвращает записи транзакций, выполненных вчера. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 1 февраля 2006 г.
Содержат завтрашнюю дату
Возвращает записи транзакций, которые будут выполнены завтра. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 3 февраля 2006 г.
Содержат даты, которые выпадают на текущую неделю
DatePart(«ww»; [ДатаПродажи]) = DatePart(«ww»; Date()) and Year([ДатаПродажи]) = Year(Date())
Возвращает записи транзакций, выполненных за текущую неделю. Неделя начинается в воскресенье и заканчивается в субботу.
Содержат даты, которые выпадают на прошлую неделю
Возвращает записи транзакций, выполненных за прошлую неделю. Неделя начинается в воскресенье и заканчивается в субботу.
Содержат даты, которые выпадают на следующую неделю
Year([ДатаПродажи])* 53+DatePart(«ww»; [ДатаПродажи]) = Year(Date())* 53+DatePart(«ww»; Date()) + 1
Возвращает записи транзакций, которые будут выполнены на следующей неделе. Неделя начинается в воскресенье и заканчивается в субботу.
Содержат дату, которая выпадает на последние 7 дней
Between Date() and Date()-6
Возвращает записи транзакций, выполненных за последние 7 дней. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за период с 24 января 2006 г. по 2 февраля 2006 г.
Содержат дату, которая выпадает на текущий месяц
Year([ДатаПродажи]) = Year(Now()) And Month([ДатаПродажи]) = Month(Now())
Возвращает записи за текущий месяц. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за февраль 2006 г.
Содержат дату, которая выпадает на прошлый месяц
Возвращает записи за прошлый месяц. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за январь 2006 г.
Содержат дату, которая выпадает на следующий месяц
Year([ДатаПродажи])* 12 + DatePart(«m»; [ДатаПродажи]) = Year(Date())* 12 + DatePart(«m»; Date()) + 1
Возвращает записи за следующий месяц. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за март 2006 г.
Содержат дату, которая выпадает на последние 30 дней или 31 день
Записи о продажах за месяц. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за период со 2 января 2006 г. по 2 февраля 2006 г.
Содержат дату, которая выпадает на текущий квартал
Year([ДатаПродажи]) = Year(Now()) And DatePart(«q»; Date()) = DatePart(«q»; Now())
Возвращает записи за текущий квартал. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за первый квартал 2006 г.
Содержат дату, которая выпадает на прошлый квартал
Year([ДатаПродажи])*4+DatePart(«q»;[ДатаПродажи]) = Year(Date())*4+DatePart(«q»;Date())- 1
Возвращает записи за прошлый квартал. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за последний квартал 2005 г.
Содержат дату, которая выпадает на следующий квартал
Возвращает записи за следующий квартал. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за второй квартал 2006 г.
Содержат дату, которая выпадает на текущий год
Возвращает записи за текущий год. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 2006 г.
Содержат дату, которая выпадает на прошлый год
Возвращает записи транзакций, выполненных в прошлом году. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 2005 г.
Содержат дату, которая выпадает на следующий год
Year([ДатаПродажи]) = Year(Date()) + 1
Возвращает записи транзакций, которые будут выполнены в следующем году. Если сегодняшняя дата — 02.02.2006 г., вы увидите записи за 2007 г.
Содержат дату, которая приходится на период с 1 января до текущей даты (записи с начала года до настоящего момента)
Year([ДатаПродажи]) = Year(Date()) and Month([ДатаПродажи]) Date()
Возвращает записи транзакций, которые будут выполнены после сегодняшнего дня.
Фильтр пустых (или отсутствующих) значений
Возвращает записи, в которых не указана дата транзакции.
Фильтр непустых значений
Возвращает записи, в которых указана дата транзакции.
Условия для полей «Да/Нет»
В качестве примера, в таблице «Клиенты» есть логическое поле «Активность», которое показывает текущую активность учетной записи клиента. В таблице отображается, как вычисляются значения, введенные в строке условий логического поля.
Проверено для значения «Нет». После ввода значение 0 изменяется на «Ложь» в строке условий.
Нет результатов, если это единственное значение условия в поле
Любая строка символов, отличная от «Да», «Нет», «Истина» или «Ложь»
Не удается выполнить запрос из-за ошибки несоответствия типов данных.
Условия для других полей
Вложения. В строке Условие отбора введите Is Null, чтобы включить записи, которые не содержат вложений. Введите Is Not Null, чтобы включить записи с вложениями.
Поля подстановки. Существует два типа полей подстановки: те, которые подставляют значения из существующего источника данных (с помощью внешнего ключа), и те, которые основаны на списке значений, заданном при их создании.
Поля подстановки, основанные на списке значений, имеют текстовый тип данных и принимают такие же условия, как другие текстовые поля.
Условия, которые можно использовать в поле подстановки, основанном на значениях из существующего источника данных, зависят от типа данных внешнего ключа, а не типа подставляемых данных. Например, у вас может быть поле подстановки, которое отображает имя сотрудника, но использует внешний ключ с числовым типом данных. Так как в поле хранится число, а не текст, вы можете использовать условия, которые подходят для чисел, такие как >2.
Если вы не знаете тип данных внешнего ключа, можно просмотреть исходную таблицу в Конструкторе, чтобы определить его. Для этого:
Найдите исходную таблицу в области навигации.
Откройте таблицу в Конструкторе, сделав одно из следующего:
Щелкните таблицу и нажмите клавиши CTRL+ВВОД.
Щелкните таблицу правой кнопкой мыши и выберите пункт Конструктор.
Тип данных для каждого поля указан в столбце Тип данных на бланке таблицы.
Многозначные поля. Данные в многозначных полях хранятся как строки скрытой таблицы, которые Access создает и заполняет для представления поля. В Конструкторе запроса они представлены в списке полей с помощью расширяемого поля. Чтобы задать условия для многозначного поля, необходимо указать их для одной строки скрытой таблицы. Для этого выполните указанные ниже действия.
Создайте запрос, содержащий многозначное поле, и откройте его в Конструкторе.
Перетащите многозначное поле и поле его значения в различные столбцы на бланке. Если вы хотите, чтобы в результатах выводилось только полное многозначное поле, снимите флажок Показать для поля одного значения.
Введите в поле Условие отбора для поля с одним значением условия, подходящие для типа данных, который представляют собой значения.
Каждое значение в многозначном поле будет оцениваться по отдельности на основе указанных условий. Например, допустим, что в многозначном поле хранится список чисел. Если указать условия >5 AND и одно значение меньше 3.