运行时错误3021.'没有当前记录'!

时间:2016-05-07 06:35:27

标签: vba ms-access delete-row

我正在尝试制作用于删除行的按钮功能。

我的代码:

 CurrentDb.Execute " Delete * from tblAsset where AssetID = '" & Me.tblAssetsub.Form.Recordset.Fields(0) & "' "
   tblAssetsub.Form.Requery
       MsgBox "Data has been Deleted"
    Me.tblAssetsub.Requery

问题是,有时候,即使有所选数据,单击按钮也会出错。请帮帮我。

1 个答案:

答案 0 :(得分:2)

您可以使用RecordsetClone:

Dim rs As DAO.Recordset
Dim ThisID As String

With Me!tblAssetsub.Form
    Set rs = .RecordsetClone
    If rs.RecordCount > 0 Then
        ThisID = !AssetID.Value ' or what matches .Fields(0).
        While rs.EOF = False
            If rs!AssetID.Value = ThisID Then
                rs.Delete
            End If
            rs.MoveNext
        Wend
        MsgBox "Data has been deleted."
    End If
    Set rs = Nothing
End With  

不需要重新查询。