删除子窗体中的行

时间:2011-01-25 16:56:48

标签: ms-access

我在Access 03中的表单中有一个子表单。我需要一个宏来删除子表单中的一行。我尝试了以下代码,但它只删除了表单中的字段。

Private Sub Command104_Click()    
On Error GoTo Err_cmdDeleteCustomer_Click

DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 6, , acMenuVer70

Exit_cmdDeleteCustomer_Click:
Exit Sub

Err_cmdDeleteCustomer_Click:
MsgBox Err.Description
Resume Exit_cmdDeleteCustomer_Click
End Sub

1 个答案:

答案 0 :(得分:1)

您正在使用向导代码。这是非常糟糕的,已经被弃用了一段时间。较新的版本是DoCmd.RunCommand。对于子窗体,从命令按钮运行一个小sql会更容易,例如:

 Dim db As Database
 Dim sSQL As String

 Set db = CurrentDB
 sSQL = "DELETE FROM MyTable WHERE ID =" & Me.MyNumericIDControlName
 db.Execute sSQL, dbFailOnError

 MsgBox "Deleted " & db.RecordsAffected