2016-12-14 30 views
0

我使用VBA和Microsoft Access创建会员登录程序。所以我让用户输入他们的信息,然后一切都插入到我的数据库表中。在我这样做后,我想要显示一些带有一些信息的表单给用户。但是,我只想让它保持15秒钟然后关闭。有没有办法做到这一点?VBA:如何将表单打开一段时间

这是我尝试过的一个片段。基本上我打开窗体,然后设置一个计时器来关闭窗体。当我这样做时,表单实际上从未实际显示给用户。有什么理由呢?它确实显示我是否删除最后一行中的关闭。

Private Sub Form_Load() 

    [Forms]![SwipeServiceDatesHidden].Requery 

    currentTime = Now() 
    setTime = currentTime + TimeValue("00:00:10") 
    Do While currentTime < setTime 
     currentTime = Now() 
    Loop 

    DoCmd.Close acForm, "SwipeServiceDatesHidden", acSaveNo 

    End Sub 
+0

我已经在过去做的方式是用'application.ontime时刻设定,“subToCloseForm”',而不是一个循环。 – ballsy26

+0

不确定关于Access,但对于Excel,我可以通过'Application.OnTime'自动卸载UserForm来调用卸载UserForm的普通模块中的Sub。 – PatricK

+0

'Close'行在哪里? –

回答

1

把所有的意见之前一起

Private Sub Form_Load() 

    setTime = Now + TimeValue("00:00:10")  

    Application.OnTime setTime, "subToCloseForm" 

End Sub 

Sub subToCloseForm 

    DoCmd.Close 

End Sub 
+0

可用'Application.OnTime'不连接提供VBA –

+0

并没有意识到这一点。 https://www.experts-exchange.com/questions/27034755/Application-OnTime-in-Access.html这看起来像'application.ontime'的替代方案 – ballsy26