- •И.Б. Кушнир
- •Оглавление
- •Введение
- •1. Основы информационных систем и баз данных
- •1.1. Информационные системы1
- •1.2. Базы данных
- •Контрольные вопросы
- •Тестовые задания
- •2. Общие вопросы разработки баз данных субд Access
- •2.1. Рабочая среда Access
- •Концепция базы данных
- •Таблицы
- •Запросы
- •Страницы
- •Макросы
- •2.2. Задание для самостоятельной работы
- •Варианты заданий
- •2.3. Пример выполнения задания2
- •Поставщики
- •Контрольные вопросы
- •Тестовые задания
- •3. Создание и корректировка базы данных в субд
- •Типы данных и задание связей в базе данных
- •Типы данных, обрабатываемых в Access [8, с. 45]
- •3.2. Задание для самостоятельной работы
- •3.3. Пример выполнения работы
- •3.3.1. Создание базы данных
- •3.3.2. Создание структуры таблиц в режиме конструктора Создание структуры таблицы Поставщики
- •Создание структуры таблицы Товары
- •3.3.3. Связывание таблиц
- •3.3.4. Ввод данных3
- •3.3.5. Редактирование записи
- •3.3.6. Удаление записи
- •3.3.7. Поиск и сортировка данных
- •Сортировка
- •Поиск записи
- •Фильтрация записей
- •Расширенный фильтр
- •3.3.8. Печать в режиме таблицы
- •Контрольные вопросы
- •Тестовые задания
- •4. Запросы на выборку
- •4.1. Способы создания запроса4
- •Примеры часто используемых операторов и функций5
- •4.2. Задание для самостоятельной работы
- •Варианты заданий
- •4.3. Пример выполнения задания
- •4.3.1. Создание запроса
- •4.3.2. Редактирование запроса
- •Контрольные вопросы
- •Тестовые задания
- •5. Вычисления в запросах: простые, групповые
- •5.1. Общие сведения о расчетах в запросах6
- •Типы операций [8, с. 128]
- •Сведения о стипендиатах
- •Перекрестная таблица
- •5.2. Задание для самостоятельной работы
- •Варианты заданий
- •5.3. Пример выполнения задания
- •5.3.1. Вычисления в запросе
- •5.3.2. Итоговые запросы
- •5.3.3. Сводные таблицы7
- •Изменение структуры сводной таблицы
- •Фильтрация
- •Авс-анализ
- •Детализация
- •Контрольные вопросы
- •Тестовые задания
- •6. Формы
- •6.1. Общая характеристика экранных форм8
- •6.2. Задание для самостоятельной работы
- •Варианты заданий
- •6.3. Пример выполнения задания
- •6.3.1. Простая форма
- •6.3.2. Составная форма, основанная на двух таблицах
- •6.3.3. Составная форма, основанная на таблице и запросе
- •6.3.4. Составная форма с вычисляемым полем в главной форме
- •6.3.5. Редактирование формы
- •Контрольные вопросы
- •Тестовые задания
- •7. Отчеты
- •7.1. Общая характеристика отчетов9
- •7.2. Задание для самостоятельной работы
- •Варианты заданий
- •7.3. Пример выполнения задания
- •7.3.1. Создание автоотчета
- •7.3.2. Нумерация и сортировка данных в отчете
- •7.3.3. Группировка и подсчет итогов в отчете
- •7.3.4. Подотчет в отчете
- •Контрольные вопросы
- •Тестовые задания
- •8. Web-интерфейс к базам данных Access
- •8.1. Общая характеристика страниц доступа к данным10
- •8.2. Задание для самостоятельной работы
- •Варианты заданий
- •8.3. Пример выполнения задания
- •8.3.1. Создание автостраницы
- •8.3.2. Создание страницы с помощью Мастера
- •8.3.3. Создание и изменение страниц доступа к данным в режиме Конструктора
- •Контрольные вопросы
- •Тестовые задания
- •9. Настройка пользовательского интерфейса
- •9.1. Общая характеристика элементов управления и их свойств
- •9.2. Задание для самостоятельной работы
- •9.3. Пример выполнения задания
- •9.3.1. Создание кнопочной формы
- •9.3.2. Добавление кнопок в форму
- •9.3.3. Макрос для открытия запроса
- •9.3.4. Задание условий отбора в макросе
- •9.3.5. Настройка параметров запуска
- •Контрольные вопросы
- •Тестовые задания
- •Заключение
- •Библиографический список
- •Приложение 1 (справочное) Типы связи
- •Приложение 2 (справочное) Синтаксис масок ввода
- •Маски ввода
- •Примеры масок ввода
- •Учебное издание
4.3. Пример выполнения задания
4.3.1. Создание запроса
Отберем всех клиентов фирмы, у которых установлены факсы.
Выберите значок Создание запроса в режиме конструктора в списке запросов окна базы данных. Появится пустое окно конструктора таблиц и поверх него диалоговое окно Добавление таблицы (рис. 4.1).
В окне Добавление таблицы есть три вкладки. Выберите вкладку Таблицы и укажите таблицу, которая должна присутствовать в запросе. Для этого выделите в списке на вкладке Таблицы элемент Клиенты, как показано на рисунке 4.1, и нажмите кнопку , а затем.
Рис. 4.1. Добавление таблицы в запрос
Вы попадаете в окно Конструктора запросов, показанное на рисунке 4.2.
Рис. 4.2. Окно Конструктора запросов
В верхней части окна Конструктора отобразится образ таблицы-источника (Клиенты). Для того чтобы заполнить Бланк запроса, необходимо в таблице-источнике в верхней части окна Конструктора найти нужное поле и дважды щелкнуть на нем. При этом в бланке запроса появится столбец, соответствующий выбранному полю. Добавьте в запрос поля Название и Факс, для чего дважды щелкните на них (рис. 4.3).
Сформировав столбцы запроса, можно задать порядок сортировки. Для этого используется строка бланка Сортировка. Порядок сортировки выбирается с помощью поля со списком значений. По умолчанию во всех полях запроса устанавливается значение отсутствует. Щелкните на строке сортировка столбца Название в списке значение По возрастанию.
Рис. 4.3. Определение полей запроса
В строке условия отбора определим критерии, по которым будут отбираться записи в запросе. В нашем случае нам необходимо, чтобы отобрались все записи с непустыми значениями в поле Факс. Для этого нужно ввести в строку Условия отбора столбца Факс оператор Not Is Null (рис. 4.4).
Рис. 4.4. Установка порядка сортировки и критериев выборки
Чтобы выполнить запрос и увидеть его результаты, можно воспользоваться одной из двух кнопок панели инструментов: Вид илиЗапуск .
Нажмите кнопку Вид . Результат выполнения запроса представлен на рисунке 4.5. В базе данных из 91 записи отобраны 69.
Рис. 4.5. Результат выполнения запроса
Убедившись в том, что запрос создан правильно, его можно сохранить. Закройте окно запроса, ответив на вопрос о сохранении макета запроса Да. После этого будет выведено стандартное диалоговое окно, в которое нужно ввести имя запроса Факсы клиентов и нажать кнопку . В списке запросов появился еще один запрос. Обратите внимание на значок справа от имени запроса: этот значок обозначает запрос на выборку.
Чтобы повторно выполнить запрос, достаточно дважды щелкнуть на его имени или выделить имя запроса и нажать кнопку на панели инструментов окна базы данных.
4.3.2. Редактирование запроса
Режим конструктора предназначен также и для изменения запроса. Выделите запрос Факсы клиентов и нажмите кнопку на панели инструментов окна базы данных. Вы снова увидите бланк запроса, который был создан ранее.
Рассмотрим пример создания нового запроса на основе существующего. Пусть нам необходимо узнать список клиентов, которые не обращались в фирму Борей (не делали заказов). Для этого нам необходимы две таблицы: Клиенты и Заказы. Таблица Клиенты у нас уже есть. Добавим в бланк запроса таблицу Заказы.
Нажмите на панели инструментов кнопку Отобразить таблицу . В появившемся диалоговом окнеДобавление таблицы выберите таблицу Заказы и нажмите кнопку , а затем. В верхнем поле окна конструктора появится таблицаЗаказы, причем сразу показывается связь этой таблицы с таблицей Клиенты.
Теперь необходимо изменить параметры объединения таблиц [10, с. 165–168]. По умолчанию в Access для связывания таблиц применяется внутреннее объединение. При этом в результирующий набор попадают те записи из двух связанных таблиц (Клиенты и Заказы), у которых связанные поля совпадают. Если запись в главной таблице (Клиенты) не имеет соответствующие записи в подчиненной таблице (Заказы), эта запись в результирующее множество не включается. Таким образом, мы не увидим клиентов, которые не делали заказы в фирме Борей.
Для того чтобы включить в результирующую выборку клиентов, которые не делали заказы, необходимо использовать между таблицами Клиенты и Заказы так называемое внешнее объединение.
Внешние объединения бывают левыми и правыми. Если таблицы в запросе объединяются левым внешним объединением, то выводятся все записи главной таблицы Клиенты («один») с уникальным значением первичного ключа вне зависимости от того, имеются ли соответствующие записи в подчиненной таблице Заказы («многие»). Установите левое внешнее объединение между таблицами Клиенты и Заказы. Щелкните дважды на линии связи двух таблиц в верхней части окна конструктора и в появившемся диалоговом окне установите флажок на пункте 2, как показано на рисунке 4.6.
Рис. 4.6. Изменение параметров соединения
Нажмите кнопку ОК и обратите внимание, что на линии, соединяющей таблицы в верхней части окна Конструктора, добавилась стрелочка (рис. 4.7). Удалите поле Факс из бланка запроса, для этого установите курсор на столбец Факс и выполните команду ПравкаУдалить столбец или нажмите клавишу Delete. Выделите поле КодКлиента в таблице Заказы и дважды щелкните на нем. Введите в строку Условия отбора столбца КодКлиента оператор Is Null. Так как содержимое этого столбца отсутствует (в таблице Заказы отсутствуют подчиненные записи), то следует исключить его из результата запроса. Для этого снимите флажок в строке Вывод на экран этого столбца.
Рис. 4.7. Окно конструктора с измененными параметрами соединения
Нажмите кнопку Вид. Результат выполнения запроса представлен на рисунке 4.8. В базе данных отобраны две записи.
Рис. 4.8. Результат выполнения запроса
Закройте окно запроса. Ответив на вопрос о сохранении макета запроса , запрос сохранится под прежним именем. Для того чтобы переименовать его, необходимо в окне базы данных в списке запросов выделить его имя и нажатьF2.
Отчет должен содержать: тему и цель работы, задание к работе, распечатку по каждому запросу, бланк Конструктора запроса, результат его работы.