Всем привет, сегодня разбираем функцию IIF в запросах Access. Если вы не знаете, как создать условие «ЕСЛИ ТО» в базе данных Microsoft Access, то вы пришли по адресу.
На простых запросах мы разберем принцип работы встроенной функции IIF. С помощью IIf можно определить, является ли выражение истиной или ложью. Если выражение истинно, IIf вернет одно значение; если ложно, IIf вернет другое значение.
Синтаксис функции IIF: IIf (условие; если истина; если ложь).
1 аргумент — наше условие. Если это условие выполняется, то функция IIF в запросах Access вернет значение второго аргумента, если же условие не выполняется, то функция IIF в запросах Access вернет значение третьего аргумента.
Рассмотрим базу данных «Студенты». Если вы хотите более подробно ознакомится с тем, как создавалась база данных Access Студенты, то переходите по ССЫЛКЕ.
Рассмотрим 1 пример.
У нас есть таблица СТУДЕНТЫ, известно, что некоторые студенты получают стипендию. Предположим, что сумма базовой стипендии 5000 руб.
Создадим такой запрос, который начислит 5000 руб тем студентам, кто получает стипендию, а всем остальным — 0!
Перейдем в конструктор запросов, нам понадобится дополнительное вычисляемое поле, а также функция IIF в запросах Access.
Результат запроса с функцией IIF представлен ниже:
Рассмотрим 2 пример.
Для 2 примера необходимо в таблицу СТУДЕНТЫ добавить новое логическое поле МЕДАЛЬ.
Студентам, которые имеют стипендию и медаль начислим 7000 рублей, у кого просто стипендия — 5000 руб, остальным -0!
Снова нам поможем функция IIF в запросах Access.
Обратите внимание, что функцию IIF можно использовать в качестве аргумента другой функции IIF.
Рассмотрим 3 пример.
Работаем с таблицей ПРЕПОДАВАТЕЛИ. Мы знаем, сколько получает каждый преподаватель и знаем, сколько у него детей.
Сделаем так, чтобы преподавателям, у которых больше 2 детей, начислялась надбавка 10000 рублей, тем у кого от 1 до 2 детей — 5000 рублей, у кого нет детей — 0!
Хотите больше примеров, где разбирается функция IIF в запросах Access? Переходите по ССЫЛКЕ.
Если вам нужна готовая база данных Access, то ознакомьтесь со списком представленным ЗДЕСЬ.
Спасибо за Ваши грамотные уроки.
Просьба сделать урок по объяснению как сделать в VBA, построителе выражений и с помощью макросов. Следующую задачу: Поступает в ремонт устройства (скажем: системный блок). Мы должны сделать приход в ремонт (указав дату приема в ремонт, проверить в списке (по гарантии или ремонт), если ремонт наклеить S/N и приклеить его на устройство в поле указать ремонт, далее поля: откуда привезен или снят с объекта, примечания… Потом другая таблица «Ремонт» где подгрузится из таблицы «приемка», все устройства. Приступаем к ремонту и в таблице ставим галочки что заменено связь таблицы «Цены» где указан вид запчасти и ее стоимость.
Теперь следовательно главный вопрос:
Нужно сделать так чтобы при выборе соответствующих галочек в таблице «Ремонт» бралась стоимость поменянной запчасти и проводился бы расчет:
1. Накапливание для дальнейшего формирования счета клиенту (Сумма запчасти из таблицы «Цены» + след. запчасть итп) + чтобы занасились итоговые данные в таблицу
Пример: Замена кулера стоит 300 руб., замена процессора = 2 500 руб, замена блока питания 3 500 рубл. итп ИТОГО: 6 300 рублей )
2. Расчет зарплаты сколько заработал рабочий с последующим формированием отчета Пример: Сумма запчасти (3600 — 20% = 2880) , потом узнаем 10 % от получившейся суммы (2880 * 10% = 288) , вывод средств тоже -10% (288-10%=29) и наконец зарплата сотруднику ( 288 — 29 = 259 рублей на руки + чтобы занасились итоговые данные в таблицу
В дальнейшем должно быть возможно искать данные по дате приема в ремонт, по дате когда отремонтировал рабочий, какой рабочий ремонтировал, по S/N, гарантия или ремонт, по месяцам и дням сколько сделано итд, по итоговой сумме по счетам сколько прибыль за конкретный период, по итоговой сумме сколько заплатили рабочему(им) за конкретный период