以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  自动刷新  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=123754)

--  作者:ayiken
--  发布时间:2018/8/22 13:10:00
--  自动刷新
Select Case e.DataCol.Name
    Case "公民身份号码"
        If e.DataRow.IsNull("公民身份号码") Then  \'身份证号码是否为空
            e.DataRow("出生日期") = Nothing  \'如果为空,则清除出生日期
            e.DataRow("性别") = Nothing  \'如果为空,则清除出生日期
            e.DataRow("年龄") = Nothing \'如果为空,则清除年龄
        Else
            \'否则从身份证号码列中提取出生日期
            e.DataRow("出生日期") = ReadBirthday(e.DataRow("公民身份号码"))
            e.DataRow("性别") = ReadSex(e.DataRow("公民身份号码"))
            Dim d As Date = ReadBirthday(e.DataRow("公民身份号码"))
            Dim y As Integer = d.year
            If format(d, "MMdd") <= Format(Date.Today, "MMdd") Then
                e.DataRow("年龄") = Date.Today.Year - y
            Else
                e.DataRow("年龄") = Date.Today.Year - y -1
            End If
        End If
End Select

老师好,表格中已经输入身份证号,以上代码添加了以后,能否自动刷新所有行的方法?

--  作者:fzhyw
--  发布时间:2018/8/22 13:40:00
--  
想刷新所有行,看样子得遍历所有行去执行上述代码。
另外,Select case语句只有一个case 项是不能遍历所有行的,应该改成for each ... next 这种的吧!
不敢当老师,只想能帮到你!

--  作者:有点蓝
--  发布时间:2018/8/22 13:47:00
--  
新录入的可以自动刷新。旧数据选中"公民身份号码"列,重置列保存即可:http://www.foxtable.com/webhelp/scr/1469.htm