使用Access VBA检测新记录并获取ID

时间:2010-12-09 23:00:28

标签: ms-access vba ms-access-2007 access-vba

this question相关,如何检测表单用户是否正在添加记录?如果表格的“当前记录”变为“新记录”(导航超出最后的现有记录,或点击“新”导航按钮),我就会知道这一点,但只要第一条数据开始就知道进入将几乎一样好。我猜这会在Form_Current()中测试某些,但是有什么(或者有更好的方法)?

进一步相关,我最早能找到新记录的(自动编号)ID是什么?这需要保存,不是吗?它会自动填充到表单的记录集中吗? (我知道这是代码驱动的保存.AddNew ... .Update的情况。)我要求的原因是开始填充子表后面的子表(数据是这样的我可以自动创建一个用户可以确认或修改的“默认”数据集。

1 个答案:

答案 0 :(得分:3)

我想你想要:

Private Sub Form_Current()
    If Me.NewRecord Then

End Sub

在保存记录之前,自动编号不应与子表一起使用,否则您将(应该)遇到完整性问题。当子窗体获得焦点时,主表的自动编号将被保存。不要忘记,您可以使用链接子项链接,在子表单上链接主域。