Foxtable(狐表)用户栏目专家坐堂 → 求助狐狸爸爸,列表达式中如何计算年龄


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

主题:求助狐狸爸爸,列表达式中如何计算年龄

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/5 11:09:00 [显示全部帖子]

1、看看

 

http://www.foxtable.com/webhelp/scr/1445.htm

 

2、在表属性->DataColChanged事件,写代码

 

Select Case e.DataCol.Name
    Case "身份证号"
        If e.DataRow.IsNull("身份证号") Then  '身份证号码是否为空
            e.DataRow("出生日期") = Nothing  '如果为空,则清除出生日期
            e.DataRow("性别") = Nothing  '如果为空,则清除出生日期
            e.DataRow("年龄") = Nothing '如果为空,则清除年龄
        Else
            '否则从身份证号码列中提取出生日期
            e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号"))
            e.DataRow("性别") = ReadSex(e.DataRow("身份证号"))
            Dim d As Date = ReadBirthday(e.DataRow("身份证号"))
            Dim y As Integer = d.year
            If format(d, "MMdd") <= Format(Date.Today, "MMdd") Then
                e.DataRow("年龄") = Date.Today.Year - y
            Else
                e.DataRow("年龄") = Date.Today.Year - y -1
            End If
        End If
End Select


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/5 11:29:00 [显示全部帖子]

以下是引用w823087877在2019/3/5 11:25:00的发言:
我按照您提供的输入进去了,我不知道怎么触发啊。

 

方法一:输入身份证号码,可以计算;

 

如果你是填写出生年月的,需要修改代码。

 

方法二:重置列

 

图片点击可在新窗口打开查看

 

如果不会做,上传你的项目


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/5 12:20:00 [显示全部帖子]

你上传的压缩文件无法打开解压。请正确上传附件。

 

不然,请单独做一个对应的项目发上来测试。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/5 14:47:00 [显示全部帖子]

以下是引用w823087877在2019/3/5 14:23:00的发言:
成功了,谢谢大神了,但是我想知道这个不能通过列属性达到吗?然后这个是每次需要重置才能更新吗?

 

1、不能通过列属性达到;

 

2、你可以在afterOpenProject事件,也就是项目启动的时候重置列

 

http://www.foxtable.com/webhelp/scr/1587.htm

 


 回到顶部