Создать форму для добавления записей в несколько таблиц

Я новичок в доступе (у меня есть только версия 2003), и я схожу с ума. Учтите также, что я новичок в работе с БД в целом, так что теперь я нахожусь в таком замешательстве... пожалуйста, помогите Я пытаюсь создать базу данных для каталогизации всех моих книг. Я создал таблицы и установил отношения Image of my DB  ; У меня есть несколько таблиц, относящихся к "Книгам", одна в отношении "многие ко многим" (например, "Авторы: каждая книга может иметь несколько авторов, а каждый автор может" иметь "несколько книг") и несколько других в простой "Один к одному". Многие (например, тип книги: одна книга может быть только одного типа, но книг такого типа может быть много). Теперь я хотел бы создать одну форму (с подформами, если необходимо) для заполнения моих таблиц. Я хотел бы иметь возможность добавить новую книгу и выбрать, например, существующих авторов или добавить автора заново; то же самое для данных в отношении "один ко многим".

Как я могу это сделать?

Я действительно потерян, мне нужно несколько форм и добавить их в качестве подформ основной, мне нужны запросы или что?

Ответ 1

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

Например, ваша первая подформация - это авторы, в основе которой лежит Libri_Autori

Link Master Field: Id
Link Child Field: SchedaLibro

выпадающий:

Control Source: SchedaAutore
Row Source : SELECT Id, Nome FROM Autori
Bound Column: 1
Column Count : 2
Column Widths : 0, 2

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

Чтобы добавить записи в таблицу авторов, вам необходимо установить Limit To List на Yes и запустить код в событии Not In List. Мне нравится использовать небольшую всплывающую форму для добавления элементов в таблицы "назад". Это может быть проще с Access 2010, потому что вы можете установить ListItemsEditForm


1, Форма книги, перед добавлением подформы. Обратите внимание, что выбрано Use Control Wizards. Это значение по умолчанию, поэтому, если вы не отменили его, это должно быть хорошо.

Step 1 Using a wizard

Различные шаги мастера для добавления подформы Wizard steps for adding a subform

Выбор полей подформы

Selecting the subform fields

Выбор дочерних и основных полей ссылки

Selecting the link child and master fields

Форма, показывающая элемент управления подформы, выделенного желтым цветом, и свойства управления

Subfrom control

2, добавление комбо

Вы можете либо изменить поле, добавленное мастером подформы, на комбо, щелкнув правой кнопкой мыши и сами установив свойства...

Right-click for change to combo

... или вы можете удалить существующий элемент управления и добавить комбо с помощью мастера. Первый шаг - выбрать тип комбо.

Step 1 combo type

Второй шаг - выбрать таблицу или запрос

Step 2 choose table or query

Шаг третий - выбрать поля

Step 3 choose fields

Шаг четвертый выбирает порядок сортировки и здесь не отображается, это шаг пять, который заключается в установке ширины столбцов

Step 4 skipped, step 5 set column widths

Шаг шестой - установить источник управления

Step 6 set Control Source

В итоге вы получите сопоставление с показанными свойствами

<Т411 >

Финальная форма

Final form

Ответ 2

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