关于sql server:MS Access ADP自动编号

关于sql server:MS Access ADP自动编号

MS Access ADP Autonumber

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

Run-time error '31004':

The value of an (AutoNumber) field
cannot be retrived prior to being
saved.

Please save the record that contains
the (AutoNumber) field prior to
performing this action.
note: retrieved is actually spelled wrong in the error.

有人知道这意味着什么吗?

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


首先,如果您要查看Experts-exchange-在FireFox中进行操作,您将在页面底部看到不受阻碍的答案。

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

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


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


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

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

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


推荐阅读