以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  年龄自动变更  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124112)

--  作者:ayiken
--  发布时间:2018/8/30 21:35:00
--  年龄自动变更
表的DataColChanged 事件中写了如下代码
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

我想打开窗口时自动变更当前日期的年龄,请问老师,代码怎么写?写到那个事件里?

--  作者:有点甜
--  发布时间:2018/8/30 21:45:00
--  

在需要的地方,执行这个代码

 

DataTables("员工").DataCols("公民身份号码").RaiseDataColChanged()