繁体   English   中英

保存后,MS Access FE / SQL BE需要在表单上填充自动编号

[英]MS Access FE / SQL BE Need AutoNumber to populate on form after saving

因此,我有一个带有SQL BE的Access 2007 FE。 我正在使用绑定表来添加新记录或更新现有记录。

我的问题是:与本地Access表不同,使用SQL表会导致自动编号字段(“ SeqID”)直到保存记录后才可用。 我在表单上有一个“保存”按钮,它对新记录执行各种验证步骤,然后在成功验证后将新记录添加到表中。 到那时,我可以在代码中获取该记录的自动编号,但是问题是我无法获取表格来在SeqID字段中进行更新/显示。 因为它是绑定形式,所以我不能简单地更新SeqID.Value。 我需要更新此字段,因为稍后将其用于其他用途,例如更改字段的审核跟踪等。

任何帮助将不胜感激。

在这些线路上尝试一些操作。 这个对我有用:

Private Sub AText_AfterUpdate()
   Me.Dirty = False
   Me.Recalc
End Sub

如果实验可行,则只需将步骤与代码流程相适应即可。

当使用SharePoint或SQL Server或实际上大多数基于服务器的数据库时,只有在记录保存时间后才会生成自动编号ID。 使用表单+子表单,Access总是会在焦点移到子表单上时自动保存记录,因此将子记录附加到这些父表单+记录上没有问题。

对于绑定形式,获取自动编号ID的唯一方法是强制保存记录。 简单的代码是这样的:

If isnull(me!ID) = true then
    ' we don't have a record primary key yet, save record
   Me.Dirty = false
End if

此时,您可以使用PK自动编号

MsgBox "pk = " & me!id

因此,简单的me.Dirty = false将保存记录,并将强制生成ID和随后的代码,然后可以随意使用+随意获取PK自动编号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM