MS Access ADP Autonumber

时间:2008-09-12 19:36:43

标签: sql-server ms-access

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

  

运行时错误'31004':

     

(自动编号)字段的值   在被人之前无法复原   保存。

     

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

有谁知道这意味着什么?

我已经完成了网络搜索,只能在专家可以访问的某个网站上找到答案。

3 个答案:

答案 0 :(得分:2)

首先,如果您要查看专家交流 - 在FireFox中执行此操作,您将在页面底部看到未阻止的答案。

其次,您是否在该表单上使用主表单上的自动编号/密钥字段的子表单?在保存主表单之前,是否需要保存该子表单上的数据(即,拥有自己的密钥)。你可能陷入A和B的僵局,要求彼此先保存。

除此之外,您必须以某种方式访问​​该自动编号字段,当您保存它时。我能建议的最好是逐行逐步完成代码。

答案 1 :(得分:0)

您是否尝试在保存记录之前将Identity字段的值分配给变量或其他内容?

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

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

答案 2 :(得分:0)

您应该添加一些代码行,以向我们展示您如何管理数据以及您正在做什么。但我怀疑与记录集更新有关的问题。你能确定何时创建自动编号值?是否可以在表单的控件中使用?您是否可以添加控件来显示此值以检查添加新记录时的生成方式?基础记录集是否已正确更新?你可以在某些形式的事件上添加像me.recordset.update这样的东西:我会试试OnCurrent的......