Любым способом создайте таблицы «Товары», «Типы», «Клиенты», «Поставщики», «Заказано», «Заказы», «Доставка».
1.1. Таблица Типы должна содержать следующие поля: КодТипа (счётчик, ключевое), Категория (текстовый).
1.2. Таблицу «Клиенты» составьте из полей: КодКлиента (ключевое, текстовый: уникальный пятисимвольный код, образуемый из названия организации), Название (текстовый), ОбращатьсяК (текстовый), Должность (текстовый), Адрес (текстовый), Город (текстовый), телефонФакс (текстовый).
1.3. В таблице «Поставщики» создайте поля: КодПоставщика (счётчик, ключевое), Название (текстовый), ОбращатьсяК (текстовый), Должность (текстовый), Адрес (текстовый), город (текстовый), Страна (текстовый), ТелефонФакс (текстовый).
1.4. В таблице «Доставка» создайте поля: КодДоставки (счётчик, ключевое), Название (текстовый), Телефон (текстовый).
1.5. Таблица «Товары» должна содержать следующие поля: КодТовара (ключевое, счётчик), Марка (текстовый), КодТипа (числовой), КодПоставщика (числовой), ЕдиницаИзмерения (текстовый), Цена (денежный), НаСкладе (текстовый), Ожидается (числовой), МинЗапас (числовой), ПоставкиПрекращ (логический).
Поля «КодТипа» и «КодПоставщика» заполняются по подстановке из таблицы «Типы» и «Поставщики» соответственно. В таблице «Типы» выбирается поле «Категория», в таблице «Поставщики» - поле «Название». Названия полей в таблице «Товары» меняются на «Категория» и «Поставщик» соответственно.
Использование Мастера подстановок: лабораторная работа №3.
Внимание! Тип данных поля, в котором используется Мастер подстановок, должен соответствовать типу данных ключевого поля подстановочной таблицы.
1.6. В таблице «Заказы» должны быть поля: КодЗаказа (счётчик, ключевое), КодКлиента (текстовый), КодСотрудника (числовой), ДатаРазмещения (дата/время), ДатаНазначения (дата/время), ДатаИсполнения (дата/время), Доставка (числовой), СтоимостьДоставки (денежный).
Поля «КодКлиента», «КодСотрудника» и «Доставка» заполняются по подстановке. Для поля «КодКлиента» подстановочная таблица «Клиенты» (поле «Название»), для поля «КодСотрудника» – «Сотрудники» (поле «Фамилия»), для поля «Доставка» – «Доставка» («Название»).
1.7. В таблице «Заказано» ключевыми являются два поля, т.е. имеется составной ключ. Создайте следующие поля: КодЗаказа (числовой, ключевое), КодТовара (числовой, ключевое), Количество (числовой), Скидки (числовой). Чтобы создать составной ключ, выделите оба поля, удерживая левую клавишу мыши и нажмите на пиктограмме ключа.
Поле «КодТовара» заполняется по подстановки из таблицы «Товары» (поле «Марка») Измените название поля «КодТовара» на «НаименованиеТовара».
Поле «Скидки» должно иметь процентное значение: в режиме Конструктор в Свойствах поля укажите Размер поля - одинарное с плавающей точкой, Формат поля - процентный, Десятичных знаков - 0, Значение по умолчанию - 0, Условие на значение - Between 0 And 1, Сообщение об ошибке - необходимо ввести знак процента.
Изменение схемы данных
2.1. Откройте окно Схема данных (вкладка Работа с базами данных/раздел Показать или скрыть/Схема данных, Схема данных).
2.2. Вызовите меню, щёлкнув правой кнопкой мыши по пустому месту, выберите Добавить таблицу. В окне Добавление таблицы добавьте в схему данных все созданные таблицы.
На схеме данных должны быть показаны таблицы, объединённые в две группы тонкими линиями без обозначения типов связей (рис. 8).
Рис. 8. Схема данных после Использования Мастера подстановок.
2.3. Двойным щелчком левой кнопки по линии связи вызовите окно Изменение связей и отметьте флажками Обеспечение целостности данных, Каскадное обновление полей. Связь должна определиться как один-ко-многим.
2.4. Установите связь таблиц «Заказы» и «Заказано», перетащив поле «КодЗаказа» из таблицы «Заказы» на поле «КодЗаказа» в таблицу «Заказано». В открывшемся окне Изменение связей отметьте Обеспечение целостности данных. Поскольку в таблице «Заказано» два ключевых поля, то связь будет установлена один-ко-многим (рис. 9).
Рис. 9. Схема данных базы данных «Продуктовая база»
Заполните таблицы данными
4.1. Таблица «Типы»
КодТипа | Категория | Описание |
напитки | Алкогольные и безалкогольные напитки, чай, кофе и др. | |
хлебобулочные | Хлеб, крекеры, хлопья и пр. | |
кондитерские | Десерты, конфеты, джемы, муссы и пр. | |
мясо/птица | Мясные полуфабрикаты, готовые изделия | |
фрукты | Сушёные и свежие фрукты |
4.2. Таблица «Доставка»
КодДоставки | название | телефон |
Ространс | (3452)238745 | |
РЖД | (3452)256734 | |
Авиа | (3452)359856 | |
самодоставка |
4.3. Таблица «Поставщики» (не менее 10 поставщиков из разных стран и городов)
Код Поставщика | Название | Обращаться к | Должность | Адрес | Город | Страна | Телефон факс |
China Traders | Yoshi Nagase | совладелец | 9-8 Sekimai | Пекин | Китай | (09)3436277 | |
Производственная компания «Дарья» | Наталья Седова | Главный менеджер | Гагарина, 27 | Москва | Россия | (095)9786432 | |
Производственное предприятие «Толстяк» | Игорь Матвеев | Менеджер по продажам | Садовая, 16 | Москва | Россия | (095)9075449 | |
Nord-Ost-Fisch mbH | Sven Petersen | Внешний координатор | Frahmredder 112a | Куксхавен | Германия | (04721) 8714 | |
Фирма «Морозко» | Никита Игнатьев | Представитель | Ленина, 86 | Омск | Россия | (413)568790 | |
…. | |||||||
Сельскохозяйственная фирма «Сад» | Олеся Криванко | Главный менеджер | Товарная, 59 | Краснодар | Россия | (267)874390 |
4.4. Таблица «Клиенты» (не менее 10 клиентов по Тюмени и Тюменской области)
Код клиента | Название | Обращаться к | должность | адрес | город | Телефон факс |
ОООПМ | Триера | Вероника Коль | Старший менеджер | Пермякова, 35 | Тюмень | (3452)357856 |
ЧПМСТ | Ольга | Инна Кудрявцева | совладелец | Республики, 15 | Тюмень | (3452)238745 |
ОООСТ | Триумф | Пётр Моргунов | Представитель | Парковая, 27 | Ялуторовск | (34522)38754 |
Не менее 10 |
4.5. Таблица «Товары» (не менее 30 наименований товаров)
Код товара | Марка | Поставщик | Категория | Единица измерения | Цена | На складе | Ожидается | Минимальный запас | Поставка прекращена |
Фуджи | China Traders | фрукты | 30 кг в 1 ящике | 1830р. | ¨ | ||||
Дарья | Производственная компания «Дарья» | мясо/птица | 10 пакетов по 1 кг | 1400р. | þ | ||||
Морозко | Фирма «Морозко» | мясо/птица | 20 пакетов по 1 кг | 2200р. | ¨ | ||||
Толстяк | Производственное предприятие «Толстяк» | напитки | 24 бутылки по 0,5 л | 720р. | ¨ | ||||
Алдред | Сельскохозяйственная фирма «Сад» | фрукты | 25 кг в ящике | 1425р. | þ | ||||
…. | |||||||||
В таблицах «Заказы» и «Заказано» должно быть одинаковое количество записей (не менее 15) с одними и теми же номерами, т.к. таблица «Заказано» является логическим продолжением таблицы «Заказы». При заполнении полей «ДатаРазмещения», «ДатаНазначения» и «ДатаИсполнения»учитывайте распределение заказов по разным месяцам за 2 года.
4.6. Таблица «Заказы»
Код заказа | Клиент | Ответс Сотрудник | Дата Размещения | Дата Назначения | Дата Исполнения | Доставка | Стоим Доставки |
Триера | Шишкин Андрей | 2.03.08 | 6.03.08 | 4.03.08 | Ространс | 120,78р. | |
Ольга | Максимов Павел | 23.09.07 | 13.10.07 | 4.10.07 | Ространс | 135,00р. | |
Триумф | Фомин Валерий | 14.01.08 | 19.01.08 | 17.01.08 | РЖД | 576,45р. | |
… | |||||||
4.7. Таблица «Заказано»
Код заказа | НаимТовар | Количество | скидки |
Фуджи | 15% | ||
Толстяк | 3% | ||
Морозко | |||
… | |||
Лабораторная работа №6
Создание сложных форм
Цели работы:
Освоить приёмы работы с данными, хранящимися в БД, с использованием многотабличных форм.
Задачи работы:
Научиться создавать и редактировать иерархические и связанные формы.
Общие сведения.
На практике часто требуются формы, позволяющие производить одновременный ввод или просмотр данных, хранимых в двух или более связанных таблицах. Например, при выводе информации и заказах, можно сразу вывести информацию о сотрудниках, работавших с данными заказами. Эти данные хранятся в разных таблицах: «Заказы» и «Заказано», связанных отношением «один-ко-многим».
Для удобства работы можно создать форму, которая позволит просматривать, вводить и редактировать все данные одновременно. В таких случаях для отображения записей в основной и подчинённой таблицах можно использовать многотабличные иерархические или связанные формы.
Иерархической называется форма, содержащая поля из главной и одной или нескольких подчинённых таблиц.
Связанной называется форма, в которой имеется кнопка, открывающая подчинённую форму при необходимости просмотра данных.
Иерархические формы.
Иерархической является форма, содержащая одну или несколько подчинённых форм. Первичная форма называется главной, а форма внутри неё называется подчинённой.
Создание формы с подчинённой формой для вывода данных из таблицы «Заказы» и «Заказано». Данные в таблице «Заказы» находятся на стороне «один» в отношении «один ко многим» и будут являться главной формой, а данные в таблице «Заказано» на стороне «многие» - подчинённой формой. Главная форма базируется на таблице с ключом, а подчинённая форма на таблице, содержащей поле с тем же именем, что и ключевое, и с тем же или совместимым типом данных.
1.1. Перейдите на вкладку Создание, нажмите кнопку Другие формы и выберите Мастер форм;
1.2. В качестве источника данных выберите таблицу «Заказы»;
1.3. В окне Доступные поля выберите все поля из таблицы «Заказы», а из таблицы «Заказано» все поля, кроме поля «КодЗаказа», нажмите кнопку Далее;
1.4. В окне Создание форм поставьте флажок Подчинённые формы и в качестве главной формы определите таблицу «Заказы» (рис. 10);
Рис. 10. Создание подчинённой формы.
1.5. В следующем окне выберите внешний вид подчинённой формы Табличный, нажмите кнопку Далее и выберите стиль оформления формы;
1.6. В следующем диалоговом окне задайте имя формы «Подчинённые формы» и нажмите кнопку Готово.
Должна получиться форма, совмещающая данные двух таблиц (рис. 11). При просмотре данных в главной форме, в подчинённой появляются данные, связанные с просматриваемой записью.
Рис. 11. Внешний вид подчинённой формы.
Связанные формы.
В некоторых случаях возникает необходимость одновременного просмотра связанных записей в двух формах. Например, при просмотре записей о клиентах можно вывести сведения о заказах. При переходе по записям в первой форме в таких случаях необходимо, чтобы во второй форме автоматически выводились связанные с ними записи.
Синхронизация записей, выводящихся в двух формах, осуществляется с помощью кнопки, открывающей вторую форму и синхронизирующей её с первой.
2.1. В режиме Мастер форм создайте (аналогично предыдущему заданию) форму, выбрав поля из двух таблиц «Товары» и «Заказано». Из таблицы «Заказано» выберите поля, непосредственно отражающее наименование и количество товара;
2.2. В следующем диалоговом окне отметьте флажком Связанные формы (рис.12), выберите стиль оформления, задайте имя для каждой формы и нажмите кнопку Готово.
Рис. 12. Создание связанных форм.
Должна появиться форма, построенная по таблице «Товары», имеющая кнопку с названием формы, построенной по таблице «Заказано» (рис.13). При нажатии на кнопку откроется другая форма, синхронизирующая записи в двух формах.
Рис. 13. Связанные формы.
Внимание! Если кнопка не работает, необходимо понизить уровень безопасности: нажмите кнопку Параметры и в открывшемся окне отметьте пункт Включить это содержимое. Проверьте работу кнопки.
3. Создание кнопки для открытия/закрытия, синхронизации или печати формы.
3.1. Откройте любую созданную форму в режиме Конструктора;
3.2. На вкладке Элементы управления нажмите кнопку Кнопка;
3.3. Выберите в форме место и нарисуйте кнопку;
3.4. В первом окне диалога Мастера выберите Работа с формой в списке Категории, а затем выберите тип кнопки в списке действия. Например, Закрыть форму;
3.5. В следующем окне определитесь, как будет оформлена кнопка: с надписью или с рисунком (выход или стоп );
3.6. Для упрощения дальнейшей работы с кнопкой, задайте ей имя (например,
Закрытие формы);
3.7. Нажмите кнопку Готово.
4. Самостоятельная работа. Создайте связанные формы по таблицам Поставщики и Товары.
Лабораторная работа № 7