以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]这段代码为什么我用会出错呢?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=57715)

--  作者:zhuzhi
--  发布时间:2014/9/29 20:05:00
--  [求助]这段代码为什么我用会出错呢?
帮助里的代码:
Select Case e.DataCol.name 
    Case "出生日期"
        If e.DataRow.IsNull("出生日期") Then
            e.DataRow("年龄") = Nothing
        Else
            Dim tp As TimeSpan = Date.today - CDate(e.DataRow("出生日期"))
            e.DataRow("年龄") = Math.Round(tp.TotalDays / 365.2422,2)
        End If
End Select
我执行命令后出现

图片点击可在新窗口打开查看此主题相关图片如下:出错.jpg
图片点击可在新窗口打开查看

同样出现这个错误的还有:
If e.DataCol.Name = "身份证号" Then \'是身份证号码发生变化吗?
    If e.DataRow.IsNull("身份证号"Then \'身份证号码是否为空
        e.
DataRow("出生日期") = Nothing \'如果为空,则清除出生日期
    
Else
    
    \'否则从身份证号码列中提取出生日期
        e.
DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号"))
    End
 If
End
 
If

请问我究竟哪里出错了呢。

谢谢!

--  作者:有点甜
--  发布时间:2014/9/29 20:06:00
--  
 你要写到Datacolchanged事件里面去。
--  作者:zhuzhi
--  发布时间:2014/9/29 21:00:00
--  
我一开始是放在那里面的,但就开始那样报错了……
--  作者:有点甜
--  发布时间:2014/9/29 21:01:00
--  
 不可能报这个错,如果报这个错,就重启项目,再试。
--  作者:zhuzhi
--  发布时间:2014/9/30 10:12:00
--  
呃,关闭这个项目后,干脆今早打不开了……显示Base-64 字符串中的无效字符……
--  作者:Bin
--  发布时间:2014/9/30 10:13:00
--  
联系客服800014337 看看是否能修复.  以后一定要做好备份.

而且请更新最新版本

--  作者:zhuzhi
--  发布时间:2014/9/30 12:53:00
--  
甜老师,我重新安装了狐表,代码可以使用了。但是,我要如何消除出生日期后面那一串00:00:00的小尾巴呢?这个似乎是系统自带的默认时间?
--  作者:zhuzhi
--  发布时间:2014/9/30 12:59:00
--  
此外就是,用帮助的代码算年龄,总是带小数点。比如我31岁,算出来是31.49岁。这该怎么处理才能去掉小数点呢?
--  作者:有点甜
--  发布时间:2014/9/30 14:10:00
--  
以下是引用zhuzhi在2014-9-30 12:53:00的发言:
甜老师,我重新安装了狐表,代码可以使用了。但是,我要如何消除出生日期后面那一串00:00:00的小尾巴呢?这个似乎是系统自带的默认时间?

 

把日期列设置成Date,在列属性那里设置

 

http://www.foxtable.com/help/topics/0044.htm

 


--  作者:有点甜
--  发布时间:2014/9/30 14:11:00
--  
以下是引用zhuzhi在2014-9-30 12:59:00的发言:
此外就是,用帮助的代码算年龄,总是带小数点。比如我31岁,算出来是31.49岁。这该怎么处理才能去掉小数点呢?

 

这句代码改一下

 

e.DataRow("年龄") = Math.Round(tp.TotalDays / 365.2422,2)

 

改成

 

e.DataRow("年龄") = tp.TotalDays \\ 365.2422