- •В. П. Киреенко, н. Н. Поснов Система управления базами данных Microsoft Access: методические рекомендации
- •Оглавление
- •Введение
- •1 Краткие теоретические сведения
- •1.1. Реляционная база данных. Основные термины и понятия
- •2 Разработка базы данных
- •2.1 Разработка базы данных «Торговая компания»
- •3.1 Создание таблицы
- •2.2 Запуск ms access
- •3 Создание таблиц
- •3.2 Создание таблицы в режиме Конструктора
- •3.3 Определение имен полей
- •3.4 Типы данных
- •3.5 Заполнение полей таблицы в окне конструктора
- •3.6 Свойства полей
- •3.6.1 Задание маски ввода
- •3.6.2 Задание свойства условие на значение
- •3.6.3 Задание свойства подстановка
- •3.7 Выбор ключевого поля
- •3.8 Сохранение таблицы и присвоение имени
- •3.9 Ввод и редактирование данных в таблице. Изменение макета таблицы
- •3.10 Создание таблиц другими способами
- •4 Создание связей
- •5 Формы
- •5.1 Создание формы
- •5.1.1 Создание автоформы
- •5.1.2 Мастер форм
- •5.1.3 Ввод и редактирование данных в форме
- •5.2 Создание подчиненной формы
- •5.3 Конструктор форм
- •5.4 Элементы управления. Создание и работа с ними
- •5.5 Создание кнопочной формы
- •5.6 Создание макроса
- •6. Запросы
- •6.1 Запрос на выборку
- •6.1.1 Создание запроса на выборку с помощью «Конструктора»
- •6.1.2 Особенности ввода данных в строку бланка запроса «Условие отбора»
- •6.1.3 Создание запроса на выборку при помощи мастера
- •6.2 Создание запроса с параметрами, запрашивающего ввод условий отбора при каждом запуске
- •Between [Введите начальную дату:] And [Введите конечную дату:]
- •6.3 Вычисления в запросах
- •6.4 Создание итоговых запросов
- •6.5 Перекрестные запросы
- •6.6 Построитель выражений. Создание вычисляемых полей
- •6.7 Типы запросов
- •6.7.1 Запрос на обновление
- •6.7.2 Запрос на создание таблицы
- •6.7.3 Запрос на добавление
- •6.7.4 Запрос на удаление
- •6.8 Редактирование запросов
- •6.9 Фильтры
- •7 Отчеты
- •7.1 Создание отчета при помощи мастера
- •7.2 Создание автоотчетов
- •7.3 Создание отчета в режиме конструктора
- •7.4 Вычисление итоговых значений в отчетах (группировка)
- •7.5 Создание вычисляемых и итоговых полей
- •8 Лабораторные работы Лабораторная работа 1. Создание таблиц базы данных. Установление связей
- •Лабораторная работа 2. Запросы
- •1. Запрос на обновление:
- •2. Запрос на добавление:
- •4. Запрос на удаление:
- •Лабораторная работа 3. Формы
- •Лабораторная работа 4. Отчеты
- •Лабораторная работа 5. Макросы
- •Список использованных источников
6.7.2 Запрос на создание таблицы
Иногда нужно сохранить извлекаемые с помощью запроса на выборку данные в новой таблице. Предположим, вы обнаружили, что снова и снова выполняете один и тот же запрос, а его исходные данные не меняются. В этом случае можно ускорить работу приложения, используя вместо запроса реальную таблицу, особенно если при выполнении запроса объединяется несколько таблиц. Например, если в конце каждой неделе вам приходится выводить ряд отчетов, использующих один и тот же сложный запрос, выполнение которого занимает несколько минут для каждого отчета, вы сэкономите немало времени, если сначала сохраните результат запроса во временной таблице и затем подготовите отчеты на основе последней. Сохранение набора записей запроса как таблицы полезной в том случае, когда вы накапливаете итоговую информацию и намеренно долго храните ее после удаления исходных данных, на которых был основан запрос.
Рассмотрим создание такого запроса. Предположим, что нам нужно выявить заказы, оформленные в течение двух последних месяцев (отсчитывая от сегодняшнего дня) и представить их в виде соответствующей таблицы. Для этого вначале создадим запрос на выборку, чтобы убедиться, что мы работаем с нужными данными (в нашем случае это запрос на основе таблицы «Заказы» (рисунок 6.26). После этого для поля «ДатаЗаказа» в строке «Условие отбора» вводим выражение (это можно сделать при помощи «Построителя выражений»), которое обеспечивает выполнение данного условия. В нашем случае: Date()-[ДатаЗаказа]<=61.
Рисунок 6.26 – Запрос на выборку с заданным условием отбора записей
Далее выполняем этот запрос, чтобы убедиться в правильности отбора данных. Переключившись в режим таблицы, можно увидеть новый набор записей, показанный на рисунке 6.27.
Рисунок 6.27 – Новый набор записей
Чтобы преобразовать запрос на выборку в запрос на создание таблицы, необходимо выбрать команду «Запрос – Создание таблицы». Access выведет окно диалога «Создание таблицы». Введите с клавиатуры подходящее имя для итоговой таблицы и нажмите кнопку «OK», чтобы закрыть окно диалога (рисунок 6.28).
Рисунок 6.28 – Создание новой таблицы
Закончив построение запроса на создание таблицы, вы можете выполнить его с помощью команды «Запрос – Запуск» или кнопки «Запуск» на панели инструментов. Access выберет записи и сообщит о количестве вставляемых в таблицу строк, выводя на экран окно диалога для подтверждения создания таблицы. Чтобы создать новую таблицу и поместить в нее записи, надо нажать кнопку «Да». Если после этого переключиться в окно базы данных и перейти на вкладку «Таблицы», то в перечне таблиц появится новая только что созданная таблица.
6.7.3 Запрос на добавление
С помощью запроса на добавление удобно копировать выбранные записи и вставлять их в другую таблицу. Кроме того, запрос на добавление можно использовать для перенесения информации из другого источника в свою базу данных, чтобы затем отредактировать полученные сведения и вставить их в существующую таблицу. Запрос на добавление подобно запросу на создание таблицы позволяет собрать вычисленные итоговые данные и сохранить их в определенной таблице. Одно из преимуществ запроса на добавление состоит в том, что вы имеете возможность полностью определить поля и задать их свойства перед вставкой данных в конечную таблицу. Недостатком этого типа запросов является большая вероятность ошибок, поскольку добавляемые данные могут не соответствовать типам полей, определенным в конечной таблице, или нарушать уникальность первичного ключа.
Создадим запрос, который будет добавлять в таблицу (которую мы создали в предыдущем примере) новые записи, то есть заказы, которые не были выполнены в течении этих двух месяцев. Для этого необходимо создать запрос на выборку на основе исходной таблицы; для поля «ДатаЗаказа» в строке «условие отбора» ввести следующее выражение: Date()-[ДатаЗаказа]>=61, затем выбрать тип запроса «Запрос – Добавление», и указать ту таблицу, в которую мы хотим добавить записи (рисунок 6.29).
Рисунок 6.29 – Создание запроса на добавление
Перед выполнением запроса на добавление можно запустить его как запрос на выборку (как и в случае других запросов на изменение), чтобы убедиться в том, что копируются нужные записи. Можно вообще начать с построения запроса на выборку, выполнить его и только после этого преобразовать в запрос на добавление. Наконец, можно сразу создать запрос на добавление и проверить отобранные им данные, переключившись из режима конструктора в режим таблицы. После проверки правильности добавления записей можно выполнить запрос прямо из окна конструктора либо сохранить и затем запустить его из окна базы данных. После запуска запроса на добавление Access выведет окно с сообщением о том, сколько будет добавлено записей.
