как в аксессе связать таблицу и форму
Как создать, отредактировать и удалить связь таблицы в Access
В Microsoft Access связь помогает объединять или связывать данные из одной таблицы в другую. Отношения позволяют пользователю создавать запросы, формы и отчеты. Когда таблицы создаются для каждой темы в базе данных, вы должны поместить общие поля в связанную таблицу и сформировать с ними связь, чтобы информация снова была объединена.
Создание, изменение и удаление связи таблиц в Access
Есть три типа отношений:
Зачем использовать отношения таблиц в Access?
В этой статье мы собираемся объяснить:
1]Как создать отношения в Microsoft Access
Перейдите на вкладку Таблица в строке меню. Выберите отношение. В окне отношений выберите «Добавить таблицу». Откроется диалоговое окно добавления таблицы; нажмите «Добавить выбранные таблицы».
В левом углу в разделе инструментов окна «Отношения» щелкните «Редактировать отношения». Выберите «Создать».
При создании нового диалогового окна вы выберете имя левой таблицы и имя правой таблицы для своей таблицы, затем выберите имя левого столбца и имя правого столбца, которые должны быть первичным ключом ваших таблиц; теперь нажмите ОК.
Диалоговое окно «Изменить взаимосвязь» снова появится с выбранным вами вариантом; нажмите создать. Существует также вариант быстрого доступа, с помощью которого вы можете перетащить первичный ключ из одной таблицы в другую; любая связанная таблица должна быть связана с первичным ключом. Это сформирует связь между двумя таблицами.
2]Как редактировать отношения в Microsoft Access
Вы можете изменить свои отношения в Microsoft Access; вот несколько шагов для этого.
Дважды коснитесь линии связи, и откроется диалоговое окно «Изменить связь».
Есть еще один способ открыть диалоговое окно редактирования отношения. На вкладке «Дизайн» вы увидите параметр «Изменить взаимосвязь»; нажмите здесь.
Внесите любые изменения, которые хотите внести.
3]Удаление отношений в Microsoft Access
Чтобы удалить связь, вы должны удалить строку из двух таблиц; это меры.
Щелкните курсор правой кнопкой мыши и выберите Удалить. Другой вариант — поместить курсор на строку и нажать кнопку «Удалить».
Появится диалоговое окно с вопросом: «Если вы уверены, что хотите окончательно удалить Связь».
Связанное чтение: Как создавать таблицы с помощью конструктора таблиц в Access.
Сообщите нам в комментариях, если у вас возникнут проблемы, и мы вам ответим.
Создание формы, содержащей подчиненную форму (форма с отношением «один-ко-многим»)
При работе с реляционными данными (т. е. связанными данными, которые хранятся в разных таблицах) нередко требуется просматривать несколько таблиц или запросов в одной форме. Например, может потребоваться одновременно просмотреть данные клиента из одной таблицы и сведения о его заказах из другой. Подчиненные формы — удобный инструмент для подобных задач, и в Access их можно быстро создать несколькими способами.
В этой статье
Сведения о подчиненных формах
Подчиненной называют форму, вставленную в другую форму. Главная форма называется основной, а форма, вложенная в нее, — подчиненной. Комбинацию формы и подчиненной формы иногда также называют иерархической формой, сочетанием основной формы и формы подробностей или комбинацией родительской и дочерней форм.
Подчиненные формы особенно удобны для отображения данных из таблиц или запросов с отношением «один-ко-многим». Отношение «один-ко-многим» представляет собой связь между двумя таблицами, при которой значение первичного ключа каждой записи в главной таблице соответствует значению в соответствующем поле или полях нескольких записей в связанной таблице. Например, можно создать форму, в которой отображаются сведения о сотрудниках и которая содержит подчиненную форму с заказами каждого сотрудника. Данные в таблице «Сотрудники» являются в отношении стороной «один». Данные в таблице «Заказы» являются в отношении стороной «многие» — для каждого сотрудника может быть несколько заказов.
1. В основной форме отображаются данные на стороне отношения «один».
2. В подчиненной форме выводятся данные на стороне отношения «многие».
Основная и подчиненная формы взаимодействуют таким образом, что в подчиненной выводятся только те записи, которые связаны с текущей записью в основной. Например, если в основной форме отображаются данные Ольги Зуевой, то в подчиненной отображаются только ее заказы. Если связь между основной и подчиненной формами была разорвана, то в подчиненной форме будут отображаться заказы всех сотрудников, а не только Ольги.
В таблице ниже определены некоторые термины, связанные с подчиненной формы. Access будет обрабатывать большинство сведений, если вы используете процедуры, которые вы используете в этой статье, но полезно знать, какие изменения происходят в дальнейшем.
Элемент управления подчиненной формы
Элемент управления, который служит для внедрения одной формы в другую. Его можно рассматривать как «представление» другого объекта в базе данных, будь то другая форма, таблица или запрос. Элемент управления подчиненной формы обладает свойствами, которые позволяют связывать данные, отображаемые в нем, с данными в основной форме.
Свойство элемента управления подчиненной формы, определяющее, какой объект в нем отображается.
Простое отображение данных в строках и столбцах, как в электронной таблице. В элементе управления подчиненной формы отображается таблица, когда объектом-источником является таблица или запрос, либо форма, для свойства «Режим по умолчанию» которой задано значение «Режим таблицы». В этих случаях подчиненную форму иногда называют таблицей или подтаблицей.
Свойство «Подчиненные поля»
Свойство элемента управления подчиненной формы, которое задает поле или поля в подчиненной форме, которые будут связывать ее с основной.
Свойство «Основные поля»
Свойство элемента управления подчиненной формы, которое задает поле или поля в основной форме, которые будут связывать ее с подчиненной.
Перед тем, как выполнить описанные в этой статье действия, мы рекомендуем настроить связи между таблицами. Это позволит Access автоматически создать связи между основными и подчиненными формами. Чтобы просмотреть, добавить или изменить связи между таблицами в базе данных, на вкладке Работа с базами данных в группе Показать или скрыть нажмите кнопку Схема данных.
Когда элемент управления подчиненной формы имеет в качестве объекта-источника форму, он содержит поля, помещенные в нее и его можно просмотреть как одиночную форму, ленточную форму или таблицу. Одним из преимуществ создания подчиненной формы на основе формы является возможность добавления вычисляемых полей в подчиненную форму, например: [Количество] * [Цена].
Можно также вставить в форму таблицу или сводное представление путем создания элемента управления подчиненной формы, объектом-источником для которого служит таблица или запрос. Дополнительные сведения см. в разделе Добавление связанных данных в форму без создания подчиненной формы.
Создание или добавление подчиненной формы
В таблице ниже представлены рекомендации по выбору процедуры, которая лучше всего подходит для конкретной ситуации.
Нужно создать в приложении Access основную и подчиненную формы и связать их.
Нужно использовать существующую форму в качестве основной, но при этом создать в Access новую подчиненную форму и добавить ее в основную.
Нужно использовать существующую форму в качестве основной и добавить в нее одну или несколько существующих форм в качестве подчиненных.
Создание формы, содержащей подчиненную форму, с помощью мастера форм
Данная процедура позволяет создать новую комбинацию формы и подчиненной формы с помощью мастера форм. Это также самый быстрый способ начать работу, если еще не были созданы формы, которые планируется использовать в качестве основной или подчиненной формы.
На вкладке Создание в группе Формы нажмите кнопку Мастер форм.
На первой странице мастера в раскрывающемся списке Таблицы и запросы выберите таблицу или запрос. Например, чтобы создать форму «Сотрудники» для отображения в подчиненной форме списка заказов для каждого сотрудника, выберите пункт Таблица: Сотрудники (сторона «один» отношения «один-ко-многим»).
Примечание: Порядок выбора таблиц и запросов не имеет значения.
Дважды щелкните поля таблицы или запроса, которые нужно включить в форму.
На той же странице мастера в раскрывающемся списке Таблицы и запросы выберите другую таблицу или запрос. В данном примере мы выберем таблицу «Заказы» (сторона «многие» связи «один-ко-многим»).
Дважды щелкните поля таблицы или запроса, которые нужно включить в форму.
При нажатии кнопки «Далее» предполагается, что связи настроены правильно до начала работы мастера, мастер спросит, как вы хотите просмотреть данные? — по какой таблице или запросу. Выберите таблицу на стороне «один» связи «один-к-многим». В этом примере для создания формы «Сотрудники» будет щелкнуть «Сотрудники». Мастер отобразит небольшую схему формы. Страница должна иметь следующий рисунок:
Поле в нижней части изображения формы обозначает подчиненную форму.
Примечание: Если запрос Выберите способ представления данных не отображается, это означает, что приложению Access не удалось обнаружить связь «один-ко-многим» между выбранными таблицами или запросами. Мастер продолжит работу, но в форму не будет добавлена подчиненная форма. Если вы хотите сначала проверить связи между таблицами, нажмите кнопку Отмена.
Установите в нижней части страницы мастера переключатель Подчиненные формы и нажмите кнопку Далее.
На странице Выберите внешний вид подчиненной формы: выберите нужный вариант макета и нажмите кнопку Далее. В макетах обоих стилей данные подчиненной формы располагаются в виде строк и столбцов, но ленточный макет имеет больше возможностей настройки. В ленточной подчиненной форме можно добавлять цвет, изображения и другие элементы форматирования, однако табличный макет компактнее, как и табличное представление таблицы.
На следующей странице мастера выберите стиль форматирования для формы и нажмите кнопку Далее. Если на предыдущей странице вы выбрали значение Табличный, выбранное форматирование стиля также применяется к подчиненной форме.
На последней странице мастера введите заголовки форм. Имена автоматически присваиваются формам на основе введенных заголовков, а надписи подчиненных форм — на основе введенных заголовков подчиненных форм.
Укажите режим, в котором вы хотите открывать форму: режим формы (чтобы можно было просмотреть или ввести данные) или Конструктор (чтобы можно было изменить ее структуру). Затем нажмите кнопку Готово.
Access создаст две формы — основную форму, которая содержит подчиненную, и саму подчиненную форму.
Добавление одной или нескольких подчиненных форм в существующую форму с помощью мастера подчиненных форм
Используйте эту процедуру для добавления одной или нескольких подчиненных форм в существующую форму. Для каждой подчиненной формы можно создать новую форму или использовать существующую.
В области навигации щелкните существующую форму правой кнопкой мыши и выберите пункт Конструктор.
На вкладке Конструктор в группе Элементы управления щелкните стрелку вниз, чтобы открыть коллекцию Элементы управления, и убедитесь в том, что установлен флажок Использовать мастера.
На вкладке Конструктор в группе Элементы управления выберите элемент Подчиненная форма/отчет.
В форме щелкните место, куда нужно поместить подчиненную форму.
Следуйте указаниям мастера.
После нажатия кнопки Готово в форму будет добавлена подчиненная форма. Если для подчиненной формы создается новая форма, а не используется существующая, новый объект формы будет создан и добавлен в область навигации.
Создание подчиненной формы путем перетаскивания одной формы в другую
Выберите эту процедуру, если нужно использовать существующую форму в качестве основной и добавить в нее одну или несколько существующих форм в качестве подчиненных.
В области навигации щелкните правой кнопкой мыши форму, которую нужно использовать в качестве основной, и выберите пункт Конструктор.
Перетащите форму, которую вы хотите использовать в качестве подчиненной, из области навигации на основную форму.
Access добавит в основную форму элемент управления подчиненной формы, который будет связан с формой, добавленной путем перетаскивания из области навигации. Он также попытается связать подчиненную форму с основной на основе отношений, определенных в базе данных.
Повторите этот шаг, чтобы добавить другие подчиненные формы в основную.
Чтобы проверить, успешно ли создана связь, на вкладке Главная в группе Режимы нажмите кнопку Режим, выберите команду Режим формы и с помощью селектора записей основной формы просмотрите несколько записей. Если в подчиненной форме правильно отображаются данные для каждого сотрудника, это означает, что процедура завершена успешно.
Если проверка не работает, это означает, что программе Access не удалось создать связь подчиненной формы с основной и свойства Подчиненные поля и Основные поля элемента управления подчиненной формы остались пустыми. Задайте значения для этих свойств вручную, выполнив указанные ниже действия.
В области навигации щелкните основную форму правой кнопкой мыши и выберите пункт Конструктор.
Щелкните элемент управления подчиненной формы один раз, чтобы выделить его.
Если область задач «Окно свойств» не отображается, нажмите клавишу F4.
В окне свойств откройте вкладку Данные.
Нажмите кнопку «Построить» рядом с полем свойства «Ребенку полей».
Будет открыто диалоговое окно Связь с полями подчиненной формы.
В списках «Поля и потомки» выберите поля, с помощью которые вы хотите связать формы, и нажмите кнопку «ОК». Если вы не знаете, какие поля использовать, нажмите кнопку «Предложить», чтобы Access попытается определить связующие поля.
Совет: Если не отображается поле, которое требуется использовать для связывания форм, возможно, придется так отредактировать источник записей основной или подчиненной формы, чтобы данное поле в нем присутствовало. Например, если форма основана на запросе, следует убедиться, что связывающее поле присутствует в результатах запроса.
Сохраните основную форму и переключитесь в режим формы, а затем проверьте, правильно ли она работает.
Открытие подчиненной формы в новом окне в Конструкторе
Если вы хотите внести изменения в структуру подчиненной формы во время работы над основной формой в Конструкторе, вы можете открыть ее в отдельном окне:
Щелкните подчиненную форму, чтобы выбрать ее.
На вкладке Конструктор в группе Сервис нажмите кнопку Подчиненная форма в новом окне.
Изменение представления по умолчанию для подчиненной формы
При добавлении подчиненной формы в форму элемент управления подчиненной формы (или отчета) отображает подчиненную форму в соответствии с ее свойством Режим по умолчанию. Ниже перечислены значения, которые можно установить для этого свойства.
При создании подчиненной формы для этого свойства может быть установлено значение Ленточные формыили Простая форма. Однако если для свойства Режим по умолчанию подчиненной формы установить значение Режим таблицы, она будет отображаться как таблица в основной форме.
Чтобы задать значение свойства Режим по умолчанию подчиненной формы, выполните указанные ниже действия.
Закройте все открытые объекты.
В области навигации щелкните подчиненную форму правой кнопкой мыши и выберите пункт Конструктор.
Если окно свойств не отображается, нажмите клавишу F4.
Убедитесь в том, что в раскрывающемся списке в верхней части окна свойств выбран пункт Форма.
На вкладке Формат окна свойств задайте для свойства Режим по умолчанию нужное значение.
Примечание: Если нужный режим отсутствует в списке, убедитесь в том, что для свойства «Режим. » установлено значение Да. Например, если нужно выбрать вариант Режим таблицы, убедитесь, что для свойства Режим таблицы установлено значение Да.
Сохраните и закройте подчиненную форму, а затем откройте основную форму, чтобы проверить результаты.
Добавление связанных данных в форму без создания подчиненной формы
Не всегда требуется создавать отдельный объект формы для отображения связанных данных. Например, если вы работаете с формой в конструкторе или макете и перетаскивайте в нее таблицу или запрос из области навигации, в Access создается набор подчиненной формы или подчиненного с данными в этом объекте. Отображение данных определяется свойством «Режим по умолчанию» объекта. Обычно для этого используется режим таблицы, но для свойства «Режим по умолчанию» таблицы или запроса можно установить значение «Одна форма», «Разделенная форма» или «Лентообразная форма», что обеспечивает большую гибкость при отображке связанных данных в формах.
Примечание: Изменение свойства Режим по умолчанию для таблицы или запроса влияет на способ их отображения при открытии из области навигации или при просмотре в элементе управления подчиненной формы или отчета. Поскольку изменение параметров отображения таблицы иногда может привести к путанице при ее открытии из области навигации, в этой процедуре рекомендуется вместо таблицы использовать запрос.
Вставка таблицы в форму
Таблица — это простое представление данных, расположенных в строках и столбцах. Если дважды щелкнуть таблицу в области навигации, Access отобразит ее в качестве таблицы. Из-за компактного представления данных таблицы хорошо работают, когда они используются в качестве подчиненной формы для отображения данных на стороне «многие» отношение «один-ко-многим». В этой статье описано, как добавлять таблицы данных в формы в Access.
В этой статье
Просмотр примера таблицы в форме
Предположим, вам нужно создать форму, которая отображает данные о категориях продуктов, а также обо всех товарах в них. Данные в таблице «Категории» являются стороной отношения «один», а данные в таблице «Товары» — стороной «многие» отношения. Каждая категория может иметь много продуктов.
1. В основной форме отображаются данные на стороне отношения «один».
2. В таблице данных показаны данные со стороны отношения «многие».
Перетаскивать таблицу в форму
Чтобы быстро добавить существующую таблицу в форму, откройте ее в конструкторе, а затем щелкните, удерживайте и перетащите существующую форму таблицы из области навигации в область конструктора форм.
Если перед началом данной процедуры отношения были настроены правильно, access автоматически задает свойства «Основные поля» и «Основные поля» с правильными значениями, которые привяжет основную форму к режиму таблицы.
Пустая ссылка на «Пустая ссылка» и свойства «Мастер полей»
Если Access не удается определить, как связать его с основной формой, он оставляет пустыми свойства «Основные поля» и «Основные поля подчиненной формы». Эти свойства необходимо настроить вручную.
Вставка таблицы в существующую форму в представлении макета
Если связи между таблицами в базе данных уже определены, можно быстро добавить таблицу в существующую форму в представлении макета. При добавлении поля со стороны отношения «многие» в форму, основанную на стороне отношения «один», Access автоматически создает таблицу для отображения связанных записей.
Откройте существующую форму в представлении макета, щелкнув ее правой кнопкой мыши в области навигации и щелкнув в этом меню пункт «Макет».
Если область Список полей не отображается:
Нажмите клавиши ALT+F8.
На вкладке Конструктор в группе Сервис выберите пункт Добавить существующие поля.
Обратите внимание на то, что в области «Список полей» таблицы делятся на разделы: доступные в этом представлении поля и поля, доступные в связанной таблице. В нижней части области «Список полей» все другие таблицы, не связанные напрямую с главной таблицей, перечислены в списке полей, доступных в других таблицах.
В разделе «Поля, доступные в связанной таблице» разблокировать таблицу, содержаную первое поле таблицы, и перетащите его на форму. Access создаст таблицу и добавит в нее поле.
Чтобы добавить дополнительные поля в новую таблицу, необходимо сначала щелкнуть таблицу, чтобы выбрать ее. Обратите внимание, что Access переупоряает область списка полей так, чтобы доступные для таблицы поля были вверху. Из раздела «Поля», доступного для этого представления, перетащите в таблицу любые другие нужные поля. Когда вы перетаскивать каждое поле в таблицу, Access рисует отрезок вставки, который показывает, куда будет вставлено поле, когда вы отпустите кнопку мыши.
Продолжайте добавлять поля в основную форму или таблицу, щелкнув основную форму или таблицу, чтобы выбрать их, а затем перетащив поле из области «Список полей».
В разделе «Поля, доступные в других таблицах» области «Список полей» содержатся таблицы, не связанные напрямую с таблицей или запросом, на основе которые основана выбранная форма. Если вы определили все допустимые связи между таблицами в окне «Отношения», то поля в разделе «Поля, доступные в других таблицах», скорее всего, не будут допустимым выбором формы, которую вы строите. Если перетащить поле из этого раздела в форму, в Access отобразит диалоговое окно «Укажите отношение». Перед началом необходимо ввести поля, которые связывают две таблицы друг с другом. В этом случае область «Список полей» больше не будет сортироваться по разделам в соответствии с заранее заданной связью. Возможно, лучше нажать кнопку «Отмена» в этом диалоговом окне и перезаменить связи между таблицами. Дополнительные сведения о связях см. в статье «Создание, изменение и удаление отношения».
Вставка таблицы в существующую форму в конструкторе
Используйте эту процедуру, чтобы добавить таблицу, основанную непосредственно на таблице или запросе, в существующую форму в конструкторе.
Откройте форму в конструкторе, щелкнув ее правой кнопкой мыши в области навигации и нажав кнопку «Конструктор».
Если на вкладке «Конструктор» в группе «Элементы управления» выбран инструмент «Использовать мастера», щелкните его, чтобы он не был выбран.
Если он используется, мастер управления подчиненной формы создает отдельный объект формы и создает на его основе его. Эта процедура, в свою очередь, создает таблицу, основанную непосредственно на таблице или запросе, а не на форме.
На вкладке Конструктор в группе Элементы управления выберите элемент Подчиненная форма/отчет.
В бланке формы щелкните место, куда нужно вставить таблицу.
Чтобы изменить положение и положение подчиненной формы, перетаскиванием углов и углов этого управления, можно изменить его положение.
Чтобы изменить вложенную надпись для подчиненной формы, щелкните ее, дважды щелкните, чтобы выбрать текст, а затем введите новую метку. Если вы хотите удалить метку, щелкните ее один раз и нажмите кнопку DELETE.
Если окно свойств не отображается, нажмите клавишу F4.
Если это не так, щелкните его один раз, чтобы выбрать.
На вкладке «Данные» в окне свойств щелкните список «Исходный объект» и выберите таблицу или запрос, которые вы хотите отобразить в таблице. Например, если вы хотите отобразить данные из таблицы «Заказы», щелкните «Таблица.Заказы».
Если перед началом данной процедуры отношения были настроены правильно, access автоматически задает свойства «Основные поля» и «Основные поля» с правильными значениями, которые привяжет основную форму к режиму таблицы.
Пустая ссылка на «Пустая ссылка» и свойства «Мастер полей»
Если Access не удается определить, как связать его с основной формой, он оставляет пустыми свойства «Основные поля» и «Основные поля подчиненной формы». Задайте значения для этих свойств вручную, выполнив указанные ниже действия.
Откройте основную форму в конструкторе.
Щелкните один раз для выбора подчиненной формы.
Если в данный момент не отображается лист свойств, нажмите F4.
На вкладке «Данные» окна свойств щелкните (. )рядом с полем свойства «Личные поля связи».
Будет открыто диалоговое окно Связь с полями подчиненной формы.
В списках «Master Fields» (Поля)» и «Child Fields» (Поля master и Child Fields) выберите поля, с помощью которые вы хотите связать формы. Если вы не знаете, какие поля использовать, нажмите кнопку «Предложить», чтобы Access определил связывающие поля. По окончании нажмите кнопку ОК.
Если вы не видите поле, которое требуется использовать для связываия форм, возможно, потребуется изменить источник записей для master или child form, чтобы убедиться, что поле в нем. Например, если форма основана на запросе, убедитесь, что связующий поле присутствует в результатах запроса.
Сохраните основную форму и переключение в представление формы, чтобы убедиться в ее работе.
Чтобы сохранить форму, нажмите кнопку «Сохранить» на панели быстрого доступа или нажмите CTRL+S.
Переключение представление формы проверку работы таблицы.
Различия между разделенной формой и формой, которая содержит таблицу
В форме, которая содержит таблицу данных, отображаются данные из различных (но, как правило, связанных) источников данных. Например, в форме могут быть показаны сотрудники, а в ней может быть таблица со всеми задачами, которые назначены каждому сотруднику. Источник данных в ней не такой, как в форме. Разделенная форма, в свою очередь, имеет два раздела (форму и таблицу), но в обоих из них отображаются одинаковые данные. В двух разделах данные отслеживаются друг с другом и вы можете одновременно работать с ними в двух разных представлениях.
Дополнительные сведения о создании разделенной формы и работе с ней см. в статье Создание разделенной формы.