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

问题描述 投票:0回答:2

我有一个名为Search form的表单,其中包含一个名为projects子表单的子表单,子表单链接到一个名为Projects的表。

现在我想从子表单中删除一条记录,该记录实际上会从表中删除相同的记录。请在下面找到我的删除操作代码。

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

ms-access access-vba ms-access-2013
2个回答
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

0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.