以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  给你一个身份证号码怎么样计算出他的出生日期和年龄  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46385)

--  作者:xiaofengfeng
--  发布时间:2014/2/22 8:36:00
--  给你一个身份证号码怎么样计算出他的出生日期和年龄
求解
--  作者:Bin
--  发布时间:2014/2/22 9:03:00
--  
http://www.foxtable.com/help/topics/1345.htm
--  作者:xiaofengfeng
--  发布时间:2014/2/22 9:11:00
--  
具体在哪写呢
--  作者:Bin
--  发布时间:2014/2/22 9:16:00
--  
在哪里写,取决于你的需求.  这个没人有办法告诉你.
你要点击按钮就提示,就写在按钮里,把返回的值用messagebox.show弹出
你要在单元格输入,就自动填充其他单元格,就写在DataColChanged事件里,把返回的值赋给同行其他列.


必须要你先了解Foxtable先才可以哦.

新手建议先看一下我们的帮助
打开软件按F1或者点击左上角的小问号,可以打开非常详细的图文帮助



--  作者:狐狸爸爸
--  发布时间:2014/2/22 9:17:00
--  

2楼告诉你怎么根据身份证提取出生日期,根据出生日期计算年龄参考:

 

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

 


--  作者:xiaofengfeng
--  发布时间:2014/2/22 9:26:00
--  

狐爸  怎么根据身份证提取出生日期


--  作者:Bin
--  发布时间:2014/2/22 9:29:00
--  
..... 2楼不是告诉你了吗?
--  作者:xiaofengfeng
--  发布时间:2014/2/22 9:29:00
--  

具体代码是怎么样的


--  作者:Bin
--  发布时间:2014/2/22 9:30:00
--  
2楼里面就有说啊.你点进去看就看到了. 点击对应的连接就会有代码例子.
--  作者:狐狸爸爸
--  发布时间:2014/2/22 9:32:00
--  

复制帮助的计算代码,根据二楼的内容,稍作调整
 
Select Case e.DataCol.name
    Case "身份证号码"
        If e.DataRow.IsNull("身份证号码") Then
            e.DataRow("年龄") = Nothing
        Else
            Dim tp As TimeSpan = Date.today - ReadBirthDay(e.DataRow("身份证号码"))
            e.DataRow("年龄") = Math.Round(tp.TotalDays / 365.2422,2)
        End If
End Select

 

代码写在DataColChanged事件。

[此贴子已经被作者于2014-2-22 9:33:37编辑过]