通过另一个窗体上的子窗体从表中删除记录

时间:2019-04-15 09:33:04

标签: ms-access access-vba ms-access-2013

我有一个称为Serch表单的表单,其中包含一个名为projects_subform的子表单,该子表单链接到一个名为Projects的表。

现在,我想从子窗体中删除一条记录,这实际上将从表中删除同一条记录。请在我的代码下面找到删除操作。

https://i.stack.imgur.com/0j699.jpg

2 个答案:

答案 0 :(得分:1)

您可以使用 RecordsetClone

Private Sub cmdDelete_Click() 

    Dim rs As DAO.Recordset

    Msg = "You are about to delete this record." 
    Style = vbOKCancel + vbQuestion + vbDefaultButton2 
    Title = "Continue?" 

    Response = MsgBox(Msg, Style, Title) 
    If Response = vbOK Then
        Set rs = Me.Projects_subform.Form.RecordsetClone    
        rs.FindFirst "Bookmark = Me.Projects_subform.Form.Bookmark
        rs.Delete
    Else 
        MsgBox "No record deleted", vbOKOnly, "No changes made" 
    End If 

End Sub

答案 1 :(得分:0)

如果记录源(基础表或查询)的类型为Dynaset,并且“允许删除”属性为“是”,则可以通过选择记录并单击键盘上的Delete键来删除表单上的记录({{3} }。

或者,您也可以选择一条记录,然后在应用程序顶部的“主页”菜单栏中单击“删除”(Form Properties)。