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

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

У меня обновляется номер посещения, но я не могу хранить несколько записей под одним и тем же идентификатором. Он просто переопределяет исходную запись.

Форма для посещения связана с таблицей, в которой должны храниться данные. Фактически, на данный момент таблица позволяет мне вводить только одну запись (почему это происходит?)

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

Как заставить мою таблицу принимать несколько записей и как получить несколько записей под одним и тем же идентификатором?

Спасибо

2 ответа

Решение

Я чувствую, что ваше поле идентификатора установлено в индексированное (без дубликатов).

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

Я хотел бы иметь VisitID(индексированный без дублирования автоинкремент), а затем ClientID(индексированные дубликаты ОК)

Затем загрузите форму и установите ClientID, чтобы избежать проблемы ограничения ключа.

Затем перед вставкой значения в таблицу соберите количество предыдущих посещений и вставьте их вместе с введенными данными.

Обновить

SQL-запрос

strSQL = "INSERT INTO tblVisits (ClientID,NumberofVisits,DateEntered) VALUES(" &  YourClientIDHERE & "," &  YourNumberofVisists & ",#" Now() & "# );"
Docmd.RunSQL strSQL

Это вставит строку с ClientID,NumberofVisitsCurrently и датой / временем, когда запись была зафиксирована. Очевидно, вы можете изменить это, чтобы добавить дополнительные данные, необходимые для посещений.

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

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

Похоже, вам нужно иметь таблицу клиентов (с идентификатором) и таблицу посещений (которая также имеет идентификатор), которая указывает на клиента со столбцом client_id.

Другие вопросы по тегам