【问题标题】:MS access function vba, macro [closed]MS访问函数vba,宏[关闭]
【发布时间】:2016-05-03 16:46:08
【问题描述】:

我在 MS Access 中进行报告时遇到了一个小问题。我在 vba 中编写了一个函数,并为 RunCode(函数)创建了一个宏。所以当我执行宏时,它会运行函数并给我一个消息框。见图片..



我对此进行了研究并尝试了 SetWarning OFF,但它不断弹出。我该如何摆脱它?

【问题讨论】:

  • 函数是否包含MsgBox 语句?
  • @FatBoySlim7 如果您想要一个比发布代码更好的答案。
  • 所以当你在即时窗口中调用该函数时,它不会显示消息框。那是对的吗?如果是,请检查您的宏在何处包含消息框“操作”。
  • @FatBoySlim7 任何人都会做的就是猜测发生了什么。如果我们看不到它,很难确定您为什么会得到它,因此最终由您决定是什么导致消息框出现。抱歉,我今天把水晶球忘在家里了。
  • 握住电话,伙计!在第一条评论中,我询问该函数是否包含MsgBox 语句,您说不。 msgbox err.number MsgBox 声明。你抱怨自己受到了严厉的对待,真是不诚实。您获得的帮助质量与您提供的信息质量成正比。不幸的是,在这种情况下,它太像“垃圾进;垃圾出”。

标签: vba ms-access macros


【解决方案1】:

为了将来参考,一个典型的“完整”错误处理结构看起来例如:像这样:

Sub MySub() 

On Error GoTo MySub_Err

    ' Stuff


MySub_Exit:
    On Error Resume Next
    ' ... Stuff that always needs to run on exit can go here ...

    ' !! This is the important part that prevents the function 
    ' !! from always running into the error handler:
    Exit Sub

MySub_Err:
    MsgBox Err.Description, vbExclamation, "Runtime Error " & Err.Number & " in MySub"
    Resume MySub_Exit

End Sub

MZ-Tools 可以自动创建此结构(但可自定义)。

【讨论】:

    【解决方案2】:

    error_handler:

    错误处理程序: msgbox err.number & "-" & err.description

    这给了我一个错误。

    我没有正确执行我的 error_handler: (error_handler:)。我的函数完成后,它会遇到 error_handler:msgbox err.number & " - " err.description 并给我消息框 - 说 "0 -" 因为没有错误。我将其注释掉,一切似乎都正常。感谢@HansUp 和其他所有人的帮助。

    【讨论】:

    • 别担心,你不会因为一些反对票而被屏蔽。
    • 自从我开始使用此帐户以来 - 我有 2 个问题,每个问题 2 个反对票,还有一个问题 2 个反对票,但我删除了它。所以总共有6票反对。顺便说一句,我被阻止了 - 或者 stackoverflow 喜欢说“我已经达到了我的问题限制”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 2014-05-12
    • 2019-04-03
    相关资源
    最近更新 更多