Использование функций управления при создании запросов
Просмотров: 5 520 |
Комментарии (0)
25 апрель 2011 |

Функции «Управления» используются для проверки условий и выполнения набора некоторых действий в зависимости от результатов проверки. Для их применения используют «Построитель» (рис. 4.19).

Список функций управления

 

Рис. 4.19.  Список функций управления

Принципы действий операторов изучим на примере таблицы «ВОЯЖ» (рис. 4.20). Допустим, требуется найти новую стоимость билетов, если их изменения произошли по следующему принципу: для поездок, приходящихся на период с мая по октябрь, стоимость билета  следует увеличить на 25%;  на остальные месяцы уменьшить на 10%.

Таблица исходных данных

 

Рис. 4.20.  Таблица исходных данных

Для выполнения поставленной задачи используем функцию IIF (рис. 4.21).

Синтаксис: IIf(условие; действие по «ДА» ; действие по «Нет»)

Назначение: проверить условие и в зависимости от результатов его проверки, выполнить то ли действие по «ДА», то ли действие по «Нет».

Построитель выражения при использовании функции управления

 

Рис. 4.21.  Построитель выражения при использовании функции управления

Новая стоимость: IIf(Month([ВОЯЖ]![Дата отъезда])>4 And Month([ВОЯЖ]![Дата отъезда])<11; [ВОЯЖ]![Стоимость билета]*1,25;[ВОЯЖ]![Стоимость билета]*0,9).

Комментарии к формуле мы привели ниже.

Новая стоимость:                       

 

Название  нового  поля

Month([ВОЯЖ]![Дата отъезда])>4 And Month([ВОЯЖ]![Дата отъезда])<11

 

Условие проверки номера месяца

[ВОЯЖ]![Стоимость билета]*1,25 

 

действие по «ДА»

ВОЯЖ]![Стоимость билета]*0,9

 

действие по «НЕТ»

Функция IIF может быть использована в укороченном варианте: IIf(условие; действие по «ДА»). Например, требуется повысить стоимость

проживания только во Франции. Новый запрос выполняется на базе уже имеющегося -  это делается следующим образом:

Новая стоимость: IIf([ВОЯЖ]![Страна]= Франция";

[ВОЯЖ]![Стоимость проживания]*2).

Для того, чтобы можно было использовать поля базового запроса, его требуется предварительно сохранить.

Можно использовать вложенные функции IIF, которые проверяют несколько условий. Например:

ПОЖЕЛАНИЯ: IIf([ДНИ]<10;"Рано уезжаете!"; IIf([ДНИ]<20; "Приезжайте еще!";IIf([ДНИ]<30;"Может увидимся!";".....!!!!!")))

В запросе расписаны возможные варианты невысказанных мнений хозяев, в зависимости от срока проживания гостей.

Если  количество проверок больше двух или трех, функцией IIF становится неудобно пользоваться и вместо нее применяют SWITCH.

Синтаксис: SWITCH(условие 1; действие 1 ; условие 2; действие 2; условие 3; действие 3…)

Назначение: содержит пары выражений и значений.  Выражения вычисляются в том порядке, в котором они включены в список (слева направо). Возвращается значение, соответствующее первому истинному выражению в списке.

Пример: Страна = SWITCH([CityName] = "Лондон", "Англия", [CityName] = "Рим", "Италия", [CityName] = "Москва", "Россия") - если в поле [CityName] указан Лондон, то Вы находитесь в Англии...

В следующем примере функция SWITCH используется для определения сезона по известным датам. Напоминаем, что Month() используется для выделения месяца из даты. Обратите внимание на слово ИСТИНА в конце приводимого выражения. Оно используется в том случае, когда требуется выполнить какое-либо действие, если все предыдущие условия оказались невыполнимыми. Так, если анализируемый месяц находится вне рассматриваемых пределов, то этот сезон называется «ЗИМА». Слово ИСТИНА вводится без кавычек.

Сезон: SWITCH(Month([Экскурсия]![Дата])<6 And Month([Экскурсия]![Дата])>2; "весна";Month([Экскурсия]![Дата])<9 And Month([Экскурсия]![Дата])>5;"лето"; Month([Экскурсия]![Дата])<12 And Month([Экскурсия]![Дата])>8;"осень";Истина;"зима").

Попробуйте составить выражение, в котором цена стоимости билетов увеличивается на 35% в летний сезон, падает на 15% в осеннее – весенний и увеличивается на 5% в зимний.

Следующей функцией управления является функция CHOOSE.

Синтаксис: CHOOSE(указатель; действие 1 ; действие 2; действие 3…)

Назначение: возвращает действие из списка, выбранное на основании значения аргумента - указателя. Указатель всегда считается с 1. Если указатель равняется 1, возвращается первый элемент списка, если указатель равняется 2, возвращается второй элемент списка и т.п. Чаще всего применяют для замены числовых выражений текстовыми эквивалентами.

Пример: Допустим, что при вводе данных в таблицу «Экскурсия», мы не стали записывать название транспорта, а ввели кодировку. Если вводилась 1 , то это соответствовало морскому транспорту, 2 - поезду, 3 - автобусу. В запросе поле транспорт определяли как:

Транспорт(текст):  Choose([Экскурсия]![Транспорт]; "море"; "поезд"; "автобус")


Вернуться назад



Другие новости по теме:

    Друзья сайта
    Календарь

    Можно ли получить высшее образование, не потратив денег? Всем известно, что поступить на бесплатное обучение довольно сложно. И если вам это не удалось, то можно существенно сократить свои расходы, выбрав контрактную форму обучения.



    Интернет-технологии – особый вид технологий создания, а также поддержки различного рода информационных ресурсов в сети Интернет. К этим ресурсам относятся форумы, чаты, сайты блоги, энциклопедии, а также электронные библиотеки.



    На сегодняшний день практически каждая компания, организация или фирма имеет свой корпоративный сайт в сети, что позволяет осуществлять различные действия через интернет. Безусловно, для нормального функционирования любого ресурса, он должен быть максимально качественно разработан, дополнен различными полезными деталями и материалами. Информационное наполнение сайтов может быть создано несколькими способами.



    По данным статистики подростки школьного возраста проводят за экранами телевизоров около четырех часов в день, и это не считая времени проводимого за компьютерными играми. Дети часто играют в игры, причем, даже не замечая времени, которое они тратят не на уроки, а на игры, многие даже пропускают школьные занятия, если нет контроля родителей. По исследованиям ученых компьютерные игры стимулируют у детей лишь ограниченный участок головного мозга, а ведь детям необходимо читать, писать и считать.



    Наука является основной движущей силой, которая развивает очень многие сферы в человеческой жизни. Но ученые тоже люди и могут допускать разные ошибки. Я думаю, что не всегда можно доверять науке. Она всегда является спорным вопросом. Некоторые ученые как - бы не от мира сего, их никто и ничто не волнует кроме своей работы,