根据身份证自动计算出生日期、年龄、性别的例子-蒋海兵
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 人事应用


根据身份证自动计算出生日期、年龄、性别的例子

发表时间:2008/3/6 11:09:14 评论(5) 浏览(31864)  评论 | 加入收藏 | 复制
   
摘 要:实现功能:

    A、根据身份证号码自动计算出生日期

    B、根据身份证号码自动计算年龄(周岁)

    C、自动判断身份证号码的位数是否正确。

    D、根据身份证号码自动判断性别。

正 文:

应爱在深秋的求助,现将关于如何通过身份证自动计算出生日期的代码发布如下:

1、新建一个窗体,添加身份证号码、出生日期、性别、年龄这四个文本框,名称设定为:sfz,csrq,xb,nl

2、在身份证号码控件的失去焦点事件中写下如下代码:

Private Sub sfz_LostFocus()
    Me.Refresh
    Me.csrq.Enabled = True
    Me.nl.Enabled = True
    If Len(sfz) = 15 Then
        Me.csrq.SetFocus
        Me.csrq = "19" & Mid(sfz, 7, 2) & "-" & Mid(sfz, 9, 2) & "-" & Mid(sfz, 11, 2)
        Me.nl.SetFocus
        Me.csrq.Enabled = False
        Me.nl = Int(DateDiff("d", csrq, date) / 365) & "周岁"
        Me.xb.SetFocus
        Me.nl.Enabled = False
        If Mid(sfz, 15, 1) Mod 2 = 0 Then
            Me.xb = "女"
        Else
            Me.xb = "男"
        End If
        Me.xl.SetFocus
        Me.xb.Enabled = False
        Exit Sub
    Else
        If Len(sfz) = 18 Then
            Me.csrq.SetFocus
            Me.csrq = Mid(sfz, 7, 4) & "-" & Mid(sfz, 11, 2) & "-" & Mid(sfz, 13, 2)
            Me.nl.SetFocus
            Me.csrq.Enabled = False
            Me.nl = Int(DateDiff("d", csrq, date) / 365) & "周岁"
            Me.xb.SetFocus
            Me.nl.Enabled = False
            If Mid(sfz, 17, 1) Mod 2 = 0 Then
                Me.xb = "女"
            Else
                Me.xb = "男"
            End If
            Me.xl.SetFocus
            Me.xb.Enabled = False
        Else
            MsgBox ("您输入的身份证号码有误,请重新核实!")
            Me.sfz.SetFocus
        End If
    End If
End Sub

3、实现功能:

    A、根据身份证号码自动计算出生日期

    B、根据身份证号码自动计算年龄(周岁)

    C、自动判断身份证号码的位数是否正确。

    D、根据身份证号码自动判断性别。


Access软件网交流QQ群(群号:198465573)
 
 相关文章
【access入门】三种方法控制输入15位与18位身份证号码的示例...  【麥田  2011/5/28】
[access查询]根据身份证号码进行生日提醒示例  【煮茶论道  2011/9/4】
身份证号码校验公式  【雄鹰  2011/9/5】
用excel筛选包含特定数据的方法,筛选身份证号码里面指定位数的数...  【欢乐小爪  2012/11/29】
身份证号的分栏显示  【蒋元根  2013/6/19】
常见问答
技术分类
相关资源
文章搜索
关于作者

蒋海兵

文章分类

文章存档

友情链接