以文本方式查看主题

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

--  作者:hlxz
--  发布时间:2009/5/30 17:29:00
--  [分享]身份证性别拼音案例-边学边做
-边学边做---
小爪-身份证性别拼音案例

主要功能:根据姓名和身份证号码会自动刷新
性别
出生日期
中文日期
姓名拼音
状态栏介绍

很感谢mr725的提示:

 
我已经修改好重新上传


1.保存时提示错误 原来是黄蓉的出生0023年不对 我改1823 年 系统就不提示错误了

2.正如mr725说的: 出生日期是字符型,改为日期型 就可以了

3.添加了农历中文的就用字符型,如果要数字的日期 请改为日期时间型
同样代码改为:
 Dim ln As New Lunar(e.DataRow("出生日期"))
             e.DataRow("农历")= ln.Lunardate  就可以了


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小爪-身份证性别拼音案例.rar



源码:
Select Case e.DataCol.Name
    Case "姓名"
        If e.DataRow.IsNull("姓名") Then 
            e.DataRow("拼音")= nothing
        else
            e.DataRow("拼音")= getpy(e.DataRow("姓名"))
        End If
    Case "身份证号"
        If e.DataRow.IsNull("身份证号") Then \'身份证号码是否为空
            e.DataRow("出生日期") = Nothing \'如果为空,则清除出生日期
            e.DataRow("中文日期")=nothing
            e.DataRow("性别") = Nothing
            e.DataRow("农历")=nothing
        Else
            e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号"))
            e.DataRow("中文日期")=CUdate(e.DataRow("出生日期"))
            e.DataRow("性别")=ReadSex(e.DataRow("身份证号"))
            Dim ln As New Lunar(e.DataRow("出生日期"))
             e.DataRow("农历")= CUdate(ln.Lunardate)
        End If
End Select



select case maintable.name
case "身份证"
StatusBar.Message1= "本表的案例是1根据姓名生成拼音2根据身份证生成性别和出生日期和中文日期"
case else
StatusBar.Message1= ""
end select

[此贴子已经被作者于2009-5-31 14:36:24编辑过]

--  作者:yangming
--  发布时间:2009/5/30 17:35:00
--  
先谢谢楼主!顶一下......
--  作者:kylin
--  发布时间:2009/5/30 17:52:00
--  
鼓励一下
谢谢
--  作者:ylm
--  发布时间:2009/5/30 19:23:00
--  

呵呵,鼓励!试了一下,出身日期不对嘛。


--  作者:mr725
--  发布时间:2009/5/30 19:37:00
--  
日期为双数时出错~  2008-05-11 显示为 2008-05-1    日空了一位数~   且重新修改部分后不能更新! 有时提示错误。

难怪,你的出生日期是字符型,改为日期型 不会有问题
[此贴子已经被作者于2009-5-30 19:56:57编辑过]

--  作者:狐狸爸爸
--  发布时间:2009/5/31 8:26:00
--  
谢谢楼主的分享。
--  作者:hlxz
--  发布时间:2009/5/31 10:42:00
--  
以下是引用mr725在2009-5-30 19:37:00的发言:

 

图片点击可在新窗口打开查看谢谢 !已经修改


--  作者:太空地球
--  发布时间:2009/5/31 12:33:00
--  
楼上的。如果我想把出生日期转换为农历日期,如何操作啊???
--  作者:八婺
--  发布时间:2009/5/31 12:40:00
--  
以下是引用太空地球在2009-5-31 12:33:00的发言:
楼上的。如果我想把出生日期转换为农历日期,如何操作啊???

Dim d As New Lunar(Date.Today())\'你的公历生日
Output.Show(d.LunarDate)\'返回所在公历日期对应的农历日期


--  作者:太空地球
--  发布时间:2009/5/31 12:45:00
--  

在表中加一列,农历日期,表属性里面的语句如何改啊??不是太明白,刚学。

Select Case e.DataCol.Name
    Case "姓名"
        If e.DataRow.IsNull("姓名") Then 
            e.DataRow("拼音")= nothing
        else
            e.DataRow("拼音")= getpy(e.DataRow("姓名"))
        End If
    Case "身份证号"
        If e.DataRow.IsNull("身份证号") Then \'身份证号码是否为空
            e.DataRow("出生日期") = Nothing \'如果为空,则清除出生日期
            e.DataRow("中文日期")=nothing
            e.DataRow("性别") = Nothing
        Else
            e.DataRow("出生日期") = ReadBirthday(e.DataRow("身份证号"))
            e.DataRow("中文日期")=CUdate(e.DataRow("出生日期"))
            e.DataRow("性别")=ReadSex(e.DataRow("身份证号"))
        End If
End Select