Ввод условия отбора
Если необходимо найти конкретное значение поля, нужно ввести это значение в ячейку этого поля в строке бланка запроса Условие отбора. Если это поле является текстовым, а значение имеет пробелы внутри строк, то значение текстового поля должно быть заключено в кавычки.
Если вы хотите отыскать комбинацию нескольких значений, введите их в строку Условие отбора, употребляя в качестве разделителя логический оператор.
Оператор указывает действие, которое должно быть выполнено с элементами выражения. Выделяются следующие группы операторов:
• арифметические: * умножение, + сложение,- вычитание, / деление, " возведение в степень;
• соединение частей текста &, например ,=[Фамилия] & “ ”&[Имя] ;
• сравнения: < меньше, <= меньше или равно, > больше, >= больше или равно, = равно, О не равно;
• логические: And (И), Not (Нет), Or (Или);
• операторы SQL: Like — для использования логики замены в выражениях, In — для определения, содержится ли элемент данных в списке значений, Between...And — для выбора значений из определенного интервала.
Логические операторы And (И), Or (Или);
Все выражения в строке Условие отбора или в строке Илидолжны принимать значение Истина для любой записи, включаемой в набор записей запроса. Это означает, что Access выполняет логическую операцию AND (И) над условиями отбора находящимися в одной строке.
Когда вы определяете несколько условий отбора для некоторого поля, соединенных логическим оператором OR (ИЛИ), то чтобы запись была выбрана должно быть выполнено только одно из условий. Вы можете задать несколько условий отбора, соединенных оператором OR (ИЛИ), для некоторого поля одним из двух способов. Можно ввести все условия в одну ячейку строки .условие отбора, соединив их логическим оператором OR (ИЛИ). Можно также ввести каждое условие в отдельную ячейку строки Или. Когда вы используете несколько строк Или, то для того, чтобы запись была выбрана, достаточно выполнения всех условий только в одной из строк Или. Если, например, вы вводите условие в три строки бланка запроса (А, В, С), то это означает, что вы просите Access включить в набор запись, для которой выполнены все условия строки А, или В, или С. То есть для того чтобы результат операции OR (ИЛИ) имел значение Истина и запись была выбрана, достаточно, чтобы только одно из условий имело значение Истина.
Операторы SQL
Between...Andпозволяет задать диапазон значений. Например: Between 10 And 20 означает то же, что и логическое выражение >=10 And <=20
Inпозволяет задавать используемый для сравнения список значений. Выражение In (“WA”, “CA”, “ID”) означает то ж, что и логическое выражение “WA” Or “CA” Or “ID”.
LikeОператор полезный при поиске образцов в текстовых полях. В образец поиска вы можете включать символы шаблона (?, *). Символ # указывает, что в данной позиции должна быть цифра, Знак ! используется для указания исключений. Например: Like “К*”
Условия отбора для даты и время
Microsoft Access хранит значение даты и времени как числа с плавающей точкой двойной точности. Значение слева от десятичной точки соответствует дате, а в дробной части числа хранится время суток. Значение даты и времени должны быть заключены между символами (#). В Access используется несколько функций, которые помогают вводить условия отбора для даты и времени:
Day (дата) – возвращает значение дня месяца в диапазоне от 1 до 31
Month (дата) – возвращает значение месяца года в диапазоне от 1 до 12
Year (дата) - возвращает значение года в диапазоне от 100 до 9999
Weekday (дата) – по умолчанию возвращает целое число от 1 (Воскресенье) до 7 (Суббота), соответствующее дню недели.
Date() – возвращает текущую системную дату.
Создание вычисляемых полей в запросах
Создание запросов интересно не только тем, что можно ввиде одной таблицы представить данные из нескольких связанных таблиц и отобрать нужные записи из этих таблиц. Можно создавать столбцы в запросе, которые являются результатом вычислений над значениями других столбцов. Такие столбцы называются вычисляемыми. Это существенно расширяет возможности запросов.
Для указания условий отбора данных и для создания вычисляемых полей в запросах используются выражения. Чтобы создать вычисляемое поле, нужно ввести выражение в строку Полесвободного столбца бланка запроса.
Выражения представляют собой формулы, по которым вычисляются необходимые значения. Различаются арифметические и логические выражения.
Простейшим примером вычисляемого поля в запросе может быть поле, которое объединяет Имя и Фамилию человека. В этом выражение используется ссылка на поля таблицы, которые в выражении заключаются в квадратные скобки. Перед выражением следует написать новое имя поля: ФИО и отделить его двоеточием от выражения.
ФИО:[фамилия]&” “&[имя]
Если выражение длинное его неудобно писать в строке ввода. Нажатие клавиш Shift+f2 открывает диалоговое окно Область ввода.
Выражения могут состоять из следующих элементов:
• литералов;
• операторов;
• констант;
• идентификаторов;
• функций.
Литерал — это точное значение, которое Access использует именно в том виде, как оно вводится. При записи литерала используются специальные символы-ограничители, которые указывают на тип данных литерала. Если литерал — число, то он вводится без ограничителей. Например,465.8.Текстовый литерал должен иметь в качестве ограничителя-" или '. Например, "Иванов" или 'Иванов'.
В литералах типа дата используется ограничитель #. Например, #12/11/96#. В случае литерала типа поле или элемента управления вводятся ограничители [ ]. Например, [Фамилия].
Операторы – рассматривали выше.
Константа — это неизменяемая величина. К наиболее часто используемым константам относятся Null (соответствует полю, не содержащему значений или символов), Истина, Ложь.
Идентификатор — это имя, введенное в выражение для резервирования места под значение, которое хранится в поле или элементе управления. На основе использования идентификаторов можно создавать выражения, которые используют информацию, хранящуюся в таблицах, формах, отчетах. Идентификаторы обычно заключаются в [ ]. Например, [Дата] относится к значению поля “Дата” таблицы СТУДЕНТ.
Функция — это специальное имя, которое используется для выполнения какой-либо операции и может применяться в выражениях. В Access встроено несколько десятков функций. Аргументы функции должны заключаться в ( ). Скобки могут быть опущены только при нулевом аргументе . Примерами функций, используемых при построении выражений в запросах, могут служить: Avg( ) — среднее арифметическое значений, Count( ) — количество записей, Sum( ) — сумма всех записей и т. д.
Создание выражений с помощью Построителя выражений
При построении сложных выражений Access предлагает использовать утилиту, называемую Построитель выражений. Для вызова окна Построителя выражений необходимо перейти в пустое поле запроса и нажать кнопку Построитель выражений на панели инструментов. В верхней части окна расположена пустая область ввода, в которой можно создавать выражение. Можно ввести выражение с клавиатуры, но проще использовать различные кнопки операторов, которые расположены прямо под областью ввода. В нижней части окна расположены три списка, которые используются для нахождения необходимых для создания выражений имен полей и функций. Верхняя и нижняя части окна разделяются полосой, содержащей арифметические знаки и операторы.
Итоговые запросы
Иногда требуется подсчитать итоговые значения по группам данных. Для таких видов работ используются Итоговые запросы. Для вычисления в запросе итоговых значений необходимо щелкнуть по кнопке Групповые операции панели инструментов конструктора запросов, чтобы в бланке запроса появилась строка Групповая операцияили выбрать команду Групповые операции из меню Вид.
Когда вы в первый раз щелкаете по кнопке Групповая операция, Access использует установку Группировка в строке Групповая операция для любого поля, которое уже занесено в бланк запроса. Записи по каждому полю группируются, но итог не подводится. Для получения итогов нужно заменить в строке групповая операция установку Группировка на определенные групповые функции.
Access предоставляет девять функций, обеспечивающих выполнение групповых операций. Выбор необходимой функции осуществляется из раскрывающегося списка. Перечислим групповые функции:
Sum – вычисляет сумму всех значений заданного поля, используется только для числовых и денежных полей.
Avg – вычисляет среднее арифметическое числовых и денежных полей.
Min - возвращает наименьшее значение, найденное в этом поле внутри каждой группы. Для числовых полей – наименьшее значение. Для символьных полей – наименьшее из символьных значений независимо от регистра.
Max – возвращает наибольшее значение.
Count – возвращает число записей, в которых значение данного поля отлично от Null.
StDev – подсчитывает статистическое стандартное отклонение для всех значений данного поля в каждой группе.
Var – подсчитывает статистическую дисперсию для всех значений данного поля в каждой группе.
First – возвращает первое значение поля в этой группе.
Last – возвращает последнее значение этого поля в группе.
Использование параметров запроса (Запрос с параметром)
В случае если на этапе создания запроса решить какие именно значения должен отыскать Access невозможно, в запрос включают параметр. Тогда перед выполнением запроса Access каждый раз будет запрашивать конкретные условия отбора. Чтобы установить параметр нужно в строку Условие отбора ввести имя или фразу, заключенную в квадратные скобки []. То, что заключено в квадратные скобки, Access рассматривает как имя параметра. Это имя выводится в диалоговом окне при выполнении запроса. В одном запросе можно задавать несколько параметров; при этом имя каждого параметра должно быть уникальным и информативным.
Для каждого параметра запроса можно указать тип данных. Access использует эту информацию для проверки введенного значения. Например, если определить тип данных как числовой, Access отвергнет буквенные символы в значении параметра. По умолчанию Access присваивает параметрам запроса текстовый тип данных. Если необходимо изменить тип данных параметра, выполните команду Запрос – Параметры.
Дата добавления: 2016-03-20; просмотров: 3551;