注册 登录
编程论坛 VB6论坛

运行实时错误13

thechange 发布于 2017-08-02 16:19, 1398 次点击
代码:   
    Dim a As String
    Dim b As String
    Dim temp1 As Date
    Dim temp2 As Date
    a = Val(Text8.Text)
    b = Val(Text13.Text)
    temp1 = FormatDateTime(Mid(a, 1, 4) & "/" & Mid(a, 5, 2) & "/" & Mid(a, 7, 2))
    temp2 = FormatDateTime(Mid(b, 1, 4) & "/" & Mid(b, 5, 2) & "/" & Mid(b, 7, 2))
    Text3.Text = Val(temp2 - temp1) + Val("1")

大意是 计算两个时间间隔的时间
a的格式是20170701
b的格式是20170802
计算两个日期间隔的时间并显示到text3中

可是,本机测试没有一点问题,生成exe运行也正常。
可是换到别的电脑上,就出错了。 实时错误13 类型不匹配

备注:操作流程及方法完全一样。
手工定义过 a、b的值 即 a=val("20170701") b=val("20170802") 也同样报错, 请问如何解决呢? 如成功解决可加本人qq 2423623851 赏5元红包
2 回复
#2
yangfrancis2017-08-02 19:29
Text3.Text = Str(Val(temp2 - temp1) + Val("1"))
#3
ZHRXJR2017-08-03 01:02
  “大意是 计算两个时间间隔的时间”,你的这个时间是月份差?日子差?
    temp1 = FormatDateTime(Mid(a, 1, 4) & "/" & Mid(a, 5, 2) & "/" & Mid(a, 7, 2))
    temp2 = FormatDateTime(Mid(b, 1, 4) & "/" & Mid(b, 5, 2) & "/" & Mid(b, 7, 2))
 
  如果是日子差,可以这样:  Text3.Text = DateDiff("d",temp1,temp2)
  如果是月份差,可以这样: Text3.Text = DateDiff("m",temp1,temp2)
  DateDiff()函数是求二个日期或时间的间隔的函数,具体参数你可以百度一下。
1