Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Макаровой по БД.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
3.36 Mб
Скачать

4.3 Вычисления в запросах

Теперь попробуем создать запрос с вычислениями. Для этого опять добавим поля в таблице Учителя. Перейдем на вкладку Таблицы и откроем таблицу Учителя в режиме конструктора. Добавим поле Оклад, формат денежный. В режиме таблицы введем в это поле данные.

Теперь построим запрос «Оплата за преподавание». Запрос можно создавать как в режиме конструктора, так и с помощью мастера. В запрос включаем такие поля:

Фамилия, Классное_руководство и Оклад из таблицы Учителя. Открываем этот запрос в режиме конструктора (если вы его создавали мастером). В строке поле первого свободного столбца после столбца Оклад пишем слово Налог: и нажимаем кнопку Построить (волшебную палочку) на панели инструментов. Откроется окно Построителя выражений. В этом окне в поле объектов БД раскрываем объект Таблицы, в них выбираем Учителя, в соседнем поле выбираем Оклад. В верхнем поле Построителя выражений появиться надпись Налог: «Выражение» [Учителя]![Оклад] (рис.4.13):

Слово «Выражение» нужно удалить и дописать *0,12 - размер налоговой ставки, которую вы можете сами придумать так же, как и размер оклада – ведь это учебная БД! Должно получиться следующее:

Налог: [Учителя]![Оклад] * 0,12

Запись [Учителя]![Оклад] обозначает, что поле Оклад взято из таблицы Учителя. Если бы в названиях этих полей были пробелы или другие недопустимые знаки, то Access не стал бы вычислять это выражение и пришлось бы очень долго искать причину ошибки.

Нажимаем ОК

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

Затем формируем поле Зарплата. В построителе выражений записываем следующее:

Зарплата: [Учителя]![Оклад] – Налог

После этого запускаем запрос на выполнение и он должен иметь вид как на рис.4.14.

4.4 Вычисления в запросах с использованием встроенных функций

В СУБД Access существует возможность проводить вычисления с помощью встроенных стандартных функций, наподобие того, как мы это делали в Excel’e. Правда, набор этих функций поменьше, да и пользоваться ими не так удобно. Но давайте попробуем.

Создадим запрос «Дни рождений учеников в феврале» (марте, июне или в любом другом месяце) - для того, чтобы вовремя приготовить им подарки.

Для создания этого запроса нам понадобиться таблица Ученики и поля в ней: Фамилия, Имя, Дата_рождения и Телефон. Откроем этот запрос в режиме конструктора. В строке Условие отбора поля Дата_рождения щелкнем мышкой и нажмем кнопку Построить (волшебную палочку) на ПИ. Откроется окно Построителя выражений. В левой части окна выберем Функции Встроенные функции, в центральной части (категории функций) – Дата/время, в левой части дважды щелкнем на функции Month (рис.4.15).

Затем выделим слово «number» в верхнем поле окна Построителя выражений. Теперь опять, в левом окне выберем Таблицы Ученики, в среднем окне дважды щелкнем на поле Дата_рождения. В верхней части окна появиться выражение:

Month ( [Ученики]![Дата_рождения] )

Теперь допишем в нем номер месяца, в котором мы хотим узнать дни рождения учеников, например, = 02 и нажмем ОК.

Month ( [Ученики]![Дата_рождения] ) =02

В ыражение из окна Построителя выражений перенесется в строку Условие отбора в запросе. Теперь запустим этот запрос на выполнении и получим результат (рис.4.16)

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]