Создать связь между несколькими таблицами, которая позволяет только одну запись на дату - PullRequest
1 голос
/ 27 апреля 2020

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

Когда вы открываете базу данных, у меня появляется поле со списком, которое позволяет вам выбрать название вашей команды. После того, как вы сделаете свой выбор, появится ваша форма со статистикой вашей команды за день. (На самом деле это только одна форма, в которой есть подчиненная форма с запросом. Запрос обновляется, когда вы выбираете свою команду из поля со списком)

У каждой команды есть свой собственный отдельный набор статистики для каждого дня, и они допускается только одна запись в день. Не каждая команда имеет одинаковую категорию статистики. Это пример некоторых моих таблиц

Таблица статистики качества:
Название команды | Ежедневно # | Фактический № | Цель № | DateOfEntry

Таблица производительности:
Название команды | Процент | DateOfEntry

Таблица Stop Ship:
Название команды | Да / нет | DateOfEntry

Как мне сделать так, чтобы каждая команда могла иметь только одну запись в каждой таблице в день? У меня есть имена команд, связанные со всеми таблицами, но мне трудно обеспечить ограничение одной записи на дату

Я очень новичок в доступе и все еще пытаюсь выяснить это. Я был бы очень признателен, если бы кто-то указал мне правильное направление

1 Ответ

1 голос
/ 27 апреля 2020

Создайте уникальный индекс из нескольких полей для каждой из этих таблиц. Вот пример для таблицы Quality Stats ...

strSQL = "CREATE UNIQUE INDEX idxQualTeamDate ON [Quality Stats] ([Team Name], DateOfEntry)"
CurrentProject.Connection.Execute strSQL

То же самое можно сделать через пользовательский интерфейс Access . Если вы предпочитаете go этот маршрут, все равно может быть полезно выполнить оператор CREATE UNIQUE INDEX, который я вам дал, и затем открыть таблицу в Design View , чтобы увидеть, как Access представляет ее там.

...