我在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
答案 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