以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  当证件号码为其他时,“年龄”“性别”两列显示横杆  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=90311)

--  作者:约翰舒
--  发布时间:2016/9/9 13:18:00
--  当证件号码为其他时,“年龄”“性别”两列显示横杆

当证件号码不是身份证号码时,以下的代码怎么修改,可以显示为:当证件号码为其他时,“年龄”“性别”不再根据身份证号码来计算并显示了,只显示横杆


If e.DataCol.Name = "证件号码" Then

    If e.NewValue > "" Then

        e.DataRow("性别") = ReadSex(StrToNarrow(e.NewValue))

        If e.DataRow.IsNull("性别") = True Then

            e.DataRow("性别") = "-"

        End If

        Dim y,m,d As Integer

        DateYMD(ReadBirthDay(StrToNarrow(e.NewValue)),Date.Today,y,m,d)

        e.DataRow("年龄") = y

        If e.DataRow("年龄")  > 100 Then

            e.DataRow("年龄")  = "-"

        End If

    End If

End If


--  作者:狐狸爸爸
--  发布时间:2016/9/9 14:38:00
--  

加一个证件类型列。

 

If e.DataCol.Name = "证件号码"  Then
    If e.DataRow("证件类型") = "身份证" Then
        If e.NewValue > "" Then
           e.DataRow("性别") = ReadSex(StrToNarrow(e.NewValue))
           If e.DataRow.IsNull("性别") = True Then
                e.DataRow("性别") = "-"
            End If
            Dim y,m,d As Integer
            DateYMD(ReadBirthDay(StrToNarrow(e.NewValue)),Date.Today,y,m,d)
            e.DataRow("年龄") = y
            If e.DataRow("年龄")  > 100 Then
                e.DataRow("年龄")  = "-"
            End If
        End If
    Else
        e.DataRow("性别") = "--"
        e.DataRow("年龄") = "--"
    End If
End If
    
   

[此贴子已经被作者于2016/9/9 14:39:10编辑过]

--  作者:约翰舒
--  发布时间:2016/9/9 14:52:00
--  
谢谢