在 Access 数据库中的窗体上手动重新启动倒数计时器



我有以下代码可以自动注销访问用户。

大多数工作将在 5 分钟或更短的时间内完成,但我想在计数器下方添加一个手动重置按钮,如果需要,它将重新启动计时器。

如果需要,我想强制最终用户手动重新启动计时器。

Option Compare Database
Dim TimeCount As Long
Private Sub Form_Open(Cancel As Integer)
Me.TimerInterval = 1000
End Sub
Private Sub Form_Timer()
TimeCount = TimeCount + 1
Me.txtCounter.Value = 1200 - TimeCount
If TimeCount = 1201 Then
DoCmd.Quit acQuitSaveAll
End If
End Sub

如何完成此任务?

如果用户处于非活动状态,我有退出 Access 的代码。我知道这不是你要找的,但它可能会帮助你......如果没有,祝你好运!

创建一个名为DetectIdleTime的表单。在加载数据库并将"窗口模式"设置为"隐藏"的情况下将其打开。

在检测空闲时间属性中的 OnTimer 事件上...

子Form_Timer((

Const IDLEMINUTES = 5
Static PrevControlName As String
Static PrevFormName As String
Static ExpiredTime
Dim ActiveFormName As String
Dim ActiveControlName As String
Dim ExpiredMinutes
On Error Resume Next
ActiveFormName = Screen.ActiveForm.Name
If Err Then
ActiveFormName = "No Active Form"
Err = 0
End If
ActiveControlName = Screen.ActiveControl.Name
If Err Then
ActiveControlName = "No Active Control"
Err = 0
End If
If (PrevControlName = "") Or (PrevFormName = "") _
Or (ActiveFormName <> PrevFormName) _
Or (ActiveControlName <> PrevControlName) Then
PrevControlName = ActiveControlName
PrevFormName = ActiveFormName
ExpiredTime = 0
Else
ExpiredTime = ExpiredTime + Me.TimerInterval
End If
ExpiredMinutes = (ExpiredTime / 1000) / 60
If ExpiredMinutes >= IDLEMINUTES Then
ExpiredTime = 0
IdleTimeDetected ExpiredMinutes
End If
End Sub

将"检测空闲时间"窗体上的"计时器间隔"事件设置为 1000

现在,如果用户不移动鼠标,访问将关闭...

最新更新