以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 日期转年龄 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=151132) |
-- 作者:nxqtxwz -- 发布时间:2020/6/16 8:24:00 -- 日期转年龄 If e.DataCol.name = "学生姓名" Then If e.DataRow.isnull("学生姓名") e.DataRow("性别")= Nothing \' ……其它自己补充 e.DataRow("年龄")= Nothing e.DataRow("家长姓名")= Nothing e.DataRow("家庭住址")= Nothing e.DataRow("联系电话")= Nothing Else Dim dr As DataRow = DataTables("学生名单").Find("学生姓名 =\'" & e.DataRow("学生姓名") & "\'") If dr IsNot Nothing e.DataRow("性别")= dr("性别") \' e.DataRow("年龄")= dr("出生日期") 怎么能直接将出生日期转换成年龄呢? e.DataRow("家长姓名")= dr("家庭成员姓名") e.DataRow("家庭住址")= dr("家庭地址") e.DataRow("联系电话")= dr("联系电话") End If End If End If |
-- 作者:有点蓝 -- 发布时间:2020/6/16 8:49:00 -- 参考:http://www.foxtable.com/webhelp/topics/2647.htm |
-- 作者:nxqtxwz -- 发布时间:2020/6/16 9:06:00 -- 老师,出错了,请老师看看。
If e.DataCol.name = "学生姓名" Then |
-- 作者:有点蓝 -- 发布时间:2020/6/16 9:14:00 -- Dim tp As TimeSpan = Date.today - CDate(dr("出生日期")) |
-- 作者:nxqtxwz -- 发布时间:2020/6/16 9:45:00 -- 老师您好,日期格式不对:总表中是8位数出生日期,怎么转化成符合识别的格式呢。 Dim tp As TimeSpan = Date.today - CDate(dr("出生日期"))
.NET Framework 版本:4.0.30319.1026 |
-- 作者:有点蓝 -- 发布时间:2020/6/16 9:47:00 -- 建议日期数据都改为使用“日期时间”型的列,不然以后很多逻辑处理都非常麻烦的 |
-- 作者:nxqtxwz -- 发布时间:2020/6/16 9:56:00 -- 以下是引用有点蓝在2020/6/16 9:47:00的发言: 老师说的对,这个表是别人过去建的,出生日期是字符型的,但数据较多,现在改列的格式系统不支持。怎么能将20081201这种格式转换成2008-12-01这样呢?
建议日期数据都改为使用“日期时间”型的列,不然以后很多逻辑处理都非常麻烦的 |
-- 作者:有点蓝 -- 发布时间:2020/6/16 10:10:00 -- 建议多加一个日期列,datacolchanged事件 if e.datacol.name= "出生日期" andalso e.datarow.isnull("出生日期") = false then e.datarow("日期") = cdate(e.datarow("出生日期").insert(6,"-").insert(4,"-")) end if Dim tp As TimeSpan = Date.today - CDate(dr("出生日期").insert(6,"-").insert(4,"-"))
|