将同一ID下的多个记录存储在同一个表中

时间:2014-05-27 15:35:20

标签: ms-access access-vba

我有一张桌子可以进行访问。每次客户访问时,都需要在相同的ID号下存储新记录,但需要更新访问号码和其他信息。

我已更新了访问号码,但我无法在同一ID下存储多个记录。它只是一直覆盖最初包含的记录。

访问表单链接到应保存数据的表。 事实上,目前该表只允许我输入一个记录总数(为什么会发生这种情况?)

目前的工作原理是用户输入他们希望为其添加新访问的客户的ID。 ID将被放入新表单(链接到访问表),他们可以相应地填写数据。

如何让我的表接受多条记录?如何在同一ID下获取多条记录?

谢谢

2 个答案:

答案 0 :(得分:2)

我感觉你的ID字段设置为Indexed(No Duplicates)。

这意味着当插入具有相同ID的值时,它将无法插入,因为它违反了键约束。

我会有一个VisitID(索引无重复自动增量),然后是ClientID(索引重复确认)

然后加载Form并改为设置ClientID以避免键约束问题。

然后,在将值插入表格之前,先收集先前访问次数并将其与输入的数据一起插入。

更新

SQL查询

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

这将插入一行,其中包含ClientID,NumberofVisitsCurrently以及提交条目的日期/时间。显然,您可以更改此选项以添加访问所需的其他数据。

如果您需要更多帮助,我认为您应该在问题中添加一些代码,以便我们能够更好地帮助您构建此代码

答案 1 :(得分:0)

您不能(或者更确切地说,不应该)在同一个ID下有多个记录,假设这是您唯一的密钥。 id列的要点是唯一标识记录。

听起来你需要有一个Clients表(带有id),以及一个Visits表(也有一个id),它指向带有client_id列的客户端。