尝试在链接到MS SQL Server 2000表的表单上添加记录时,MS Access ADP中出现以下错误:
运行时错误'31004':
(自动编号)字段的值 在被人之前无法复原 保存。
请保存包含的记录 之前的(自动编号)字段 执行此操作。 注意:检索实际上错误拼写错误。
有谁知道这意味着什么?
我已经完成了网络搜索,只能在专家可以访问的某个网站上找到答案。
答案 0 :(得分:2)
首先,如果您要查看专家交流 - 在FireFox中执行此操作,您将在页面底部看到未阻止的答案。
其次,您是否在该表单上使用主表单上的自动编号/密钥字段的子表单?在保存主表单之前,是否需要保存该子表单上的数据(即,拥有自己的密钥)。你可能陷入A和B的僵局,要求彼此先保存。
除此之外,您必须以某种方式访问该自动编号字段,当您保存它时。我能建议的最好是逐行逐步完成代码。
答案 1 :(得分:0)
您是否尝试在保存记录之前将Identity字段的值分配给变量或其他内容?
无论出于何种原因,您的应用都会尝试在保存记录之前读取标识字段的值,这就是生成该标识字段的原因。换句话说,在保存行之前,自动编号字段不存在任何值。
我认为我们需要查看更多代码或了解导致此错误的步骤,以便更详细地解决此问题。
答案 2 :(得分:0)
您应该添加一些代码行,以向我们展示您如何管理数据以及您正在做什么。但我怀疑与记录集更新有关的问题。你能确定何时创建自动编号值?是否可以在表单的控件中使用?您是否可以添加控件来显示此值以检查添加新记录时的生成方式?基础记录集是否已正确更新?你可以在某些形式的事件上添加像me.recordset.update这样的东西:我会试试OnCurrent的......