русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Другие типы отношений


Дата добавления: 2013-12-23; просмотров: 1613; Нарушение авторских прав


GardenCo

Добавление подчиненной формы

 

Форма может отображать информацию (поля) из нескольких таблиц или запросов. Но для этого необходимо, чтобы между этими объектами существовали отношения.

В Access отношение представляет собой связь между совпадающими полями двух таблиц, которая позволяет установить соответствие между записями этих таблиц. Так, например, можно связать отношением таблицы Типы и Товары, воспользовавшись общим полем КодТипа.

Каждый тип включает несколько товаров, но каждый товар может относиться только к одному типу. Это пример наиболее распространенного типа отношений, называемого один-ко-многим(то есть, одной записи в таблице Типы соответствует несколько записей в таблице Товары ).

При создании форм и запросов Access распознает отношения между базисными объектами, но не всегда правильно. Поэтому лучше установить отношения между объектами вручную, тем более что это не представляет проблемы.

В этом упражнении вы установите отношение между таблицами Типы и Товары, а затем добавите к форме Типы подчиненную форму. Подчиненная форма предназначена для просмотра товаров, принадлежащих типу, отображающегося в главной форме. В качестве рабочей будет использоваться папка Office XP SBS\Access\Chap11\Subform. Выполните следующие шаги.

1. Откройте базу данных GardenCo, расположенную в рабочей папке.

2. На панели инструментов Access щелкните на кнопке Схема данных (Relationships), чтобы открыть диалоговое окно Схема данных (Relationships).

3. Если диалоговое окно Добавление таблицы (Show Table)не отображается, щелкните на кнопке Отобразить таблицу (Show Table)на панели инструментов. В списке таблиц щелкните дважды на Типы и Товары. Закройте диалоговое окно Добавление таблицы (Show Table), чтобы перейти в окно Схема данных (Relationships), которое выглядит следующим образом.



 

4. Укажите на поле КодТипа в одной таблице и перетащите его поверх поля КодТипа в другой таблице. Появится диалоговое окно Изменение связей (Edit Relationships), позволяющее задать параметры связи, как показано ниже.

 

Помимо отношения один-ко-многим, существуют отношения один-к-одному и многие-ко-многим, но они встречаются реже.

В отношении один-к-одному каждой записи в одной таблице соответствует только одна запись в другой таблице. Этот тип отношений применяется в том случае, если таблица содержит много полей. Для удобства ее можно разбить на две связанные таблицы, поместив редко используемые поля в отдельную таблицу.

Отношение многие-ко-многим, в сущности, представляет собой два отношения один-ко-многим, которые реализуются через третью таблицу. Например, в базе данных GardenCo имеются таблицы Товары, Заказы и Детали заказа. Таблица Товары содержит по одной записи для каждого товара. Запись таблицы Заказы описывает один заказ, не включая при этом перечня заказанных товаров. Эти данные хранятся в таблице Детали заказа. То есть, одной записи в таблице Заказы соответствует несколько записей в таблице Детали заказа. Очевидно, что между таблицами Заказы и Детали заказа существует отношение один-ко-многим. Но такое же отношение связывает таблицы Товары и Детали заказа. Таблица Детали заказа является связующей в отношении многие-ко-многим между таблицами Товары и Заказы. Проще говоря, один и тот же товар может содержаться в нескольких заказах, а каждый заказ может включать несколько товаров.

5. Выделите флажок Обеспечение целостности данных (Enforce Referential Integrity), выделите остальные два флажка и щелкните на кнопке Создать (Create).

Совет. Access использует систему правил (называемую обеспечением целостности данных), которая препятствует случайному удалению или изменению связанных данных. Если флажок Каскадное обновление связанных данных (Cascade Update Related Fields)выделен, изменение ключевого поля в первичной таблице приведет к автоматическому обновлению совпадающих ключей в связанных записях. Если выделен флажок Каскадное удаление связанных данных (Cascade Delete Related Fields), удаление записи в первичной таблице вызовет удаление соответствующих записей в связанной таблице.

На схеме данных появится линия, отображающая отношение один-ко-многим между полями КодТипа в обеих таблицах, как показано ниже.

 

Совет. Чтобы удалить или изменить линию связи, щелкните на ней правой кнопкой мыши и выберите подходящую команду в контекстном меню.

6. Закройте окно Схема данных (Relationships)и щелкните на кнопке Да (Yes)в ответ на предложение сохранить макет схемы данных.

7. Откройте форму Типы в режиме конструктора.

8. Увеличьте окно формы и перетащите селектор раздела Примечание формы (Form Footer)вниз на 2,5 см, чтобы расширить область данных.

9. Если панель элементов отсутствует на экране, щелкните на кнопке Панель элементов (Toolbox).

10. Убедитесь, что кнопка Мастера (Control Wizard)на панели элементов активна (заключена в рамку).

