vba访问中时间格式为(00:00:00)的倒计时计时器



我正在创建Access数据库,它需要使用计时器倒计时自动关闭数据库。例如,如果我给出5分钟,那么它应该开始倒计时显示这个时间格式00:04:59

我在网上找到了一些技巧,但没能把这些技巧组合成一个作品。

下面的工作非常完美。但在输出中,我只能看到分秒0:00。如何添加小时代码(格式为00:00:00(?我试图增加小时数,但它不起作用

Public Loops As Integer
Private Sub Form_Load()
Me.TimerInterval = 1000
Form_Timer
End Sub
Private Sub Form_Timer()
Static StartTime As Date
Dim SecondsToCount As Integer
SecondsToCount = 15 'Set this variable to the total number of seconds to 
count down
If Loops = 0 Then StartTime = Time
Min = (SecondsToCount - DateDiff("s", StartTime, Time))  60
Sec = (SecondsToCount - DateDiff("s", StartTime, Time)) Mod 60
Me.TimeLeft.Caption = "Form will close in " & Min & ":" & Format(Sec,"00")
Loops = Loops + 1
If Me.TimeLeft.Caption = "Form will close in 0:00" Then
DoCmd.Close acForm, Me.Name
End If
End Sub

使用文本框进行显示,Timer可获得更好的分辨率,TimerInterval为100可获得更接近的匹配。

表单的完整模块代码:

Option Compare Database
Option Explicit
Private WatchTime           As Date
Private Sub Form_Load()
' Specify count down time.
Const CountDownSeconds  As Long = 15
WatchTime = DateAdd("s", CountDownSeconds, Now)
Me!txtCount.Value = WatchTime

Me.TimerInterval = 100
End Sub
Private Sub Form_Timer()
Const SecondsPerDay     As Long = 86400

Dim TimeLeft            As Date

TimeLeft = CDate(WatchTime - Date - Timer / SecondsPerDay)
Me!txtCount.Value = TimeLeft

If TimeLeft <= 0 Then
Me.TimerInterval = 0
MsgBox "Time ran out!", vbExclamation, "Exit"
DoCmd.Close acForm, Me.Name
End If
End Sub

最新更新