- •Лабораторная работа № 1. Структура окна базы данных
- •Объекты баз данных
- •Структура таблицы
- •Просмотр таблицы
- •Перемещение по таблице
- •Просмотр запросов
- •Просмотр форм
- •Формат Закрепить столбец.
- •Порядок выполнения копирования/перемещения данных из одного поля в режиме таблицы:
- •Просмотр отчетов
- •Лабораторная работа № 2. Редактирование таблиц
- •Перемещение полей в таблицах:
- •Ошибки вставки
- •Замена данных
- •Лабораторная работа № 3. Создание таблиц в режиме конструктора
- •Создание базы данных
- •Создание таблицы
- •Лабораторная работа № 4. Сортировка записей. Фильтры
- •Сортировка записей
- •Фильтр по выделенному
- •Исключение выделенного
- •Лабораторная работа № 5. Простые запросы
- •Запрос на основе одной таблицы
- •Запросы с параметром
- •Создание запроса из фильтра
- •Лабораторная работа № 6. Сложные запросы Итоговый запрос
- •Создание вычисляемых полей
- •Перекрестный запрос
- •Лабораторная работа № 7. Создание Автоформ
- •Создание формы на основе таблицы или запроса
- •Создание формы с помощью Мастера
- •Лабораторная работа № 8. Создание форм с помощью конструктора Структура формы
- •Создание формы с помощью Конструктора
- •Проектирование форм
- •Добавление кнопок
- •Прочие элементы управления формы
- •Лабораторная работа № 9. Отчеты
- •Создание отчета с помощью Мастера
- •Лабораторная работа № 10. Организация связей между таблицами. Использование списков подстановок
- •Списки подстановок
- •Связи между таблицами
- •Лабораторная работа № 11. Создание запросов на базе нескольких таблиц
- •Контрольная работа 1
- •Контрольная работа 2
- •Контрольная работа 3
- •Простой запрос
- •Запрос на базе нескольких таблиц
- •Запрос с параметром
- •Запрос с вычисляемым полем
- •Итоговый запрос
- •Приложение Использование подстановочных знаков для поиска значений
- •Функции даты и времени
- •Специальные операторы сравнения
- •Создание кнопочной формы
Создание вычисляемых полей
В запросе можно создать поле, в котором будут отображаться результаты вычислений, определенных в выражении. Такие поля называются вычисляемыми.
Задание 4
На основе таблицы Заказано подсчитайте стоимость каждого заказа с учетом количества заказанного товара и скидок. Для этого потребуется создать в запросе новое поле, которого не было в таблице.
1. В бланк запроса поместите поля КодЗаказа и КодТовара. Затем установите курсор в свободную колонку и введите имя нового поля - назовем его Стоимость. После имени поставьте символ «:» (двоеточие). Он отделяет имя вычисляемого поля от выражения и является обязательным.
2. На панели инструментов нажмите кнопку Построить. Откроется окно Построитель выражений.
Рис.4. Окно построителя выражений
В окне построителя выражений, выбирая с помощью мыши нужные поля и операции, введите формулу для вычисления стоимости (см. рис. 4). (Если при вводе появляются лишние символы, их нужно удалить).
Сохраните запрос и просмотрите полученный результат.
Задание 5
На основе таблицы Сотрудники вычислите стаж работы каждого сотрудника. Для этого вам потребуются встроенные функции даты и времени (см. приложение). Стаж работы – это количество полных лет, проработанных сотрудником с момента найма на работу (поле ДатаНайма в таблице Сотрудники) по сегодняшний день (встроенная функция Date( )).
Порядок построения запроса
В бланк запроса поместите поля Фамилия, Имя и ДатаНайма из таблицы Сотрудники. В свободной колонке создайте поле Стаж, не забудьте поставить двоеточие.
Вызовите окно Построитель выражений. Выбирая из меню нужные поля и функции, введите выражение Date()-Сотрудники!ДатаНайма.
Сохраните запрос и просмотрите результат. Полученные числа показывают стаж работы в днях, а нам нужно в годах, т.е. полученный результат нужно разделить на 365 (число дней в году).
Откройте запрос в режиме конструктора, вызовите окно Построитель выражений и измените выражение на (Date()-Сотрудники!ДатаНайма)/365. Снова сохраните запрос и просмотрите результат.
Результат верный, но нам нужно целое число лет, т.е. дробную часть нужно отбросить. Для этого существует математическая функция Int, которая отбрасывает дробную часть числа (не округляя его). Еще раз измените выражение на Int((Date()-Сотрудники!ДатаНайма)/365). Полученный результат нас полностью устраивает.
Перекрестный запрос
Нередко возникает необходимость группировать результаты отбора и вычислений в компактном формате, аналогичном формату электронной таблицы. Это можно сделать при помощи так называемого перекрестного запроса.
Задание 6
Постройте перекрестный запрос на базе таблицы Заказы, показывающий, сколько заказов обрабатывает каждый сотрудник для каждой из стран-получателей. В строках этого запроса должны располагаться страны-получатели, а в столбцах – сотрудники.
Порядок построения запроса
Активизируйте ярлык Запросы и нажмите кнопку Создать. В появившемся списке выберите Перекрестный запрос. Нажмите кнопку OK. Выберите нужную таблицу или запрос (в данном случае таблицу Заказы). Далее, следуя указаниям, выберите поля, значения которых будут служить заголовками строк, затем поля, значения которых будут служить заголовками столбцов. После этого выберите нужную функцию (в данном случае Число) и установите или снимите (при необходимости) флажок Итоги для вычисления итогового значения по каждой строке. Дайте запросу имя и нажмите кнопку Готово. Просмотрите полученный результат.
