Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > 人事应用

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

时 间:2008-03-06 11:09:14
作 者:Michael jiang   ID:104  城市:杭州
摘 要:实现功能:

    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群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助