Данный комплект практических работ будет полезен учителю информатике, преподающем в 9-11 классах при изучении темы Системы Управления Базами Данных. Используемое приложение - Microsoft Office. В комплекте отражены все основные функции для работы с базами данных , запросы и формы по таблицам
Praktika_BD.doc
Практические работы в MS Access
Для каждого типа товара на складе имеются полки. Партии товаров размещаются на
Товары поступают на склад отдельными партиями от разных поставщиков.
Заказ товаров поставщикам выполняется при достижении минимального запаса товара
Создание базы данных в MS Access
Цель
Научиться создавать новый файл базы данных Access, создавать таблицы в этом файле с
помощью средств пользовательского интерфейса Access.
В качестве предметной области рассмотрим склад: учет, заказ и оптовую реализацию
товаров. Приведем описание предметной области.
―
―
на складе.
―
полках склада в соответствии с типом товара.
―
стандартные упаковки, под размеры которых спроектированы полки склада.
―
Полки склада имеют разные размеры, соответственно возможно размещение различного
количества партий определенного типа товара (характеристика – объем полки). Например,
полка для размещения 5 упаковок по 1000 штук цветных карандашей.
―
―
различных товаров.
―
одной позицией с указанием количества партий. Если стоимость партий различна, они
вписываются в различные позиции заказа.
На этапе анализа и моделирования предметной области была построена логическая модель
данных «сущностьсвязь» (рис. 1). Построение логических моделей данных подробно
рассмотрено в материалах лекции к теме «Базы данных».
Для модели на рис. 1 выполнены этапы нормализации до 3 нормальной формы
включительно. Устранены связи типа «М:М».
Перейдем к этапу проектирования физической структуры базы данных.
Самостоятельно
Выполните преобразование логической модели (рис.1) в физическую модель в
соответствии с правилами, рассмотренными в лекции по теме «Базы данных».
Партии товаров могут включать разное количество единиц товара, но имеют
Товар, хранящийся на складе, поступает в оптовую продажу.
Покупатели оформляют бланк заказа на поставку определенного количество партий
Партии товара, имеющие одинаковую стоимость, могут быть вписаны в бланке заказа
1 Рис.1. Логическая модель «Склад»
Создание нового файла базы данных Access
1. Запустите программу Microsoft Access.
2. В диалоге создания базы данных выберите шаблон Новая база данных, укажите папку, в
которой будет сохранена ваша база данных, дайте имя файлу. Нажмите кнопку Создать.
3. Структуру таблицы следует разрабатывать в режиме Конструктор (рис.2).
Для начала создадим простые таблицы, так называемые справочники (это таблицы,
находящиеся в связи на стороне «1»).
Рис.2. Изменение режима редактирования таблицы
В режиме Конструктор таблица создается путем задания имен полей, их типов и свойств.
На рис. 3. показана структура таблицы ТИП_ПОКУПАТЕЛЯ.
4. В столбец Имя поля введите имя поля.
5. В столбце Тип данных выберите из раскрывающегося списка соответствующий тип
поля.
6. В столбце Описание можно ввести описание данных этого поля (не обязательно).
7. В нижней части Конструктора таблиц на вкладках Общие можно установить свойства
каждого из полей таблицы (рис.3).
2 Для всех полей создаваемых таблицы обязательно устанавливайте следующие свойства:
― Размер поля,
― Обязательное поле,
― Пустые строки.
8. Укажите ключевые поля. Для указания ключевого поля выделите соответствующую
строку (установите в этой строке курсор) и нажмите на кнопку Ключевое поле
на
панели инструментов (рис.3).
Рис.3. Создание таблицы в режиме КОНСТРУКТОРА
Сохранить. Таблицу можно закрыть.
Поле MEMO
Имена полей и таблиц не должны начинаться с пробела или управляющего символа
Имена полей должны быть уникальны в рамках таблицы.
Имена таблиц должны быть уникальны в рамках базы данных.
Имена могут содержать не более 64 символов, включая пробелы
Желательно избегать употребления имен, совпадающих с именами встроенных функций
9. После описания всех полей нажмите кнопку
Правил именования объектов в MS Access:
―
―
―
―
или свойств Microsoft Access, например, Name, Property, Count и так далее.
―
(коды ASCII 0031).
―
Имена полей и таблиц могут содержать любые символы, включая буквы, цифры,
пробелы. Специальные символы за исключение точки (.), восклицательного знака (!),
прямых скобок ([]).
Рассмотрим также описание типов данных, предлагаемых MS Access (табл.1).
Таблица 1. Типы данных Microsoft Access
Тип данных
Текстовый
Описание
Символьные или числовые данные, не требующие вычислений.
Поле данного типа может содержать до 255 символов.
Размер поля задается с помощью свойства Размер поля в нижней
части окна Конструктора таблицы.
Поле MEMO предназначено для ввода текстовой информации, по
объему превышающей 255 символов. Это поле может содержать
3 Числовой
Дата/Время
Денежный
Счетчик
Логический
Поле объекта OLE
Гиперссылка
до 65535 символов.
Этот тип данных отличается от типа ТЕКСТОВЫЙ тем, что в
таблице хранятся не сами данные, а ссылки на блоки текста,
которые хранятся отдельно. За счет этого ускоряется обработка
таблиц (сортировка, поиск и другие операции).
Поле MEMO не может быть ключевым полем или
проиндексированным полем.
Числовой тип используется для хранения числовых данных,
используемых в математических расчетах. Имеет много
подтипов, от выбора которых зависит размер поля.
Тип для представления даты и времени. Размер поля 8 байт.
Тип данных, предназначенный для хранения данных, точность
представления которых колеблется от 1 до 4 знаков после
запятой. Целая часть данного типа может содержать до 15
десятичных знаков.
Поле содержит 4байтный уникальный номер, определяемый MS
Access для каждой новой записи автоматически путем увеличения
предыдущего значения на 1 или случайным образом.
Значение поля типа счетчик обновлять нельзя.
Максимальное значение числа записей в таблице с полем счетчика
не должно превышать 2 миллиарда.
Логическое поле, которое может содержать только два значения,
интерпретируемых как Да/Нет, Истина/Ложь,
Включено/Выключено.
Поле логического типа не может быть ключевым, но это поле
можно проиндексировать.
Содержит ссылку на OLEобъект (лист Excel, документ Word,
звук, изображение и так далее).
Объем объекта ограничивается только имеющимся в наличие на
диске пространством.
Позволяет вставлять в поле гиперссылку, с помощью которой
можно ссылаться на произвольный фрагмент данных внутри
файла или страницы на том же компьютере, в локальной сети или
в сети Internet.
Поле типа ГИПЕРССЫЛКА не может быть ключевым или
индексированным.
Любой совместимый по формату объект: картинка, файл..
Вложение
В таблице ТИП_ПОКУПАТЕЛЯ мы использовали поле СЧЕТЧИК для автоматической
генерации ключевого значения, ТЕКСТОВОЕ поле размером в 50 символов и поле типа
MEMO для хранения дополнительной символьной информации.
Самостоятельно
1. По аналогии с таблицей ТИП_ПОКУПАТЕЛЯ создайте остальные таблицы справочники:
ПОСТАВЩИК, ТИП_ТОВАРА, ФОРМА_ОПЛАТЫ. Для создания новой таблицы
выберите пункт меню Создание – Таблица (рис.4).
4 для проверки значения поля на соответствие определенному шаблону ввода, например,
для автоматического ввода постоянных символовразделителей, например. дефиса ()
для обозначения позиции ввода с тем, чтобы облегчить ввод данных;
для сохранения данных вместе с константами или без констант, в зависимости от вашего
Рис.4. Создание новой таблицы
Каждому типу данных соответствует список свойств. Рассмотрим свойство Маска ввода.
Маска ввода обеспечивает различные виды управления вводом данных. Маска ввода
применяется в следующих случаях:
―
шаблон (000)0000000 задает ввод номера телефона;
―
или круглых скобок;
―
―
предпочтения.
Создание маски ввода для поля облегчено тем, что существует специальный Мастер,
помогающий настраивать существующие маски и создавать новые маски. В табл.2.
приведены символы маски ввода. В табл.3 показаны примеры масок ввода.
Таблица 2. Символы маски ввода
Символ
0
9
#
L
?
A
a
&
C
.,:;/
<
>
!
Вводимое в поле значение
Цифра (от 0 до 9), ввод обязателен, символы плюс и минус не допускаются.
Цифра или пробел, ввод не обязателен, символы плюс и минус не допускаются.
Цифра или пробел, ввод не обязателен, допускаются символы плюс и минус.
Буква (от A до Z или от А до Я), ввод обязателен.
Буква, ввод не обязателен.
Буква или цифра, ввод обязателен.
Буква или цифра, ввод не обязателен.
Любой символ или пробел, ввод обязателен.
Любой символ или пробел, ввод не обязателен.
Десятичный разделитель, а также разделитель тысяч, дат и времени.
Перевод всех следующих символов в нижний регистр.
Перевод всех следующих символов в верхний регистр.
Заполнение маски ввода справа налево, а не слева направо (этот символ в маске
ввода можно помещать в любую позицию).
Ввод любого следующего символа в качестве текстовой константы
(используется для ввода в маску перечисленных в данной таблице символов как
текстовых констант, а не как управляющих символов).
Таблица 3. Примеры масок ввода
5 1. Самостоятельно создайте остальные таблицы базы данных: ПОКУПАТЕЛЬ, ЗАКАЗ,
ПУНКТ_ЗАКАЗА, ТОВАР, ПОЛКА, ПАРТИЯ.
2. Самостоятельно разработайте маски ввода для полей Телефон, Покупатель, Поставщик,
КоличествоВПартии, ТипТовара, МинимальныйЗапас, Количество.
Свойства полей и схема данных
Цель
Научиться устанавливать свойства полей таблицы и создавать схему данных.
Задание 1. Включение таблиц в схему данных и определение связей между ними
1. С помощью команд меню Работа с базами данных – Схема данных откройте диалог
выбора таблиц.
2. Выделите все таблицы и нажмите кнопку Добавить.
3. Закройте диалоговое окно.
4. Визуальными методами (drag and drop) выполните создание связей между таблицами в
соответствии с моделью данных (рис.1).
6 Рис.1. Логическая модель данных Склад
5. При установлении связей желательно включать поддержку целостности данных (рис.2).
6. Полученную схему данных нужно сохранить. Можно закрыть окно, но можно оставить
схему доступной для просмотра.
Рис.2. Целостность данных
Задание 2. Собственный список значений для поля подстановки
В СУБД MS Access существует возможность разработки списка значений для подстановки
в столбец таблицы. Такой прием оправдан, если список значений представляет собой
конечное множество, которое можно ввести на стадии проектирования таблиц.
1. Для таблицы ТипПокупателя можно организовать подобный список значений поля
ТипПокупателя.
7 2. Раскройте таблицу ТипПокупателя в режиме Конструктор и откройте выпадающий
список Типов данных для поля ТипПокупателя (рис.3).
3. Выберите Мастер подстановок.
Рис.3. Вызов Мастера подстановок для поля ТипПокупателя
4. Выберите режим Фиксированный набор значений. Введите несколько значений различных
типов покупателей.
5. Перейдите в режим ввода данных (Вид – Режим таблицы) и внесите несколько записей в
таблицу ТипПокупателя.
В поле КОД_ТИПА_ПОКУПАТЕЛЯ значения вводить не надо, значения должны
формироваться автоматически, пропускайте это поле, например, нажатием клавиши TAB.
В поле ТИП_ПОКУПАТЕЛЯ следует выбирать значения из встроенного списка.
При вводе данных в поле ПРИМЕЧАНИЕ (тип поля MEMO) нажмите клавиши SHIFT + F2
(рис.4).
Рис.4. Ввод значений в поле MEMO
Задание 3. Внесение изменений в список подстановки
После создания списка с помощью МАСТЕРА ПОДСТАНОВОК можно вносить в него
изменения. Это можно сделать двумя способами:
―
ПОДСТАНОВОК.
―
нижней части окна КОНСТРУКТОРА.
Отредактировать свойства поля подстановки на вкладке ПОДСТАНОВКА (рис.5) в
Открыть таблицу в режиме КОНСТРУКТОР и перезапустить МАСТЕР
8 Рис.5. Внесение изменений в список подстановки
1. Внесите изменения в список, созданный для поля с подстановкой.
Задание 4. Определение для поля значения по умолчанию
Если в таблице есть поле, которое всегда, или в большинстве случаев, будет содержать
одно и то же значение, можно задать для него значение по умолчанию.
Значение по умолчанию задается в свойстве поля ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ в
нижней части КОНСТРУКТОРА ТАБЛИЦЫ (рис.6).
Для назначения свойства ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ можно также использовать
функции Visual Basic. Функция – это фрагмент программного кода, который возвращает
значение определенного типа. Например, функция Date() возвращает текущую дату,
функция Now() возвращает дату и время.
Рис.6. Использование константы в качестве значения по умолчанию
Для вставки функции в качестве значения по умолчанию выполните следующие действия:
1. Установите курсор в поле (например, поле ДАТА_ЗАКАЗА[1] таблицы ЗАКАЗ) и
щелкните по кнопке ПОСТРОИТЕЛЯ ВЫРАЖЕНИЙ (рис.7).
9 Рис.7. Вызов ПОСТРОИТЕЛЯ ВЫРАЖЕНИЙ
2. В появившемся диалоге (рис.8) откройте папку ФУНКЦИИ, затем ВСТРОЕННЫЕ
ФУНКЦИИ. Выберите категорию Дата/Время и, наконец, функцию Date().
Рис.8. Работа с ПОСТРОИТЕЛЕМ ВЫРАЖЕНИЙ
3. Для всех полей, имеющих тип Дата/Время, добавьте значение по умолчанию с помощью
встроенных функций.
Задание 5. Индексирование полей в таблице
Индексы в MS Access используются для ускорения поиска данных по одному или
нескольким полям. Любая таблица, содержащая ключевое поле (поля) автоматически
индексируется по это эму полю (полям). Такой индекс называют первичным индексом.
Вам может потребоваться создавать собственные индексы по другим полям, для которых
часто выполняется операция поиска, например, ДАТА_ЗАКАЗА, ОБЪЕМ_ПОЛКИ и так
далее.
Индексы также полезны для неключевых полей, по которым выполняется объединение
таблиц, а также для полей, по которым выполняется сортировка.
Для создания дополнительного индекса в таблице раскройте таблицу в режиме
Конструктора:
1. Щелкните на кнопке ИНДЕКСЫ
окно (рис.9).
на панели инструментов. Появится диалоговое
10 Рис.9. Диалог ИНДЕКСЫ
2. Поместите курсор в пустую строку. Поле ИНДЕКС не заполняйте, а в поле ИМЯ_ПОЛЯ
выберите поле таблицы, по которому еще нет индексирования.
3. Установите значения свойств УНИКАЛЬНЫЙ ИНДЕКС и ПРОПУСК ПУСТЫХ
ЗНАЧЕНИЙ.
4. Научитесь удалять созданные вами индексы.
Задание 6. Форматы полей
При изучении MS EXCEL мы научились создавать собственные форматы для
представления данных (пользовательские форматы).
Приемы по созданию форматов полей таблиц MS Access аналогичны. На рис.10 показан
пример формата для поля ОБЪЕМ_ПОЛКИ.
1. Создайте собственные форматы представления данных для большинства полей таблиц
базы данных.
2. Примените имеющиеся стандартные форматы (рис.10).
3. Внесите данные в таблицы и убедитесь, что ваши форматы «работают» (рис.11).
Рис.10. Создание собственных форматов для полей таблицы
11 Рис.11. Проверка «работы» созданных форматов
Задание 7. Проверка поддержания связной целостности данных
Проверим, как влияют установленные ранее параметры поддержки целостности при
внесении изменений в таблицы Покупатель и ТипПокупателя.
1. Откройте таблицы Покупатель и ТипПокупателя в режиме таблицы.
2. Внесите несколько связанных записей в эти таблицы.
3. Удалите запись, имеющую связанные записи, из таблицы ТипПокупателя.
4. Вставьте запись в таблицу Покупатель с кодом ТипаПокупателя, который отсутствует в
таблице ТипПокупателя.
5. Внесите изменения в содержание записи в таблице ТипПокупателя и убедитесь, что для
связанных записей эти изменения выполнились автоматически.
Задание 8. Ввод и корректировка записей во взаимосвязанных таблицах
Если для связей между таблицами установлена поддержка целостности данных, то
пользователь может при удалении, изменении и добавлении записей сам отслеживать
непротиворечивость данных и целостность связей (рис.12).
Рис.12. Отображение подчиненных записей в главной таблице
1. Организуйте ввод связных непротиворечивых записей в таблицы ТипТовара и Товар
(рис.13).
Рис.13. Ввод связных записей
2. Продемонстрируйте ввод и корректировку данных в другие взаимосвязанные таблицы.
Задание 9. Поиск и замена значений в полях таблиц
Иногда требуется найти определенное значение в полях таблиц и заменить его на другое
(или не изменять).
Для выполнения поиска и замены следует открыть таблицу и в меню Главная
воспользоваться режимами поиска и замены (рис.14).
1. Примените все параметры из списка Совпадение. Научитесь менять направление поиска.
12 Рис.14. Режим поиска и замены
2. Примените режимы сортировки и фильтрации для записей таблицы (меню Главная –
Сортировка и фильтр).
Конструирование форм
Цель
Научиться конструировать и использовать формы как объекты отображения и ввода
данных в таблицы базы данных.
После того как созданы все необходимые таблицы базы данных, установлены связи между
ними, мы должны создать объекты, которые обеспечат работу пользователя с данными в
этих таблицах.
Microsoft Access имеет специальные объекты для организации взаимодействия
пользователя с данными в таблицах: форм и отчеты.
Формы предназначены как для отображения, так и для ввода данных в таблицы. Формы
позволяют отобразить данные в виде, удобном для пользователя, обеспечить
корректировку этих данных, ввод новых записей и удаление ненужных.
Формы, как правило, не применяются для вывода данных на печать, для этого
используются отчеты.
Задание 1. Окно конструктора форма
Начнем разработку форм для таблицсправочников. В нашей модели это таблицы:
ТИП_ПОКУПАТЕЛЯ, ФОРМА_ОПЛАТЫ, ПОСТАВЩИК и ТИП_ТОВАРА.
Конструирование форм, как и всех других объектов, будем выполнять в режиме
КОНСТРУКТОРА.
1. В меню Создание – Конструктор форм нажмите кнопку Добавить существующие поля и
раскройте список полей соответствующей таблицы (рис.1).
Макет формы первоначально содержит только один раздел – область данных. Это основной
раздел формы, в нем будут располагаться поля для заполнения таблицы. Но форма имеет и
другие разделы.
ЗАГОЛОВОК формы определяет верхнюю часть формы. Этот раздел добавляется в форму
вместе с разделом ПРИМЕЧАНИЕ формы.
2. В области ЗАГОЛОВКА поместите текст с названием формы с помощью элемента
НАДПИСЬ из панели инструментов (рис.2).
13 3. Щелкните правой кнопкой мыши в левый верхний угол рамки надписи (то есть вызовите
контекстное меню объекта).
4. Выберите из контекстного меню команду СВОЙСТВА. Настройте внешний вид надписи
(рис.2).
Рис.1. Вызов Конструктора форм для таблицы
Рис.2. Оформление ЗАГОЛОВКА формы
5. Ширина и высота каждого раздела регулируется мышью. Измените высоту области
ЗАГОЛОВКА.
6. В область ДАННЫХ перенесите мышью все поля таблицы из списка, расположенного в
окне КОНСТРУКТОРА формы (рис.3).
7. Внешний вид и размеры полей можно также изменить (команда СВОЙСТВА каждого из
полей).
8. Для просмотра внешнего вида конструируемой формы периодически следует
переключаться в режим формы.
9. Поместите в области ПРИМЕЧАНИЙ любую надпись, например, как показано на рис. 3.
14 Рис.3. Изменение размеров и оформления элементов формы
10. Добавьте в форму графическое изображение в область ЗАГОЛОВКА с помощью
элемента РИСУНОК из панели инструментов (рис.4).
11. Выполните его форматирование командой СВОЙСТВА. Измените УСТАНОВКУ
РАЗМЕРОВ и ВЫРАВНИВАНИЕ рисунка (рис.4).
12. Можно добавить фоновый рисунок для всей формы. Вызовите список свойств ФОРМЫ
как показано на рис.5 (щелкните в кнопку в левом верхнем углу формы).
13. В СВОЙСТВАХ формы укажите название файла рисунка в команде РИСУНОК и
включите МОЗАИЧНОЕ ЗАПОЛНЕНИЕ, если это необходимо.
14. Чтобы удалить фоновый рисунок выделите команду РИСУНОК в свойствах формы и
нажмите клавишу DELETE.
15 Рис.4. Форматирование рисунка в форме
Рис.5. Свойства объекта ФОРМА
15. Сохраните сконструированную форму и дайте форме имя – ТИП_ПОКУПАТЕЛЯ.
16. Перейдите в режим формы и внесите несколько записей в таблицу
ТИП_ПОКУПАТЕЛЯ с помощью созданной формы.
17. Устраните возникшие неудобства работы с формой в режиме КОНСТРУКТОРА
формы. Например, можно удалить поле КОД_ТИПА_ПОКУПАТЕЛЯ, так как значение в
этом поле формируются автоматически при создании новой записи (рис.6).
18. Значения в поле ТИП_ПОКУПАТЕЛЯ можно выбирать из встроенного списка или
непосредственно вводить. Проверьте эту возможность.
19. Просмотрите наличие новых записей в таблице ТИП_ПОКУПАТЕЛЯ.
16 Рис.6. Удаление полей, заполнение которых выполняется автоматически
Самостоятельно
1. Сконструируйте форму для таблицысправочника ПОСТАВЩИК.
2. Внесите записи в таблицу ПОСТАВЩИК с помощью формы.
3. Проверьте их наличие в таблице ПОСТАВЩИК.
4. На рис. 7 показана технология изменения последовательности перехода между полями
при работе с формой.
а). Выбор команды из контекстного меню формы
17 б). Изменение порядка следования полей
Рис.7 а, б. Изменение последовательности перехода по полям формы
5. Внесите изменения в порядок следования полей для формы ПОСТАВЩИК.
На рис.8. показана форма в Режиме Таблицы.
6. Поработайте с формой в режиме таблицы: вставьте и удалите записи (рис.9). Убедитесь
в том, что записи вставляются и удаляются в таблице ПОСТАВЩИК.
Рис.8. Изменение режима отображения формы
Рис. 9. Удаление записей из формы
Задание 2. Использование элементов управления Конструктора форм
На рис.10 приведены элементы панели КОНСТРУКТОРА форм. Мы знакомы со
следующими элементами: НАДПИСЬ, ПОЛЕ, РИСУНОК.
18 Рис.10. Элементы панели управления КОНСТРУКТОРА форм
Продолжим знакомство с другими элементами этой панели.
Элементы управления СВОБОДНАЯ РАМКА ОБЪЕКТА и ПРИСОЕДИНЕННАЯ РАМКА
ОБЪЕКТА используются для того, чтобы вставить в форму объекты, созданные в других
приложениях, например, документ Word, таблицу Excel или рисунок.
Эти элементы различаются тем, будут ли объекты, вставленные в эти рамки, связаны с
записями в таблицах Access, или не будут.
СВОБОДНАЯ РАМКА ОБЪЕКТА содержит объекты, которые хранятся либо в самой
форме, либо во внешнем файле, и независимо от того, какая запись отображается в форме.
Объект будет отображаться один и тот же. Этот объект может быть изменен прямо из
формы с помощью того приложения, в котором он был создан.
ПРИСОЕДИНЕННАЯ РАМКА ОБЪЕКТА содержит объекты, которые либо сами
хранятся в таблице Access в поле, имеющем тип ПОЛЕ ОБЪЕКТА OLE, либо в таблице
хранится ссылка на эти объекты. При переходе от записи к записи объект в
присоединенной рамке объекта будет меняться.
1. Создайте форму для таблицы ТИП_ТОВАРА. Переместите мышью поля КОД_ТИПА и
ТИП_ТОВАРА из списка полей в область данных.
2. Переместите поле ВИД из списка полей в область данных, правой кнопкой мыши
вызовите контекстное меню объекта и убедитесь, что был создан объект
ПРИСОЕДИНЕННАЯ РАМКА ОБЪЕКТА (рис.11).
Рис.11. Создание присоединенной рамки объекта
3. Настройте свойства рамки по своему усмотрению. Измените размер, положение, тип
границы.
4. Перейдите в режим формы и добавьте новую запись с помощью созданной формы.
Вставка объекта в рамку для графического изображения выполните, например, с помощью
команды ВСТАВИТЬ ОБЪЕКТ из контекстного меню поля ВИД. На рис.12. показаны шаги
для вставки графического файла.
19 Рис.12. Вставка файла с изображением в поле присоединенной рамки
5. Добавьте несколько записей с графическими изображениями. Убедитесь, что ссылки на
вставленные объекты записываются в поле Вид таблицы ТИП_ТОВАРА (рис.13) и вы
можете открыть эти объекты для возможного редактирования.
Рис.13. Вид записи в таблице с полем типа OLE
Элемент управления НАБОР ВКЛАДОК используется для создания многостраничных
форм.
6. Откройте форму ТИП_ТОВАРА в режиме КОНСТРУКТОРА.
7. Удалите все поля в форме ТИП_ТОВАРА, тем самым освободите на бланке формы
место под набор вкладок. Щелкните на кнопке ВКЛАДКА на панели инструментов, затем
щелкните на бланке формы в том месте, где должен появиться набор вкладок.
8. Переименуйте вкладки (введите ПОДПИСИ в режиме СВОЙСТВА для каждой
вкладки), например, как показано на рис.14.
Рис.14. Конструирование вкладок в форме
9. Переместите поля (мы их удалили) из списка полей на каждую из вкладок.
10. Внесите несколько записей в таблицу ТИП_ТОВАРА с помощью измененной формы.
20 Элемент управления КНОПКА является очень важным элементом формы, поскольку
именно с кнопками связаны различные действия. Выполняемые пользователем в
приложении: сохранение введенных данных, вызов другой формы, вывод на печать и так
далее.
Для создания КНОПКИ удобно использовать МАСТЕР КНОПОК, поскольку существует
коллекция стандартных процедур, код которых уже разработан.
В форме ТИП_ТОВАРА создадим кнопку для удаления текущей записи.
11. Откройте форму ТИП_ТОВАРА в режиме КОНСТРУКТОРА.
12. Щелкните по элементу КНОПКА на панели инструментов.
13. Указателем мыши обведите размер будущей кнопки в форме ТИП_ТОВАРА.
14. В диалоговом окне выберите команды в соответствии с рис. 15.
Рис.15. МАСТЕР КНОПОК
15. Пройдите остальные шаги МАСТЕРА КНОПОК. Найдите подходящий рисунок для
кнопки.
16. Убедитесь в том, что установленная в форме кнопка выполняет удаление текущей
записи не только в форме, но и таблице.
Самостоятельно
Примените элементы управления ЛИНИЯ и ПРЯМОУГОЛЬНИК для оформления
созданных форм.
Создайте кнопки для закрытия форм и перехода по записям формы.
Примените все освоенные приемы для оформления формы ФормаОплаты.
Проектирование форм для работы с данными связанных таблиц
Цель
Научиться конструировать и использовать формы для работы с данными нескольких
взаимосвязанных таблиц – многотабличные формы.
Проектирование формы для работы со связанными данными выполняется на основе схемы
данных, состоящей из нормализованных таблиц, связанных одно/многозначными
отношениями.
В процессе проектирования формы целесообразно выполнить приведенную ниже
последовательность действий:
1. Определить таблицу, которая будут источником записей основной части формы.
2. Выбрать таблицы, которые будут источниками записей, загружаемых в поля основной
таблицы.
21 3. Выбрать способ реализации для источников записей.
Задание 1. Проектирование формы для работы с данными двух связанных таблиц
Разработаем форму для таблицы ПОКУПАТЕЛЬ. Таблица ПОКУПАТЕЛЬ будет
источником записей основной части формы.
1. На основе схемы данных определим данные для конструирования формы (рис.1).
Рис.1. Подсхема данных для конструирования формы на базе таблицы ПОКУПАТЕЛЬ
Источник записей для поля КОД_ТИПА_ПОКУПАТЕЛЯ – таблица ТИП_ПОКУПАТЕЛЯ.
Реализацию источника записей удобно выполнить с помощью элементов управления
СПИСОК или ПОЛЕ СО СПИСКОМ.
2. Создадим форму в режиме КОНСТРУКТОРА для таблицы ПОКУПАТЕЛЬ (рис.2).
3. Переместим из списка полей в область данных формы поля ПОКУПАТЕЛЬ и
ТЕЛЕФОН.
Рис.2. Создание формы ПОКУПАТЕЛЬ
4. Щелкните на кнопке ПОЛЕ СО СПИСКОМ на панели инструментов.
5. Перетащите поле ТИП_ПОКУПАТЕЛЯ из списка в область данных формы.
6. Появится диалоговое окно Мастера. На первом шаге выберите режим «Объект будет
использовать значения из таблицы или запроса» (рис.3).
22 Рис.3. Первый шаг Мастера создания списков
7. На следующем шаге Мастера вам необходимо указать название таблицыисточника
записей. В нашем случае укажите таблицу ТИП_ПОКУПАТЕЛЯ.
8. В следующем диалоге вам предлагают определиться с составом будущего списка. В
нашем случае удобнее перенести оба поля: КОД_ТИПА является полем для связи таблиц,
а поле ТИП_ПОКУПАТЕЛЯ содержит смысловую информацию для пользователя (рис. 4).
Рис.4. Выбор полей для списка
9. На следующем шаге МАСТЕР предполагает вам скрыть ключевой столбец. Можно
согласиться с предложением, это удобно.
10. И, наконец, последний шаг МАСТЕРА, – в каком поле таблицы ПОКУПАТЕЛЬ следует
сохранить значения из таблицы ТИП_ПОКУПАТЕЛЬ. Если названия полей совпадают (у
нас это не так), то обычно, МАСТЕР делает верное предположение, иначе вам необходимо
выбрать из списка нужное поле (ТИП_ПОКУПАТЕЛЯ).
11. Результат должен быть примерно таким, какой показан на рис.5.
23 12. Внесите несколько записей с помощью новой формы.
13. Убедитесь, что записи попадают в таблицу ПОКУПАТЕЛЬ.
14. Добавьте кнопку для удаления текущей записи (рис.5).
Рис.5. Окончательный вид формы для 2х связанных таблиц
Самостоятельно
1. Разработайте и выполните реализацию форм для таблиц ПОЛКА (рис.6) и ТОВАР.
2. При конструировании форм используйте элементы управления СПИСОК и ПОЛЕ СО
СПИСКОМ.
Рис.6. Использование элемента управления СПИСОК
Упражнение 2. Проектирование многотабличных форм
Многотабличная форма создается для работы с данными нескольких взаимосвязанных
таблиц. Многотабличная форма может состоять из основной части и одной или
нескольких подчиненных включаемых форм, то есть быть составной.
Проектирование многотабличных форм выполняется на основе схемы данных, состоящей
из нормализованных таблиц, связанных одно/многозначными отношениями.
В процессе проектирования формы целесообразно выполнить приведенную ниже
последовательность действий:
―
―
в составную форму.
―
―
Многотабличная форма может быть создана в режиме КОНСТРУКТОРА или с помощью
МАСТЕРА форм. Наиболее технологичным является использование КОНСТРУКТОРА.
1. На основе схемы данных определим данные для конструирования формы (рис.7).
Определить таблицы, которые будут источником записей основной части формы.
Выбрать таблицы, которые будут источниками записей подчиненных форм, включаемых
Определить состав полей каждой из форм.
Выбрать способы реализации подчиненных форм и источников записей.
24 Рис.7. Подсхема данных для конструирования формы на базе таблицы ЗАКАЗ
Источник записей для основной части формы ЗАКАЗ – поля таблицы ЗАКАЗ. Поля
таблицы ПУНКТ_ЗАКАЗА являются источниками записей подчиненной формы. Для поля
основной части ПОКУПАТЕЛЬ источником записей будет таблица ПОКУПАТЕЛЬ. Для
поля ФОРМА_ОПЛАТЫ источником записей – поля таблицы ФОРМА_ОПЛАТЫ.
Реализацию списков записей для полей ПОКУПАТЕЛЬ и ФОРМА_ОПЛАТЫ в основной
части формы удобно выполнить с помощью элементов управления ПОЛЕ СО СПИСКОМ.
Реализацию полей подчиненной формы удобно выполнить с помощью вложенной формы.
Следовательно, необходимо предварительно разработать подчиненную форму
ПУНКТ_ЗАКАЗА.
2. В режиме КОНСТРУКТОРА создайте форму для таблицы ПУНКТ_ЗАКАЗА (рис.8).
3. Для поля ТОВАР источником записей является таблица ТОВАР. Реализацию удобно
выполнить с помощью элемента ПОЛЕ СО СПИСКОМ (рис.8).
Рис.8. Форма ПУНКТ_ЗАКАЗА в режиме КОНСТРУКТОРА
4. Вносить записи с помощью созданной формы неудобно, так как нужно помнить номер
заказа. Эта форма должна быть вложенной формой для формы Заказ. Форму ПунктЗаказа
можно просмотреть в режиме ВИД (рис.9).
Рис.9. Окончательный вид подчиненной формы ПУНКТ_ЗАКАЗА
Прежде, чем начать создавать основную часть формы ЗАКАЗ, внесем некоторые изменения
в нашу базу данных. Иногда используемые элементы интерфейса и способы реализации
полей таблиц в форме Access позволяют сократить количество таблиц в схеме базы
данных.
25 Реализовать понятный и привлекательный интерфейс формы.
Удалить из схемы таблицу ФОРМА_ОПЛАТЫ (комментарии к значениям поля можно
В таблице ЗАКАЗ поле ФОРМА_ОПЛАТЫ имеет всего два значения: наличная оплата и
безналичная оплата. В КОНСТРУКТОРЕ форм на панели инструментов есть элемент
ПЕРЕКЛЮЧАТЕЛЬ, имеющий два состояния: 1/0, ДА/НЕТ, ВКЛ/ВЫКЛ. Использование
элемента ПЕРЕКЛЮЧАТЕЛЬ для реализации поля ФОРМА_ОПЛАТЫ позволит:
―
Хранить значения поля ФОРМА_ОПЛАТЫ в числовом формате, а не в текстовом
формате (например, 1 – наличная, 0 – безналичная), что является экономией памяти.
―
вынести непосредственно в форму).
―
5. Удалите из базы данных таблицу ФОРМА_ОПЛАТЫ.
6. В режиме КОНСТРУКТОРА создайте форму для таблицы ЗАКАЗ (рис.13).
7. Перенесите поля НОМЕР_ЗАКАЗА, ДАТА_ЗАКАЗА, ОПЛАЧЕНО в область данных
формы из списка полей.
8. С помощью свойств поля НОМЕР_ЗАКАЗА это поле можно сделать недоступным для
ввода (поле типа счетчик), как показано на рис.15.
9. Сконструируйте поле ПОКУПАТЕЛЬ с помощью элемента ПОЛЕ СО СПИСКОМ
(источник записей – таблица ПОКУПАТЕЛЬ).
10. Для создания поля ФОРМА_ОПЛАТЫ щелкните мышью по элементу ГРУППА
ПЕРЕКЛЮЧАТЕЛЕЙ на панели инструментов КОНСТРУКТОРА и затем покажите в
форме место для помещения этого элемента.
11. Откроется первое диалоговое окно МАСТЕРА создания переключателей. Введите
подписи для переключателей (рис.10).
Рис.10. Мастер создания элементов ПЕРЕКЛЮЧАТЕЛИ
12. В следующем диалоге можно выбрать один из переключателей в качестве
переключателя, выбранного по умолчанию.
13. В следующем окне диалога вам будет предложено установить числовые значения,
которые будут сохранять в поле ФОРМА_ОПЛАТЫ в таблице ЗАКАЗ. Предположим, что
наличная форма оплаты – это число 1, безналичная – число 0 (рис.11).
14. Далее надо указать в каком поле будут сохранены значения 1 или 0 (рис.12).
26 Рис.11. Создание переключателей в форме
Рис.12. Сохранение значений переключателей
15. Следующий шаг определит дизайн вашей группы переключателей.
16. Последний шаг диалога. Введите название вашей группы переключателей, например –
форма оплаты.
Рис.13. Форма ЗАКАЗ в режиме КОНСТРУКТОРА
27 Добавление подчиненной формы в основную форму может быть с помощью кнопки
ПОДЧИНЕННАЯ ФОРМА/ОТЧЕТ на панели элементов режима КОНСТРУКТОР
(рис.14).
Рис.14. Размещение подчиненной формы в основной форме
Рис.15. Окончательный вид многотабличной формы ЗАКАЗ
17. Проверьте работоспособность многотабличной формы (рис.15). Введите несколько
заказов, каждый из которых состоит из нескольких позиций[2].
18. Проверьте, что введенные в форму данные помещаются в таблицы ЗАКАЗ и
ПУНКТ_ЗАКАЗА.
Самостоятельно
1. Добавьте в форму ЗАКАЗ кнопки для выполнения следующих операций:
―
―
―
2. В свойствах поля ЦЕНА_РЕАЛИЗАЦИИ в подчиненной форме установите формат
ДЕНЕЖНЫЙ (рис.15).
3. Проверьте возможность добавления нового покупателя непосредственно из формы
ЗАКАЗ. Убедитесь, что эти записи попадают в таблицу ПОКУПАТЕЛЬ.
4. Добавьте в форму ТОВАР подчиненную формы, созданную на основе таблицы
ПАРТИЯ_ТОВАРА.
Удаления текущей записи.
Открытия формы ПОКУПАТЕЛЬ.
Обновления состояния записей формы.
28 5. В форме ПАРТИЯ _ТОВАРА создайте вычисляемое поле ЦЕНА_ПРОДАЖИ (рис. 16) с
помощью ПОСТРОИТЕЛЯ ВЫРАЖЕНИЙ (кнопка
КОНСТРУКТОРА формы) и элемента управления ПОЛЕ из панели элементов
на панели инструментов
.
Рис.16. Создание вычисляемого поля в форме
На рис.17 показан примерный вид формы для таблицы ТОВАР в режиме КОНСТРУКТОРА
формы.
Рис.17. Вид формы ТОВАР в режиме КОНСТРУКТОРА
6. Заполните все таблицы вашей базы данных с помощью созданных форм.
7. Добавьте при необходимости кнопки для удаления записей, кнопки для открытия форм
справочников из многотабличных форм.
Запросы на выборку данных
Цель
Научиться создавать и использовать запросы к данным, хранящимся в связанных таблицах
базы данных.
Графический инструментарий для разработки запросов. Ввод условий отбора записей.
29 Запросы являются одним из основных инструментов выборки и обработки данных в
таблицах базы данных. Запросы используются для анализа, просмотра и изменения данных.
Запросы могут служить источниками записей для форм, отчетов и страниц доступа к
данным.
Результат выполнения запроса – это новая, обычно временная, таблица, которая
существует до закрытия запроса. Структура такой таблицы определяется полями,
выбранными из одной или нескольких таблиц. Записи формируются путем объединения
записей таблиц, участвующих в запросе.
Существует несколько видов запросов (рис.1). Основным является запрос на выборку. С
его помощью выбираются данные из взаимосвязанных таблиц и других запросов. На основе
запроса этого типа могут быть построены запросы других типов.
Рис.1. Классификация запросов в MS Access
Запрос строится на основе одной или нескольких взаимосвязанных таблиц. При этом могут
быть использованы таблицы самой базы данных и таблицы, полученные в результате
выполнения запросов и сохраненные для дальнейшего применения.
Кроме того, запросы могут формироваться на основе других запросов с использование
временных таблиц, получаемых сразу при выполнении этих запросов.
Задание 1. Графический инструментарий для разработки запросов
Запросы достаточно сложного уровня можно создавать в режиме КОНСТРУКТОРА. СУБД
Microsoft Access предоставляет удобное для пользователя диалоговое графическое
средство формирования запросов по образцу – QBE (Query by Example). Инструментарий
QBE располагает встроенными интеллектуальными компонентами, с помощью которых
легко может быть построен достаточно сложный запрос.
Окно КОНСТРУКТОРА запросов QBE имеет следующую организацию (рис.2).
30 Рис.2. Окно КОНСТРУКТОРА запросов QBE
С отдельными компонентами КОНСТРУКТОРА запросов мы познакомимся, создавая
запросы к базе данных.
Создадим запрос на выборку заказов, которые были сделаны после 01/01/2008 года.
1. Выберите в главном меню базы данных СОЗДАНИЕ – КОНСТРУКТОР ЗАПРОСОВ.
2. Для выполнения запроса нам достаточно данных из одной таблицы – ЗАКАЗ, поэтому в
открывшемся списке таблиц щелкните дважды только по таблице ЗАКАЗ. Закройте окно
ДОБАВЛЕНИЕ ТАБЛИЦ.
Если вам потребуется добавить таблицу уже после того, как вы закрыли список таблиц,
нажмите на панели инструментов на кнопку
3. Переносить поля в бланк запроса можно двумя способами: перетаскивать поля
непосредственно из таблицы или выбирать поля из раскрывающегося списка в заголовке
пустого поля (рис.3).
Если перетащить символ * из таблицы в поле запроса, то все поля таблицы будут
активными полями для запроса.
ОТОБРАЗИТЬ ТАБЛИЦУ.
Рис.3. Выбор поля для запроса
4. Перетащите поля НОМЕР_ЗАКАЗА и ДАТА_ЗАКАЗА в пустые поля бланка запроса.
5. Введите условие отбора записей как показано на рис.4.
31 Рис.4. Ввод критериев отбора записей базы данных
6. Для просмотра временной таблицы с найденными записями, соответствующими
критерию отбора, нажмите кнопку
перейдите в режим ВИД (кнопка
Результаты поиска представлены во временной таблице (рис.5).
ВЫПОЛНИТЬ на панели инструментов или
на панели инструментов).
Рис.5. Временная таблица с результатами поиска
7. Сохраните запрос командой СОХРАНИТЬ из контекстного меню бланка запроса с
именем ДАТЫ_ЗАКАЗОВ[3].
8. Вернитесь в режим КОНСТРУКТОРА запросов и внесите следующие изменения:
снимите флажок вывода на экран для поля ДАТА_ЗАКАЗА и установите сортировку по
убыванию для поля НОМЕР_ЗАКАЗА (рис.6).
9. Запустите запрос на исполнение и сравните результаты вывода с предыдущим случаем
(рис. 5).
32
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Комплект практических работ в СУБД
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.