Foxtable(狐表)用户栏目专家坐堂 → [求助]这段代码为什么我用会出错呢?


  共有3226人关注过本帖树形打印复制链接

主题:[求助]这段代码为什么我用会出错呢?

帅哥哟,离线,有人找我吗?
zhuzhi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4039 威望:0 精华:0 注册:2011/11/2 8:55:00
[求助]这段代码为什么我用会出错呢?  发帖心情 Post By: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

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

谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/29 20:06:00 [只看该作者]

 你要写到Datacolchanged事件里面去。

 回到顶部
帅哥哟,离线,有人找我吗?
zhuzhi
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4039 威望:0 精华:0 注册:2011/11/2 8:55:00
  发帖心情 Post By:2014/9/29 21:00:00 [只看该作者]

我一开始是放在那里面的,但就开始那样报错了……

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/9/29 21:01:00 [只看该作者]

 不可能报这个错,如果报这个错,就重启项目,再试。

 回到顶部
帅哥哟,离线,有人找我吗?
zhuzhi
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4039 威望:0 精华:0 注册:2011/11/2 8:55:00
  发帖心情 Post By:2014/9/30 10:12:00 [只看该作者]

呃,关闭这个项目后,干脆今早打不开了……显示Base-64 字符串中的无效字符……

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/9/30 10:13:00 [只看该作者]

联系客服800014337 看看是否能修复.  以后一定要做好备份.

而且请更新最新版本

 回到顶部
帅哥哟,离线,有人找我吗?
zhuzhi
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4039 威望:0 精华:0 注册:2011/11/2 8:55:00
  发帖心情 Post By:2014/9/30 12:53:00 [只看该作者]

甜老师,我重新安装了狐表,代码可以使用了。但是,我要如何消除出生日期后面那一串00:00:00的小尾巴呢?这个似乎是系统自带的默认时间?

 回到顶部
帅哥哟,离线,有人找我吗?
zhuzhi
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:476 积分:4039 威望:0 精华:0 注册:2011/11/2 8:55:00
  发帖心情 Post By:2014/9/30 12:59:00 [只看该作者]

此外就是,用帮助的代码算年龄,总是带小数点。比如我31岁,算出来是31.49岁。这该怎么处理才能去掉小数点呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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


 回到顶部