在特定时间启动和停止MS Access VBA代码

时间:2016-02-27 06:59:06

标签: ms-access access-vba

我有一些MS Access VBA代码,我正在使用IE导航代码。

现在我想创建另一个事件,以便我可以在特定时间后启动上面的VBA代码,然后在特定时间后停止代码。

下面列出了启动和停止代码,但它无法正常工作。

Private Sub Command13_Click()
Dim t1
Dim t2
Dim t3
For i = 1 To 10000
i = 1
t1 = Now()
t2 = "2/27/2016 11:55:35 AM"
t3 = DateDiff("n", [t1], [t2])
'run specefic vba code
If t3 < 5 Then
get23
If t3 > 10 Then Exit Sub
'stop specific vba code i.e get23
End If
Next
End Sub

1 个答案:

答案 0 :(得分:0)

你必须正确调暗:

Private Sub Command13_Click()

    Dim t1 As Date
    Dim t2 As Date
    Dim t3 As Long
    Dim i As Integer

    t2 = #2/27/2016 11:55:35 AM#

    For i = 1 To 10000
        t1 = Now()
        t3 = DateDiff("n", t1, t2)
        If t3 < 5 Then
            ' Run specific VBA code
            get23
        End If
        If t3 > 10 Then 
            ' Stop specific VBA code i.e. get23
            Exit Sub
        End If
    Next

End Sub

注意到,如果您在t2的5分钟内随时调用代码,它将只循环一次并在瞬间退出或循环10000次。

注意

对于代码的任何变体,问题都是,您的应用程序将在循环运行时锁定。这就是为什么你应该研究如前所述的表格的 Timer 属性的使用 - 虽然仍然会导致一些麻烦 - 会使应用程序响应。