Немного поздно, но, да, самостоятельное присоединение.
- Добавьте новое поле в таблицу, например
MainProject
. Убедитесь, что он имеет тот же тип данных, что и поле ProjectNumber
;
- Войдите в окно отношений и добавьте таблицу во второй раз. Перетащите из
MainProject
первой копии в ProjectNumber
второй копии;
- Дважды щелкните линию соединения и выберите « Принудить ссылочную целостность» . Это гарантирует, что вы не сможете назначить
MainProject
идентификатор, который еще не существует в ProjectNumber
.
Когда вы создаете форму, которая используется для создания новых записей для этой таблицы, добавьте ComboBox
и установите для его RowSource
SQL-оператор, в котором перечислены ProjectNumbers (и, возможно, другие поля) из таблицы. Установите его ControlSource
в MainProject
.
Обратите внимание, однако, что если вы создаете новый проект, и идентификатор этого проекта также будет использоваться в качестве идентификатора основного проекта, то это потребует немного больше усилий. Вам необходимо сохранить текущую запись и ReQuery
список, прежде чем этот новый идентификатор появится в его списке. Вы можете использовать кнопку для достижения этого с кодом. Вручную вы можете нажать Shift-Enter
чтобы сохранить текущую запись, затем щелкнуть в поле со списком и нажать F9, чтобы запросить его.
Однако, если есть другие подробности, относящиеся к этому основному проекту, которых еще нет в таблице, тогда да, вы должны создать новую таблицу, чтобы сохранить эти подробности - в частности, то есть информацию, которая имеет отношение ТОЛЬКО к основному проекты.
Если вам нужен только номер ProjectNumber (основного проекта), тогда достаточно самостоятельного объединения, как описано выше.