11. На панели элементов щелкните на кнопке Подчиненная форма/отчет (Subform/Subreport)и протащите указатель по нижней части области данных, чтобы начертить прямоугольник. В форме появится белый прямоугольный объект, и откроется окно Мастер подчиненных форм (Subform Wizard).

12. Оставьте выделенным вариант Имеющиеся таблицы и запросы (Use Existing Tables and Queries)и щелкните на кнопке Далее (Next).

13. В списке Таблицы и запросы (Tables/Queries)выделите Таблица: Товары (Table: Товары).

14. Добавьте поля ОписаниеТовара, КодТипа, Заказано, Цена и МинимальныйЗаказ в список Выделенные поля (Selected Fields), поочередно щелкая на каждом поле и щелкая на кнопке >. Затем щелкните на кнопке Далее (Next), чтобы перейти к третьей странице мастера.

 

Поскольку поле КодТипа в подчиненной форме связано с полем КодТипа в главной форме, мастер выделит вариант Выбор из списка (Choose from a list)и элемент списка 'Товары' для каждой записи 'Типы', поле cвязи 'КодТипа' (Show Products for each record in Categories using CategoryID).

Совет. Если мастер не знает, какие поля связаны, будет выделен вариант Самостоятельное определение (Define my own)и появятся пустые поля, где можно указать поля, которые нужно связать.

15. Щелкните на кнопке Далее (Next), чтобы принять заданные по умолчанию установки, а затем щелкните на кнопке Готово (Finish), чтобы принять предложенное имя подчиненной формы и завершить процесс. Access отобразит форму Типы в режиме конструктора с вложенной в нее подчиненной формой Товары. Размеры подчиненной формы определяются исходным прямоугольником, который вы начертили.

16. Отрегулируйте размер и положение объектов формы, чтобы она выглядела примерно так.

 

17. Обратите внимание на макет подчиненной формы, а затем щелкните на кнопке Вид (View), чтобы переключиться в режим формы. Форма должна выглядеть как показано на рисунке ниже.

 

Формат подчиненной формы полностью изменился. Если в режиме конструктора она выглядела как обычная форма, в режиме формы она похожа на таблицу.

18. Переключитесь в режим конструктора, скорректируйте размер подчиненной формы и откройте окно Свойства (Properties).

19. Щелкните дважды на селекторе в верхнем левом углу подчиненной формы. Первый щелчок выделит элемент управления подчиненная форма Товары, а второй щелчок выделит саму форму. На селекторе появится черный квадратик.

20. В диалоговом окне Свойства (Properties)установите значение Нет (No)для свойств Область выделения (Record Selectors)и Кнопки перехода (Navigation Buttons). Обратите внимание, что в свойстве Режим по умолчанию (Default View)указано значение Таблица (Datasheet). Завершив упражнение, вы можете вернуться к этому свойству и поэкспериментировать с другими установками.

21. Переключитесь в режим формы и перетащите разделители (линии между столбцами), чтобы добиться следующих результатов.

 

Совет. Можно быстро подогнать ширину столбца под размер содержащихся в нем данных, щелкнув дважды на правой границе заголовка столбца.

22. Воспользуйтесь кнопками перехода, чтобы просмотреть несколько типов. Завершив просмотр, щелкните на кнопке Первая запись (First Record), чтобы вернуться к первому типу (Луковые). Каждый тип отображается вверху главной формы, а соответствующие ему товары в подчиненной форме в виде таблицы.

23. В подчиненной форме щелкните на имени типа справа от первого товара. Стрелка в конце поля указывает на то, что это поле со списком.

24. Щелкните на стрелке, чтобы отобразить список типов, и замените тип на Кактусы.

25. Щелкните на кнопке перехода Следующая запись (Next Record), чтобы перейти к следующему типу (Кактусы). Как видите, первый товар из предыдущего списка теперь включен в этот тип.

26. В подчиненной форме отобразите список типов и восстановите тип Луковые для первого товара.

27. Чтобы запретить изменение типа товара, вернитесь в режим конструктора. В подчиненной форме щелкните на элементе управления КодТипа и нажмите на клавишу (Del).

Важно. При создании подчиненной формы с помощью мастера вы включили поле КодТипа, поскольку оно связывает таблицы Товары и Типы. Но в базовой таблице Товары для отображения типа используется поле со списком, поэтому мастер вставил его в подчиненную форму.

28. Сохраните форму, переключитесь в режим формы и отрегулируйте ширину столбцов, чтобы форма выглядела как показано на следующем рисунке.

 

29. Закройте форму, сохранив изменения как в главной, так и в подчиненной форме.

30. Закройте базу данных.

31. Если вы не намерены переходить к следующей главе, выйдите из Access.

 



<== предыдущая лекция | следующая лекция ==>
GardenCo | Поиск и отбор информации


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.008 сек.