我有一个关于通过VBA更新新记录的问题 . 第一 - 假设 . 我做了一个名为“assortment”的表单,它显示了一组记录和一个显示相关的enntory的sobreport . 我把按钮放在上面:“添加新记录” . 这将打开第二个表单“inventory_details”,用于输入和查看库存特定数据 . 该库存属于该特定分类类型 . 所以 - 我通过DoCmd.OpenForm将assortment_id传递给inventory_details表单,如:
DoCmd.OpenForm stFormName, , , , acFormAdd, , Me.assortment_id
“inventory_details”表单的数据源是一个查询,其中包含inventory_id连接到库存表的分类表 . 将OpenArgs传递的此ID添加到当前打开的新记录并刷新表单以显示相关分类数据的最佳方法是什么?我试图这样做:
Private Sub Form_Open(Cancel As Integer)
Dim assortmentId As Integer
If (Not IsNull(Me.OpenArgs)) Then
assortmentId = Me.OpenArgs()
Set rst = Me.Recordset
rst.Edit
rst.assortment_id_assortment = assortmentId
Me.Requery
End If
End Sub
但它给了我一个错误“3021”没有当前记录“......
1 回答
以下是一些建议,
. 确保定义变量rst
. 检查EOF条件以确保您的记录集包含行
. Why clone an MS-Access recordset?