当试图在链接到MS SQL Server 2000表的表单上添加记录时,我在MS Access ADP中得到以下错误:
运行时错误“31004”:
无法在保存之前检索(AutoNumber)字段的值。
在执行此操作之前,请保存包含(AutoNumber)字段的记录。注意:检索到的错误实际上拼写错误。
有人知道这意味着什么吗?
我做了一个网络搜索,只能在一个只有专家才能访问的网站上找到答案。
发布于 2008-09-15 14:53:17
首先,如果您要查看专家--用FireFox进行交换--您将在页面底部看到未阻塞的答案。
第二,在该表单上是否有一个子表单,使用主窗体上的autonumber/key字段?在保存主窗体之前,是否需要保存该子窗体上的数据(即有自己的键)。您可能陷入A和B的死锁,需要先保存对方。
除此之外,当您保存自动编号字段时,您必须以某种方式访问它。我能建议的最好是逐行遍历代码。
发布于 2008-09-12 21:31:40
在保存记录之前,您是否试图将标识字段的值赋值给变量或其他东西?
无论出于什么原因,您的应用程序都试图在保存记录之前读取标识字段的值,这就是生成标识字段的原因。换句话说,在保存行之前,Autonumber字段不存在值。
我认为我们需要看到更多的代码,或者更多地了解导致这一错误的步骤,以便更详细地解决它。
发布于 2008-09-16 21:30:14
您应该添加一些代码来向我们展示您是如何管理您的数据的,以及您正在做什么。但我怀疑一个与记录集更新相关的问题。您能识别自动编号值是什么时候创建的吗?它在窗体上的控件中可用吗?您是否可以添加一个控件来显示此值,以检查添加新记录时如何生成该值?基础记录集是否正确更新?您能在一些表单事件上添加类似me.recordset.update的内容吗?我会尝试OnCurrent事件.
https://stackoverflow.com/questions/59809
复制相似问题