
- •Содержание
- •Предисловие
- •1.2 Разработка структуры таблиц и типов полей в бд «Школа»
- •1.3 Допустимые данные для таблиц бд «Школа»
- •1.4 Создание таблиц бд «Школа» и связей между ними
- •1.5 Схема данных бд «Школа»
- •2. Создание форм
- •2.1 Создание автоформы.
- •2.2 Создание формы с помощью команды Форма пункта меню Вставка (или кнопки Новый объект на пи, рис.2.1)
- •2.3 Создание форм в окне Форма главного окна бд
- •2.3.1 Создание формы Учителя
- •2.3.2 Использование картинки в качестве фона для формы
- •2.4 Создание подчиненных форм
- •3. Сортировка и поиск данных. Фильтры
- •3.1 Сортировка
- •3.2 Поиск с помощью команды Найти
- •3.3 Фильтры
- •3.3.1 Фильтр по выделенному
- •3.3.2 Расширенный фильтр
- •4. Запросы
- •4.1 Основные виды запросов
- •4.2 Создание простых запросов
- •4.3 Вычисления в запросах
- •4.4 Вычисления в запросах с использованием встроенных функций
- •4.5 Перекрестные запросы
- •4.6 Построение запроса на обновление данных.
- •5. Отчеты
- •5.1 Способы создания отчета
- •Создание автоотчета
- •5.1.2 Создание отчета с помощью мастера
- •5.2 Создание итогового отчета на основе нескольких таблиц
- •5.3 Рекомендации по работе с отчетами
- •5.3.1 Изменение масштаба отображения отчета
- •5.3.2 Печать отчета
- •5.3.3 Добавление и удаление областей в отчете
- •5.3.4 Изменение фона элементов отчета
- •Примечание
- •Заключение
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)
В запросе отображены записи только с данными тех учеников, у которых день рождения в феврале.