You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Access 365计时器触发运行时错误5的原因及解决方法

Access计时器代码运行时错误5的原因及解决办法

错误原因

  1. 逻辑冗余且时序冲突:你在将TimerInterval设为0停止计时器后,额外添加了判断并重新设置为125的冗余代码。关键是执行DoCmd.OpenForm "TEST FORM"后,Access会切换到新表单的上下文,此时原表单的属性访问可能因状态变化触发无效调用,导致错误5。
  2. 代码逻辑违背需求:这段冗余代码完全不符合你“等待一段时间后打开测试表单”的初始目标,反而会在打开表单后立刻重启计时器,逻辑混乱。

解决办法

直接删除冗余的判断代码,保留核心逻辑即可。修正后的代码如下:

Option Compare Database

Private Sub Form_Timer()
    Me.TextTime.Value = Format(Time, "HH:mm:ss AM/PM")
    Static iCount As Integer
    iCount = iCount + 1
    
    If iCount = 60 Then
        Me.TimerInterval = 0 ' 停止计时器
        DoCmd.OpenForm "TEST FORM" ' 打开测试表单
        Exit Sub
    End If
End Sub

补充说明

如果你的实际需求是打开测试表单后仍需运行原表单的计时器,可调整逻辑:不要在打开表单前停止计时器,或者将重启计时器的代码移到打开表单之前,避免上下文切换导致的属性访问异常。但根据你的描述,核心需求是等待触发后打开表单,上述修正即可解决错误并实现功能。

内容的提问来源于stack exchange,提问作者Bob Dance

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 01:45:42