Хранить несколько записей под одним и тем же идентификатором в одной таблице
У меня есть стол для посещений. Каждый раз, когда клиент посещает его, ему необходимо сохранять новую запись под тем же идентификационным номером, но с обновленным номером посещения и другой информацией.
У меня обновляется номер посещения, но я не могу хранить несколько записей под одним и тем же идентификатором. Он просто переопределяет исходную запись.
Форма для посещения связана с таблицей, в которой должны храниться данные. Фактически, на данный момент таблица позволяет мне вводить только одну запись (почему это происходит?)
На данный момент это работает так: пользователь вводит идентификатор клиента, для которого он хочет добавить новое посещение. Идентификатор вставляется в новую форму (связана с таблицей посещений), и они могут заполнить данные соответствующим образом.
Как заставить мою таблицу принимать несколько записей и как получить несколько записей под одним и тем же идентификатором?
Спасибо
2 ответа
Я чувствую, что ваше поле идентификатора установлено в индексированное (без дубликатов).
Это означает, что при вставке значения с тем же идентификатором его не удастся вставить, поскольку оно нарушает ограничение ключа.
Я хотел бы иметь VisitID(индексированный без дублирования автоинкремент), а затем ClientID(индексированные дубликаты ОК)
Затем загрузите форму и установите ClientID, чтобы избежать проблемы ограничения ключа.
Затем перед вставкой значения в таблицу соберите количество предыдущих посещений и вставьте их вместе с введенными данными.
Обновить
SQL-запрос
strSQL = "INSERT INTO tblVisits (ClientID,NumberofVisits,DateEntered) VALUES(" & YourClientIDHERE & "," & YourNumberofVisists & ",#" Now() & "# );"
Docmd.RunSQL strSQL
Это вставит строку с ClientID,NumberofVisitsCurrently и датой / временем, когда запись была зафиксирована. Очевидно, вы можете изменить это, чтобы добавить дополнительные данные, необходимые для посещений.
Если вам нужна дополнительная помощь в этом, я думаю, что вы должны добавить код в свой вопрос, чтобы мы могли лучше помочь вам в создании этого
Вы не можете (или, скорее, не должны) иметь несколько записей под одним и тем же идентификатором, предполагая, что это ваш единственный ключ. Смысл столбца id заключается в уникальной идентификации записи.
Похоже, вам нужно иметь таблицу клиентов (с идентификатором) и таблицу посещений (которая также имеет идентификатор), которая указывает на клиента со столбцом client_id.