我在一个连续的子表格上有一个按钮,下面的VBA附在下面-
Private Sub del_Click()
On Error GoTo del_Click_Err
Dim LResponse As Integer
On Error Resume Next
DoCmd.GoToControl Screen.PreviousControl.Name
Err.Clear
If (Not Form.NewRecord) Then
LResponse = Eval("MsgBox('You are about to delete a record.'" & _
"'@If you click yes, you won't be able to undo this delete operation.' & Chr(13) & Chr(10) & " & _
"'Are you sure you want to delete this record?@@', 276, 'Are you sure?')")
If LResponse = vbYes Then
DoCmd.SetWarnings False
DoCmd.OpenQuery "qry_DeleteSpecific"
DoCmd.RunCommand acCmdDeleteRecord
DoCmd.SetWarnings True
Else
End If
End If
If (Form.NewRecord And Not Form.Dirty) Then
Beep
End If
If (Form.NewRecord And Form.Dirty) Then
DoCmd.RunCommand acCmdUndo
End If
If (MacroError <> 0) Then
Beep
MsgBox MacroError.Description, vbOKOnly, ""
End If
del_Click_Exit:
DoCmd.SetWarnings True
Exit Sub
del_Click_Err:
MsgBox Error$
Resume del_Click_Exit
End Sub该按钮最初是自动生成的“删除记录”按钮,此后我对其进行了修改,以包括查询激活以及我自己的msgBox。
“删除”按钮在修改前显然运行良好。该查询也按预期工作,我在一个单独的表单上测试了一个按钮,它只包含了MsgBox代码,这也有效。
但这一切都以某种方式失败了。单击该按钮时,不会得到MsgBox,它也不会删除记录或运行查询。
DoCmd.GoToControl Screen.PreviousControl.Name不过,这一行似乎已经正确地启动了。
有人能解释一下这是怎么回事吗?
--编辑--
已替换
Error Clear使用
On Error GoTo del_Click_Err我现在收到了错误信息-
您输入的表达式包含无效语法。
发布于 2016-09-28 13:02:11
结果都在引号上。引号问题对我来说仍然是个谜,但我设法使我的代码正常工作。
这是零钱-
LResponse = Eval("MsgBox(""You are about to delete a record."" & " & _
"""@If you click yes, you won't be able to undo this delete operation."" & Chr(13) & Chr(10) & " & _
"""Are you sure you want to delete this record?@@"", 276, ""Are you sure?"")")单引号在仅仅是msgBox代码时似乎有效,但在扩展代码中却不起作用。不管怎么说,我会知道怎么再注意这件事。
@Andre您的评论帮助我调试了这个。我最初留下了“错误清除”,因为这就是向导为删除按钮所放的内容。
https://stackoverflow.com/questions/39747301
复制相似问题