Forms 使用wscript.shell制作的MsgBox赢得';在这种情况下,不能自动关闭

Forms 使用wscript.shell制作的MsgBox赢得';在这种情况下,不能自动关闭,forms,ms-access,vba,Forms,Ms Access,Vba,我正在用ms access编写一个.mdb文件,里面有一个表单 我制作了一个子程序来显示msgbox,它会在几秒钟后自动关闭 Sub TimedMsgBox(Message As String) CreateObject("wscript.shell").PopUp _ Message & vbCrLf & vbCrLf & _ "This message self-closes in 2 seconds...", 2, "Message

我正在用ms access编写一个.mdb文件,里面有一个表单

我制作了一个子程序来显示msgbox,它会在几秒钟后自动关闭

Sub TimedMsgBox(Message As String)

CreateObject("wscript.shell").PopUp _
        Message & vbCrLf & vbCrLf & _
        "This message self-closes in 2 seconds...", 2, "Message"

End Sub
当msgbox弹出时,我等待,它会自动关闭,但是,如果我将焦点更改为其他应用程序,如firefox,则消息只会等待我的注意,并且在选定的秒数后没有关闭。(即:它不计算秒数。)当我将焦点更改回它时,它将计算秒数,然后退出


如何使它在几秒钟后自动消失,无论我在做什么?

如果可能的话,我的建议是创建一个表单而不是msgbox。然后,您可以使用窗体上的
On Timer
事件在一段时间后自动关闭

在我的数据库中,我有一个由用户加载的主窗体,但当该窗体打开时,我也会打开一个隐藏的“ExitForm”。此退出窗体有一个计时器事件,它在夜间某个时间关闭数据库


你也可以做类似的事情

您可以添加一个4096参数,使其成为系统模式。您认为为什么需要这样做?我的猜测是,这应该在Access内部完成,而不是求助于外部UI。