通过vba新记录更新,目前以表格形式打开

时间:2014-06-27 14:37:03

标签: forms vba ms-access recordset

我有一个关于通过VBA更新新记录的问题。 第一 - 假设。 我创建了一个名为" assortment"的表单,它显示了一组记录和一个显示相关的enntory的sobreport。我已将按钮放在上面:"添加新记录"。这将打开第二个表单" inventory_details"用于输入和查看库存特定数据。该库存属于该特定分类类型。所以 - 我已经通过DoCmd.OpenForm将assortment_id传递给inventory_details表单,如:

    DoCmd.OpenForm stFormName, , , , acFormAdd, , Me.assortment_id

" inventory_details"的数据来源form是一个查询,其中包含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 个答案:

答案 0 :(得分:0)

以下是一些建议,

。确保定义变量rst

。检查EOF条件以确保您的记录集包含行

If rst.EOF Then
    MsgBox "The Recordset is empty."
End If

Why clone an MS-Access recordset?