Sql server MS访问ADP自动编号

Sql server MS访问ADP自动编号,sql-server,ms-access,Sql Server,Ms Access,尝试在链接到MS SQL Server 2000表的窗体上添加记录时,MS Access ADP中出现以下错误: 运行时错误“31004”: (自动编号)字段的值 在被删除之前无法检索 拯救 请保存包含的记录 之前的(自动编号)字段 执行此操作。 注意:retrieved实际上在错误中拼写错误 有人知道这是什么意思吗 我做了一次网络搜索,只能在某个只有专家才能访问的网站上找到答案。在保存记录之前,您是否试图将标识字段的值分配给变量或其他对象 无论出于何种原因,您的应用程序都试图在保存记录之前读取

尝试在链接到MS SQL Server 2000表的窗体上添加记录时,MS Access ADP中出现以下错误:

运行时错误“31004”:

(自动编号)字段的值 在被删除之前无法检索 拯救

请保存包含的记录 之前的(自动编号)字段 执行此操作。 注意:retrieved实际上在错误中拼写错误

有人知道这是什么意思吗


我做了一次网络搜索,只能在某个只有专家才能访问的网站上找到答案。

在保存记录之前,您是否试图将标识字段的值分配给变量或其他对象

无论出于何种原因,您的应用程序都试图在保存记录之前读取标识字段的值,这就是生成标识字段的原因。换句话说,在保存行之前,“自动编号”字段不存在任何值


我认为我们需要查看更多代码或了解更多导致此错误的步骤,才能更详细地解决此问题。

首先,如果您要查看experts exchange-在FireFox中执行,您将在页面底部看到未阻止的答案

其次,该表单上是否有使用主表单上的“自动编号/关键字”字段的子表单?在保存主窗体之前,是否需要保存该子窗体上的数据(即具有自己的密钥)。您可能会陷入a和B的死锁,需要先保存彼此


除此之外,在保存自动编号字段时,您必须以某种方式访问该字段。我所能建议的最好方法是逐行检查代码。

您应该添加一些代码行,向我们展示您是如何管理数据的,以及您到底在做什么。但我怀疑有一个问题与记录集更新有关。您能否确定何时创建自动编号值?它在窗体上的控件中可用吗?是否可以添加一个控件来显示此值,以检查在添加新记录时如何生成该值?基础记录集是否已正确更新?你能在一些表单事件上添加类似me.recordset.update的内容吗:我会尝试一下OnCurrent事件