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

MS Access时间计算结果不显示,出现Run-time Error '13'类型不匹配

MS Access时间计算类型不匹配错误解决办法

核心问题分析

报错Run-time Error '13': Type Mismatch的直接原因是**Me.nM03EI为NULL**,Access中NULL值参与算术运算会触发类型不匹配,而Excel会自动将NULL视为0处理,这是两者的核心差异。

具体修复步骤

  1. 处理NULL值
    在计算前用Nz()函数将Me.nM03EI的NULL替换为默认时间(比如当天0点),避免空值干扰运算:

    Dim expectedStartTime As Date
    expectedStartTime = Nz(Me.nM03EI, Date) ' 将NULL替换为当天00:00:00
    
  2. 统一数据类型计算
    Access中时间/日期类型运算需明确转换,避免隐式类型冲突。假设原Excel逻辑公式为(TotalLines / (ExpectedLinesPerHour * HoursInDay)) + ExpectedTimeIn,转换为Access VBA代码:

    Dim totalLines As Integer
    Dim linesPerHour As Double
    Dim hoursInDay As Integer
    Dim calculatedTime As Date
    
    totalLines = Me.nM03TL
    linesPerHour = 6.1
    hoursInDay = 24
    
    ' 先计算耗时(小时),再转换为时间间隔加到起始时间上
    calculatedTime = expectedStartTime + (totalLines / (linesPerHour * hoursInDay))
    Me.目标结果控件名 = calculatedTime ' 替换为你要显示结果的控件名称
    
  3. 验证控件数据类型
    确保显示结果的控件数据类型设置为“时间/日期”,若为文本类型也会导致类型不匹配。

额外优化点

  • 若只需显示时间部分,可用Format()函数格式化输出:
    Me.目标结果控件名 = Format(calculatedTime, "HH:MM")
    
  • 若Me.nM03EI的NULL是合法未录入状态,可先做判断提示:
    If IsNull(Me.nM03EI) Then
        Me.目标结果控件名 = "请先录入预期开始时间"
        Exit Sub
    End If
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 01:39:53