Правила конструирования условий отбора
ВСТРОЕННЫЕ ФУНКЦИИ
Функции дата/время
Функция | Вычисляет |
Date() | текущую дату в формате дд.мм.гг, |
Now() | текущую дату и время формате дд.мм.гг чч:мм:сс. |
Year(Дата) | год из Даты(четыре цифры, например, 2003) |
Month(Дата) | месяц из Даты в виде целого числа (1 - 12) |
Day(Дата) | день из Даты в виде целого числа (1-31) |
Hour(Дата) | час из Даты в виде целого числа (1-23) |
Minute(Дата) | минуты из Даты в виде целого числа (1-59) |
Secunde(Дата) | секунды из Даты в виде целого числа (1-59) |
DatePart("вр.интервал"; Дата) | компоненту даты соответствующую указанному временному интервалу |
DateAdd("вр.интервал"; n; Дата) | новую дату, отстоящую на n временных интервалов от указанной |
DateDiff("вр.интервал"; Дата1; Дата2) | число временных интервалов между двумя датами |
DateSerial (Год; Месяц; День) | Преобразует три целых числа год, месяц и номер дня в месяце, в данное типа Дата/Время . |
Weekday(Дата) | порядковый номер дня недели (1 - воскресенье) |
Weekday(Дата;2) | порядковый номер дня недели (1 - понедельник) |
Значение используемого в функциях DatePart, DateAdd, DateDiff параметра временной интервал ("вр.интервал"):
yyyy Год.
Q Квартал.
m Месяц.
Y День года.
D День месяца.
w День недели.
ww Неделя.
H Часы.
N Минуты.
S Секунды.
Логические функции
Iif(Условие; Действие 1; Действие 2) | выполняет Действие 1,если выполняется Условие1, иначе выполняется Действие 2. |
Choose (Поле; Значение 1; Значение 2; …. Значение n) | выполняет то действие, номер которого совпадает со значением, хранящемся в Поле. |
Switch (Условие1; Действие1; Условие 2; Действие 2; … Условие n; Действие n) | последовательно проверяет Условия и выполняет то Действие, для которого выполняется соответствующее условие. |
Правила конструирования условий отбора
Ввод условий отбора очень похож на ввод условия на значение. При записи условий используются знаки:
- сравнения: >(больше), >= (больше или равно), <(меньше), <=(меньше или равно), <>(не равно), Between (проверка диапазона значений); In (проверка списка значений)
- логические операции: Аnd(и), OR (или), Not(не);
Константа Null применяется для отбора записей, в которых заданные поля пусты, а условие Not Null -для отбора записей со значениями в указанном поле.
Рассмотрим примеры конструирования условий для полей различных типов полей.
Текстовые поля. При записи в условиях текстовых констант используются кавычки. Например, "Иванов", "" (пустая строка). Если известна только часть разыскиваемого значения или выводимые значения должны удовлетворять шаблону, то для описания его используются оператор Like и символы шаблонов:
* - заменяетлюбоеколичество символов. Например, условие Like "Иван*"позволяет находить фамилии Иванов, Иванчуков, Иванишин и т.п.;
? - заменяет один текстовый символ. Например, условие Like "?етров"позволяет находить фамилии длиной в 6 букв, отличающиеся 1-ой буквой, например, Петров, Ветров, т.п.;
[ ] - соответствует любому одному символу из заключенных в скобки. Например, Like”Ию[л,н]ь”организует поиск слов "июнь" и "июль". Вместо запятой можно использовать тире для указания диапазона символов;
! - соответствует любому одному символу, кроме заключенных в скобки. Например, условие Like "[!П,М]аша" — поиск слов Даша и Саша, но не Паша или Маша.
# - соответствует любой цифре. Например, условие Like "83###*"организуетпоиск адресов Донецкой области.
Символы шаблонов можно использовать и с другими типами данных, например, с датами. Например, условие Like”*.05.*”позволяет отобрать все даты за месяц май.
Для записи сложных критериев используются логические операции. Например, условие ”Литейный” Or ”Механический”отберет информацию об указанных двух цехах.
Пример. Выбрать информацию о рабочих, фамилия которых начинается с букв от А до Ж, с травмами легкой или средней тяжести, произошедшими в январе 2003 года.
Числовые поля.При записи условий используются знаки сравнения, логические операторы, возможно использование символов шаблона.
Пример. Составить список цехов с количеством рабочих или от 20 до 100 или свыше 300, в которых рабочие получили тяжелую травму.
Поля типа Дата/Время.При записи условий можно использовать знаки сравнений, логические операторы и оператор Like с символами шаблонов. Если в выражении используются константы типа даты и время, то они обрамляются знаками решётки (например, #15/09/2003#). Для облегчения расчетов в Access введены ряд функций, которые сосредоточены в категории Дата и время. Перечень некоторых из них находится в приложении 2.
Пример. Необходимо ввести в поле Дата_аварии условие для отбора списков рабочих, травмированных:
- ранее: 1.12.2002: < #01.12.02#
- в течении 2000 года: >= #1.01.2000# and <= #31.12.2000#
- в течении последних 30 дней: Between Date( )–30 And Date( )
- в течении предыдущего года: Between DateSerial(Year(Date( )-1).01.01) And DateSerial(Year(Date( )-1).12.31)
или проще Between #1.01.2003# And #31.12.2003#
Логические поля.При записи условий для логических полей в строке Условие отбора записывается логическая константа: Да (Истина, -1) или Нет (Ложь,0).
Пример. Создать списки военнообязанных литейного цеха не старше 30 лет
При записи условий можно использовать построитель выражений (рис.3.17).
Рис. 3.17 - Построитель выражений
Окно построителя выражений состоит из трех частей.
В верхней части окна построителя расположено поле выражения. Это поле можно заполнять самостоятельно, используя клавиатуру, или подставлять нужные операторы, имена таблиц, полей, используя нижнюю часть окна.
В средней части окна построителя находятся кнопки с некоторыми операторами. При нажатии на одну из этих кнопок построитель вставит соответствующий оператор в текущую позицию верхнего поля. В нижней части окна построителя находятся три списка. В левом списке выводятся папки, содержащие все объекты базы данных, все функции, константы, операторы, которые можно использовать в выражениях. Если в левом списке Вы выбрали какую-нибудь папку, то в среднем списке отображаются входящие в папку элементы. Выбрав элемент в среднем списке, Вы выведите в правом списке значения (если они существуют). Например, если выбрать в левом поле Встроенные функции, в среднем – нужную категориюфункции, то справа будет выведен список всех встроенных функций выбранной категории. И, наконец, чтобы переместить выбранный элемент в верхнюю часть окна надо нажать кнопку Вставить.
Совет. Чтобы новые имена полей появились в построителе выражений, следует предварительно сохранить таблицу или запрос, содержащие такие поля.