以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于身份证到期  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=130469)

--  作者:ygg8310
--  发布时间:2019/1/22 20:47:00
--  关于身份证到期
e.DataRow("有效天数") = 30
Select Case e.DataCol.Name
    Case "录档时间","有效天数"
        If e.DataRow.IsNull("读取身份证时间")   Or e.DataRow.IsNull("有效天数")    Then
            e.DataRow("有效期") = Nothing
        Else
            e.DataRow("有效期") = e.DataRow("读取身份证时间").AddDays(e.DataRow("有效天数"))
        End If
End Select
发现一个巨大的问题,只要将“读取身份证时间”进行任何改动或者新增,“有效天数”就会随之=“读取身份证时间”

--  作者:有点蓝
--  发布时间:2019/1/22 21:07:00
--  
去掉第一行代码:e.DataRow("有效天数") = 30
--  作者:ygg8310
--  发布时间:2019/1/23 22:07:00
--  
一个样,纯
Select Case e.DataCol.Name
    Case "录档时间","有效天数"
        If e.DataRow.IsNull("读取身份证时间")   Or e.DataRow.IsNull("有效天数")    Then
            e.DataRow("有效期") = Nothing
        Else
            e.DataRow("有效期") = e.DataRow("读取身份证时间").AddDays(e.DataRow("有效天数"))
        End If
End Select
也是一样,无解了

--  作者:有点甜
--  发布时间:2019/1/23 22:14:00
--  

参考代码,做个例子发上来测试


Select Case e.DataCol.Name
    Case "有效天数","读取身份证时间"
        If e.DataRow.IsNull("读取身份证时间") OrElse e.DataRow.IsNull("有效天数") Then
            e.DataRow("有效期") = Nothing
        Else
            e.DataRow("有效期") = e.DataRow("读取身份证时间").AddDays(e.DataRow("有效天数"))
        End If
End Select