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

标签 ms-access ms-access-2007 vba

相关于this question ,如何检测表单用户正在添加记录?如果我在表单的“当前记录”变为"new"时就知道这一点(导航到最后一个现有记录之外,或单击"new"导航按钮),但在第一个数据开始时就知道,那就太理想了被输入几乎同样好。我猜这将在 Form_Current() 中测试某些东西,但是什么(或者有更好的方法)?

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

最佳答案

我想你想要:

Private Sub Form_Current()
    If Me.NewRecord Then

End Sub

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

关于ms-access - 使用 Access VBA 检测新记录并获取 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4403987/

相关文章:

vba - MS Access VBA acImport 工作表名称,带空格和范围

ms-access - Access : Fill in data (date) from another when entered and empty

excel - 用于排除列标题从 Access 2007 传输到 Excel 2007 的代码

ms-access - 捕获 Unicode 文本(西里尔文)并将其插入 MS Access 数据库

vba - Excel 2007 VBA 计算错误

vba - 突然出现几个VBA宏错误,大多数是32809

python - Python中sqlite数据输入的GUI界面

ms-access - Microsoft Access 中的 PDF 缩略图和预览

SQL 访问链接服务器

excel - 在 VBA 中跳过工作簿的第一个工作表