以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  身份证转出生日期列格式  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102996)

--  作者:大雪山
--  发布时间:2017/6/28 23:17:00
--  身份证转出生日期列格式

Select Case e.DataCol.Name
    Case "sfzh"
        If e.DataRow.IsNull("sfzh") Then  \'身份证号码是否为空
            e.DataRow("出生日期") = Nothing  \'如果为空,则清除出生日期
            e.DataRow("性别") = Nothing  \'如果为空,则清除出生日期
            e.DataRow("年龄") = Nothing \'如果为空,则清除年龄
        Else
            \'否则从身份证号码列中提取出生日期
            e.DataRow("出生日期") = ReadBirthday(e.DataRow("sfzh"))
            e.DataRow("性别") = ReadSex(e.DataRow("sfzh"))
            Dim y,m,d As Integer
            m=08
            d=31
            DateYMD(ReadBirthday(e.DataRow("sfzh")),Date.Today,y,m,d)
            e.DataRow("年龄") = y
        End If
    Case "出生日期"
        If e.DataRow.IsNull("出生日期") Then
            e.DataRow("年") = Nothing
            e.DataRow("月") = Nothing
            e.DataRow("日") = Nothing
        Else
            Dim str As String = cldate(e.NewValue)
            Dim ary() As String = str.Split(new Char() {"年", "月", "日"})
            e.DataRow("年") = ary(0)
            e.DataRow("月") = ary(1)
            e.DataRow("日") = ary(2)
        End If
End Select

 

 

 

 

身份证转出生日期 目前是1993-01-30 00:00:00,需输出结果是19930130格式

[此贴子已经被作者于2017/6/28 23:26:42编辑过]

--  作者:有点色
--  发布时间:2017/6/28 23:27:00
--  

1、列类型你要改成字符类型

 

2、代码改成 e.DataRow("出生日期") = Format(ReadBirthday(e.DataRow("sfzh")), "yyyyMMdd")


--  作者:大雪山
--  发布时间:2017/6/28 23:35:00
--  
 改好后,出这问题,什么原因?
 

图片点击可在新窗口打开查看此主题相关图片如下:(}$jkc)4j~taajr35~4)rn0.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/6/28 23:36:59编辑过]

--  作者:大雪山
--  发布时间:2017/6/29 0:10:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:年月日.table

出生日期公式没反应,问题出在什么地方,需改成19710917 盼解答


--  作者:有点蓝
--  发布时间:2017/6/29 8:51:00
--  
......

    Case "出生日期"
        If e.DataRow.IsNull("出生日期") Then
            e.DataRow("年") = Nothing
            e.DataRow("月") = Nothing
            e.DataRow("日") = Nothing
        Else
            Dim str As String = e.NewValue
            e.DataRow("年") = str.SubString(0,4)
            e.DataRow("月") = str.SubString(4,2)
            e.DataRow("日") = str.SubString(6)
        End If

......

--  作者:有点色
--  发布时间:2017/6/29 9:28:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:年月日.table


--  作者:peibaomin
--  发布时间:2017/6/29 19:01:00
--  

每次重启后 “年龄”、“性别”、“出生日期”字段怎么清空了


--  作者:有点色
--  发布时间:2017/6/29 20:55:00
--  
以下是引用peibaomin在2017/6/29 19:01:00的发言:

每次重启后 “年龄”、“性别”、“出生日期”字段怎么清空了

 

改成数据列

 

http://www.foxtable.com/webhelp/scr/2494.htm

 

http://www.foxtable.com/webhelp/scr/1380.htm