以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助,为什么只有生成翟景明的考核表时会提示这个啊?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69348)

--  作者:34772849
--  发布时间:2015/6/3 14:26:00
--  求助,为什么只有生成翟景明的考核表时会提示这个啊?
提示如图所示, 
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
代码如下:

[此贴子已经被作者于2015/6/3 14:52:35编辑过]

--  作者:Bin
--  发布时间:2015/6/3 14:30:00
--  
代码太长,不好判断.

你应该先调试一下出错在哪里

建议您用这个方法:
http://www.foxtable.com/help/topics/1485.htm

先找出是哪一行出错,然后分析原因,搞不定,可以在论坛发帖,贴出代码,并告诉我们运行到哪一行出错,以及错误提示。

--  作者:大红袍
--  发布时间:2015/6/3 14:46:00
--  
 上传可以测试的代码。
--  作者:34772849
--  发布时间:2015/6/3 14:48:00
--  经检验,此段代码提示错误

For Each ary As String() In arys

        str &= format(cDate(ary(1)), "HH:mm") & "-" & format(cDate(ary(2)), "HH:mm") & ary(0) & ";"

 Next


红色部分应如何修改?

[此贴子已经被作者于2015/6/3 14:51:51编辑过]

--  作者:大红袍
--  发布时间:2015/6/3 14:57:00
--  

str &= format(cDate(ary(1)), "HH:mm") & "-" & format(cDate(ary(2)), "HH:mm") & ary(0) & ";"

 

改成

 

Dim d1, d2, d3 As Date
\'Date.TryParse(ary(0),d1)
Date.TryParse(ary(1),d2)
Date.TryParse(ary(2),d3)
str &= format(d2, "HH:mm") & "-" & format(d3, "HH:mm") & ary(0) & ";"


--  作者:34772849
--  发布时间:2015/6/3 15:16:00
--  
这段代码只有在生成“翟景明”的考核表时才会提示转换错误,在生成别人的考核表时是正确的,是代码错误吗?
--  作者:大红袍
--  发布时间:2015/6/3 15:27:00
--  

 当 ary(1) ary(2) 是空值的时候,字符串就不能转成日期。

 

 你那两列,最好改成日期列,那代码就不会出错。


--  作者:34772849
--  发布时间:2015/6/3 15:44:00
--  
那两列都是日期列
--  作者:Bin
--  发布时间:2015/6/3 15:46:00
--  
用5楼代码
--  作者:34772849
--  发布时间:2015/6/3 15:47:00
--  
谢谢,发现有一个是空值。