[英]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.