Теперь попробуем создать запрос с вычислениями. Для этого опять добавим поля в таблице Учителя. Перейдем на вкладку Таблицы и откроем таблицу Учителя в режиме конструктора. Добавим поле Оклад, формат денежный. В режиме таблицы введем в это поле данные.
Теперь построим запрос «Оплата за преподавание». Запрос можно создавать как в режиме конструктора, так и с помощью мастера. В запрос включаем такие поля:
Фамилия, Классное_руководство и Оклад из таблицы Учителя. Открываем этот запрос в режиме конструктора (если вы его создавали мастером). В строке поле первого свободного столбца после столбца Оклад пишем слово Налог: и нажимаем кнопку Построить (волшебную палочку) на панели инструментов. Откроется окно Построителя выражений. В этом окне в поле объектов БД раскрываем объект Таблицы, в них выбираем Учителя, в соседнем поле выбираем Оклад. В верхнем поле Построителя выражений появиться надпись Налог: «Выражение» [Учителя]![Оклад](рис.4.13):
Слово «Выражение» нужно удалить и дописать *0,12 - размер налоговой ставки, которую вы можете сами придумать так же, как и размер оклада – ведь это учебная БД! Должно получиться следующее:
Налог: [Учителя]![Оклад] * 0,12
Запись [Учителя]![Оклад]обозначает, что поле Оклад взято из таблицы Учителя. Если бы в названиях этих полей были пробелы или другие недопустимые знаки, то Access не стал бы вычислять это выражение и пришлось бы очень долго искать причину ошибки.
Нажимаем ОК
Запустив запрос, можно проверить, правильно ли составлено выражение для вычисления налога.
Затем формируем поле Зарплата. В построителе выражений записываем следующее:
Зарплата: [Учителя]![Оклад] – Налог
После этого запускаем запрос на выполнение и он должен иметь вид как на рис.4.14.
В СУБД Access существует возможность проводить вычисления с помощью встроенных стандартных функций, наподобие того, как мы это делали в Excel’e. Правда, набор этих функций поменьше, да и пользоваться ими не так удобно. Но давайте попробуем.
Создадим запрос «Дни рождений учеников в феврале»(марте, июне или в любом другом месяце) - для того, чтобы вовремя приготовить им подарки.
Для создания этого запроса нам понадобиться таблица Ученики и поля в ней: Фамилия, Имя, Дата_рождения и Телефон. Откроем этот запрос в режиме конструктора. В строке Условие отбора поля Дата_рождения щелкнем мышкой и нажмем кнопку Построить (волшебную палочку) на ПИ. Откроется окно Построителя выражений. В левой части окна выберем Функции ðВстроенные функции, в центральной части (категории функций) – Дата/время, в левой части дважды щелкнем на функции Month (рис.4.15).
Затем выделим слово «number» в верхнем поле окна Построителя выражений. Теперь опять, в левом окне выберем Таблицы ð Ученики, в среднем окне дважды щелкнем на поле Дата_рождения. В верхней части окна появиться выражение:
Month ( [Ученики]![Дата_рождения] )
Теперь допишем в нем номер месяца, в котором мы хотим узнать дни рождения учеников, например, = 02 и нажмем ОК.
Month ( [Ученики]![Дата_рождения] ) =02
Выражение из окна Построителя выражений перенесется в строку Условие отбора в запросе. Теперь запустим этот запрос на выполнении и получим результат (рис.4.16)
В запросе отображены записи только с данными тех учеников, у которых день рождения в феврале.