Правила конструирования условий отбора

ВСТРОЕННЫЕ ФУНКЦИИ

Функции дата/время

Функция Вычисляет
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 - Построитель выражений

Окно построителя выражений состоит из трех частей.

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

В средней части окна построителя находятся кнопки с некоторыми операторами. При нажатии на одну из этих кнопок построитель вставит соответствующий оператор в текущую позицию верхнего поля. В нижней части окна построителя находятся три списка. В левом списке выводятся папки, содержащие все объекты базы данных, все функции, константы, операторы, которые можно использовать в выражениях. Если в левом списке Вы выбрали какую-нибудь папку, то в среднем списке отображаются входящие в папку элементы. Выбрав элемент в среднем списке, Вы выведите в правом списке значения (если они существуют). Например, если выбрать в левом поле Встроенные функции, в среднем – нужную категориюфункции, то справа будет выведен список всех встроенных функций выбранной категории. И, наконец, чтобы переместить выбранный элемент в верхнюю часть окна надо нажать кнопку Вставить.

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