以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于字符转换日期(已解决) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=25798) |
-- 作者:yyzlxc -- 发布时间:2012/11/16 22:16:00 -- [求助]关于字符转换日期(已解决) 一段代码,跨表将8位字符转换为日期,由于zzrq列有空行,加了空值的判断代码还是出错,如何修改代码,请各位老师指教,谢谢!! For Each dr As DataRow In DataTables("名册").DataRows Dim pr As DataRow If dr.IsNull("编号") Then dr("终止日期") = Nothing Else pr = DataTables("XB").Find("[bh] = \'" & dr("编号") & "\'And [zzrq] Is Not Null") If pr IsNot Nothing Then dr("终止日期") = new Date(pr("zzrq").Substring(0,4),pr("zzrq").Substring(4,2),pr("zzrq").Substring(6,2)) Else dr("终止日期") = Nothing End If End If Next [此贴子已经被作者于2012-11-17 11:02:17编辑过]
|
-- 作者:明丰 -- 发布时间:2012/11/17 8:17:00 -- “zzrq”列输入的值长度必须是8位,下面的代码:
If pr IsNot Nothing Then
改为: If pr IsNot Nothing And pr("zzrq").length = 8 Then
试一下。 |
-- 作者:yyzlxc -- 发布时间:2012/11/17 11:02:00 -- 谢谢明丰和muhua两位老师的指教,代码调整后,问题解决。再次感谢两位老师的帮助。 For Each dr As DataRow In DataTables("名册").DataRows Dim pr As DataRow If dr.IsNull("编号") Then dr("终止日期") = Nothing Else pr = DataTables("XB").Find("[bh] = \'" & dr("编号") & "\'","zzrq Desc") If pr IsNot Nothing Then If pr("zzrq").length = 8 Then dr("终止日期") = new Date(pr("zzrq").Substring(0,4),pr("zzrq").Substring(4,2),pr("zzrq").Substring(6,2)) Else dr("终止日期") = Nothing End If Else dr("终止日期") = Nothing End If End If Next
|