Обеспечить ссылочную целостность с помощью связанной таблицы

478
Aiken

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

Однако для каждой базы данных документов мне бы хотелось иметь таблицу «разрешений», в которой есть набор полей «Да / Нет», определяющих, какие разрешения имеет пользователь в отношении этого конкретного документа, очевидно, я бы хотел сохранить ссылочную целостность между таблицей разрешений. и таблица пользователей. Все рассматриваемые базы данных хранятся на общем диске.

Сначала я подумал, что в WhwhatDoc.mdb я мог бы связать таблицу tblUsers в Users.mdb, а затем создать взаимно-однозначное отношение между полем имени пользователя в tblUsers и tblPermissions, но мне кажется, что я не могу принудительно применить ссылочный целостность, когда я создаю отношения со связанной таблицей.

Есть ли обходной путь для этого? Я открыт для решений, связанных с VBA, но думал, что я бы спросить здесь, а не StackOverflow, как это не специально программирования вопрос.

0

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

0
Aiken

Решение, которое я сейчас использую:

В дизайне таблицы для tblPermissions выберите поле User и затем на вкладке Lookup для параметров поля установите следующие параметры.

Display Control: Combo Box Row Source Type: Table/Query Row Source: SELECT Username FROM tblUsers; Limit To List: Yes 

Это препятствует тому, чтобы поле User в tblPermissions содержало значение, которое не присутствует в поле Имя пользователя tblUsers из-за того, что для параметра «Limit To List» установлено значение yes для соответствующего источника строки.

0
leach613

Создайте внутреннюю базу данных со всеми вашими таблицами и установите отношения в этой базе данных. Затем свяжите все таблицы на сервере с вашей базой данных, содержащей все ваши формы, запросы и код.