Как создать форму для редактирования отношения один ко многим? - PullRequest
2 голосов
/ 19 ноября 2008

Используя MS Access 2007, я создаю базу данных управления студентами. У меня есть таблицы для:

  • Студенты
  • Курсы
  • CourseSection

Что мне нужно, так это способ назначить студентов в секцию курса. Поэтому я создал таблицу, которая связывает студентов и занятия:

  • StudentsInSection (содержит внешний ключ для студентов и внешний ключ к разделу курса)

Я хотел бы создать форму, которая позволит мне редактировать раздел и добавлять студентов из списка студентов. Я сделал много работы с реляционными базами данных, но никогда не имел доступа. Кажется, такая простая вещь. Кто-нибудь знает хороший способ сделать это?

Ответы [ 2 ]

2 голосов
/ 19 ноября 2008

Создать форму, привязанную к таблице StudentsInSection. Если вы хотите иметь возможность редактировать студентов в разделе, проще всего использовать комбинированное окно с источником строки на основе таблицы «Студенты» с привязанным столбцом комбинированного окна, привязанным к идентификатору студента в наборе записей. лежащий в основе формы StudentsInSection. Эта форма будет вашей подчиненной. Установите для свойства «Вид по умолчанию» формы «Таблица данных» или «Непрерывные формы». Сохраните и закройте форму.

Создать форму, привязанную к таблице CourseSection. В списке «Формы» щелкните и перетащите первую форму на основе таблицы StudentsInSection в область дизайна формы CourseSection.

На листе свойств нового элемента управления подчиненной формы установите для свойства Link Master Fields значение ID раздела вашей таблицы CourseSection. В свойстве «Связать дочерние поля» задайте значение для идентификатора раздела вашей таблицы StudentsInSection. Установка этих свойств отфильтрует данные подчиненной формы в соответствии с текущим значением в родительской форме при навигации по записям.

1 голос
/ 19 ноября 2008

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

Таким образом, StudentSection будет заполняться StudentID (я полагаю, это ваш ключ) из родительской формы, и вы можете установить CourseID, когда устанавливаете раскрывающийся список.

...