jak*_*ake 5 ms-access vba timer access-vba ms-access-2010
我的访问表单上有一点问题.
我有两种形式:
输入表单空闲一分钟后,我想关闭它并返回菜单表单.
这是我的代码不起作用.
Public ExpireTime As Date 'expiration time-date value
Sub ResetExpiration()
If ExpireTime <> 0 And ExpireTime > Now Then
Application.OnTime ExpireTime, "FormExpire", schedule:=False
End If
ExpireTime = Now + 1 / 1440#
Application.OnTime ExpireTime, "FormExpire", schedule:=True
End Sub
Run Code Online (Sandbox Code Playgroud)
我还在其中创建了一个宏.
Sub FormExpire()
Unload input-form
End Sub
Run Code Online (Sandbox Code Playgroud)
您需要将其设置form.Timer为 60000(即 1 分钟),然后使用 on OnTimerevent 来检查某些属性是否已更改。下面我很快写了一些东西来给你一个想法,但它并不完整,也没有经过测试。
Option Compare Database
Option Explicit
Dim isIdle As Boolean
Private Sub Form_LostFocus()
'you can use this event also
End Sub
Private Sub Form_Timer()
Dim ctlName As String, wasDirty As Boolean
If ctlName = vbNullString Then ctlName = Me.ActiveControl.Name
If Me.ActiveControl <> ctlName Then isIdle = False
If wasDirty <> Me.Dirty Then isIdle = False
'more checks....
If isIdle Then DoCmd.Close acForm, Me.Name
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5883 次 |
| 最近记录: |