多年来,我在 Access 方面做得不多,但我已经完成了一些支持工作来提供帮助。数据库是 Access 2003 的数据库,在 2010 上以兼容模式运行(但行为与 2003 相同),数据位于 SQL Server 2005 后端。
我们有一个基于查询的单一表单(即不是主/子表单),连接 2 个表 - 这是一个简单的组织来解决。理论上是多对一,但实际上是一对一。我什至不确定这是否/如何工作,但总的来说是这样。
如果您创建一个新记录(表单有一个按钮,但如果您使用内置的新记录按钮,它会很高兴地从 tblAddress 表上的自动编号生成一个新的地址 ID,并填充组织中的 org_addr_code 列桌子。但是,如果您随后尝试创建第二条新记录,则会引发错误
The Microsoft Access database engine cannot find a record in the table tblAddress with key matching field(s) 'ORG_ADDR_CODE'
如果我将记录直接破解到基础查询的数据表视图中,那么它可以让我添加任意数量的记录。
如果我在插入第一条记录后退出表单,然后返回,我可以添加另一条记录就好了。仅当您尝试以相同的“会话”形式多次执行此操作时。我已经尝试了我能想到的刷新/重新查询的所有变体,但没有任何乐趣。
有人有什么想法吗?我宁愿不必重写整个表格——如果是这样,他们只需要坚持一次添加一条记录。
卡尔