Ввод данных «многие ко многим» - Access 2010

1840
Chris Frazier

У меня есть три стола. Student, Class и StudentClassMap (многие ко многим), которые расположены следующим образом:

Student: SID - PK Student Name  Class: CID - PK Class Name  StudentClassMap: SID - FK | PK CID - FK | Grade 

Теперь я хочу сделать форму на основе ученика с подчиненной формой, которая показывает все их классы и оценки в этих классах. Я легко могу сделать это, выбрав таблицу учеников и перейдя к созданию формы. Теперь автоматически сформированная подчиненная форма показывает только CID и Grade. Итак, чтобы сделать это, я создал запрос, который возвращает SID, Class Name и Grade и установил его в качестве источника для моей подчиненной формы.

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

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

В идеальном случае столбец «Имя класса» подчиненной формы должен быть выпадающим списком «Имена классов», которые существуют в таблице «Класс».

Дайте мне знать, если это имеет смысл.

1

1 ответ на вопрос

0
aNullValue

В форме Student ваша подчиненная форма должна быть строками в StudentClassMap. Затем измените столбец CID на поле выбора и установите его свойства строки для отображения имени класса. Это должно позволить вам добавлять / удалять классы ученика, а также редактировать оценку в форме ученика.

Это звучит как то, что я хочу сделать, но я новичок в использовании Access ... Как именно я могу изменить столбец CID на поле выбора? и как именно мне настроить отображение ClassName? Chris Frazier 13 лет назад 0
Ааа, я понял это. Я открыл таблицу Map и использовал настройки Lookup, чтобы указать CID в качестве поиска из таблицы Class. Спасибо, Стемен. Chris Frazier 13 лет назад 0