Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Связывание форм в Access.doc
Скачиваний:
20
Добавлен:
18.02.2016
Размер:
807.94 Кб
Скачать

Установка связей между таблицами и ввод данных в таблицы

1. Установка связей между таблицами

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

Создать связь между таблицами можно с помощью окна «Связи» или с помощью перетаскивания поля из области Список полей в таблицу. При создании связи между таблицами общие поля могут иметь различные имена, однако часто они имеют одинаковые. Очевидно, что общие поля должны иметь одинаковый тип данных. Однако, если поле первичного ключа имеет тип «Счетчик», поле внешнего ключа может также быть числовым полем, если свойство Размер поля (FieldSize) обоих полей совпадает.

  1. Откройте базу данных.

  2. На вкладке Работа с базами данных в группе Показать или скрыть выберите пункт Схема данных.

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

В диалоговом окне Добавить таблицу отображены все таблицы и запросы, содержащиеся в базе данных. Чтобы отобразить только таблицы, выберите пункт Таблицы.

  1. Выберите одну или несколько таблиц или запросов и нажмите кнопку Добавить. После добавления таблиц и запросов на вкладку «Схема данных» нажмите кнопку Закрыть.

  2. Перетащите поле (как правило, поле первичного ключа) из одной таблицы на общее поле (поле внешнего ключа) в другой таблице. Чтобы перетащить сразу несколько полей, нажмите клавишу CTRL и, удерживая ее, выберите каждое поле.

Откроется диалоговое окно Изменение связей

  1. Убедитесь, что поля, имена которых отображены в диалоговом окне, являются общими полями данной связи. Если имя поля неверно, выделите это имя и выберите верное поле из списка.

Для поддержания целостности данных для этой связи установите флажок Обеспечение целостности данных. Дополнительные сведения о целостности данных см. в разделе Поддержание целостности данных

В дополнение см. статью Общие сведения о связях между таблицами.

  1. Нажмите кнопку Создать.

Access проведет линию связи между двумя таблицами. Если был установлен флажок Обеспечение целостности данных, линия будет толще на каждом конце. Кроме того, если был установлен флажок Обеспечение целостности данных, над широкой частью на одном конце линии связи будет отображено число 1, а над широкой частью на другом конце линии — символ бесконечности (), как показано на следующем рисунке.

Примечания

  • Чтобы создать отношение «один-к-одному»  Оба общих поля (как правило, поля первичного ключа и внешнего ключа) должны иметь уникальный индекс. Это означает, что свойства Индексированное (Indexed) этих полей должны иметь значения Да (Совпадения не допускаются). Если оба поля имеют уникальный индекс, Access создаст отношение «один-к-одному».

  • Чтобы создать отношение «один ко многим»  Поле на одной стороне отношения (как правило, поле первичного ключа) должно иметь уникальный индекс. Это означает, что свойство Индексировано (Indexed) этого полей должны иметь значения Да (Совпадения не допускаются). Поле на стороне «многие» не должно иметь уникального индекса. У этого поля может быть индекс, но он должен допускать совпадения. Это означает, что свойство Индексировано (Indexed) этого поля должно иметь значение Нет либо Да (Допускаются совпадения). Если одно поле имеет уникальный индекс

Например, можно сопоставить поля с типами «Счетчик» и «Числовой», если свойство Размер поля (FieldSize) обоих полей имеет значение «Длинное целое». Если оба общих поля являются числовыми, у них должно совпадать значение свойства Размер поля (FieldSize).

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

Задание 1. Выполните команду Схема данных и добавьте в схему все таблицы, созданные в БД (для добавления таблицу или таблицы следует выделить и щелкнуть по кнопке Добавить). После того, как все таблицы будут включены в схему окно «Добавление таблицы» следует закрыть.

Окно схема данных принимает вид, показанный на рисунке (таблицы в окне схемы перемещаются с помощью мыши, можно изменять их размер). В окне появляются изображения каждой таблицы БД, добавленной в схему, с перечнем всех включенных в них полей. Ключевые поля выделяются жирным шрифтом. Для удобства ключевые поля лучше ставить на первое место. Из этого окна можно вызвать операции над таблицами с помощью контекстного меню.

Задание 2. Создайте связь между таблицей «Клиенты» (главная таблица) и таблицей «Заказы» (подчиненная таблица). Для этого выполните следующие действия:

1. Установите курсор мыши на поле «НомерКлиента» в списке полей таблицы «Клиенты» в окне «Схема данных». Нажмите левую кнопку мыши и, удерживая кнопку нажатой, переместите курсор в окне, совместив перемещаемый значок с названием поля «НомерКлиента» в таблице «Заказы». Отпустите кнопку мыши.

2. В открывшемся диалоговом окне «Связи» проверьте информацию о создаваемой связи: таблица «Клиенты» (поле «НомерКлиента») связывается с таблицей «Заказы» (по полю «НомерКлиента»). Тип устанавливаемого отношения (связи) – «один-ко-многим». Если информация, отображаемая в окне, не соответствует тому, что показано на приведенном выше рисунке, следует исправить ошибку.

3. Включите флажок «Обеспечение целостности данных» и флажки «Каскадное обновление связанных полей» и «Каскадное удаление связанных полей».

4. Щелкните кнопку Создать, завершая выполнение операции.

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

Задание 3. Создайте связи между таблицами «Услуги» и «Заказы», «Исполнители» и «Заказы» по полям «КодУслуги» и «НомерИсполнителя» соответственно Закройте схему, подтвердив сохранение изменений.