以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助,利用身份证号码自动提取出生年月日,及计算年龄。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=105454) |
-- 作者:菜鸟的梦 -- 发布时间:2017/8/19 20:44:00 -- 求助,利用身份证号码自动提取出生年月日,及计算年龄。 还有希望身份证号码是数质型,但设置了数质型,就不能设置18位数,利用身份证号码自动提取出生年月日,及计算年龄。 ![]() ![]() |
-- 作者:zstk7333 -- 发布时间:2017/8/20 0:50:00 -- 有一个ReadBirthday()的参数,可以直读取身份证的出生日期 |
-- 作者:HJG_HB950207 -- 发布时间:2017/8/20 9:11:00 -- 【员工资料】表属性 Datacolchanged If e.DataCol.Name = "身份证" Then If e.DataRow.IsNull("身份证") Then \' e.DataRow("出生日期") = Nothing \' e.DataRow("性别") = Nothing Else If ValidPIN(e.DataRow("身份证")) Then e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证" )) e.DataRow("性别") = ReadSex(e.DataRow("身份证" )) Else e.Cancel = True \'取 MessageBox.show("身份证号码错!","系统提示",MessageBoxButtons.OK, MessageBoxIcon.Information) End If End If End If 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 |
-- 作者:有点甜 -- 发布时间:2017/8/20 13:04:00 -- DataColChanged事件
Select Case e.DataCol.Name |
-- 作者:菜鸟的梦 -- 发布时间:2017/8/20 21:47:00 -- 千言万语只有两字。谢谢! |
-- 作者:菜鸟的梦 -- 发布时间:2017/8/20 21:49:00 -- 千言万语只有两字。谢谢帮助消化! |
-- 作者:菜鸟的梦 -- 发布时间:2017/8/21 23:49:00 -- 求助 老师,用了你的代码,每次打开,年龄和出生日期没有记录呢? 这个性别都有显示,年龄和出生日期没有显示,我删除了数据,重新编辑也是这样, 我看了很久,没明白, ![]() ![]() |
-- 作者:有点蓝 -- 发布时间:2017/8/22 8:50:00 -- 年龄和出生日期不要用表达式列,改为数据列。 另外身份证号不能使用数值列,有些身份证最后一位是字母的 |
-- 作者:有点甜 -- 发布时间:2017/8/22 10:35:00 -- http://www.foxtable.com/webhelp/scr/1380.htm
|
-- 作者:菜鸟的梦 -- 发布时间:2017/8/22 15:22:00 -- 谢谢老师,一眼看出问题在哪儿。 谢谢老师,一眼看出问题在哪儿。就是不能用表达式。 |