以文本方式查看主题

-  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=105975)

--  作者:hrw68529
--  发布时间:2017/8/30 10:24:00
--  [求助]从身份证号三提取出生年月日代码
如何从身份证号中提取出生时间或年龄?请教,谢谢
--  作者:有点甜
--  发布时间:2017/8/30 10:42:00
--  

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


--  作者:hrw68529
--  发布时间:2017/8/30 11:14:00
--  
谢谢


--  作者:samat007
--  发布时间:2018/1/31 1:04:00
--  
这个代码插入到哪里啊
--  作者:有点甜
--  发布时间:2018/1/31 8:46:00
--  
以下是引用samat007在2018/1/31 1:04:00的发言:
这个代码插入到哪里啊

 

表属性->datacolchanged事件

 

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

 


--  作者:naddy001
--  发布时间:2018/3/3 8:24:00
--  
学习了
--  作者:schhq
--  发布时间:2021/5/22 22:14:00
--  
请问下,根据以上程序自动计算出年龄,并保存数据。如果一年之后年龄增长一岁,之前录入的年龄数据会自动随之变化,也增加一岁吗?谢谢!
--  作者:cnsjroom
--  发布时间:2021/5/22 22:20:00
--  回复:(schhq)请问下,根据以上程序自动计算出年龄,...
是的 因为Date.Today.Year这个是当前时间年  所以不管你什么时候  只要你重置列或者重新输入身份证号都可以获得最新的年龄