以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]版主来帮忙  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=131253)

--  作者:奶粉大王
--  发布时间:2019/2/21 11:22:00
--  [求助]版主来帮忙
Dim 修改字段 As String ="字段1|字段2|字段3"
Dim 修改字段集() As String
Dim 窗口名 As String = "窗口名称"
dim _UserName ="用户名"
\'getdate() 为服务器时间函数

修改字段集= 修改字段.split("|")
Dim i As Integer
For i = 0 To 修改字段集.length-1
    If Tables(窗口名 & "_Table1").current(修改字段集(i)) <> e.Form.Controls(修改字段集(i)).text  And Tables(窗口名 & "_Table1").current(修改字段集(i))<>"" Then
        Tables(窗口名 & "_Table1").current("变更记录") = Tables(窗口名 & "_Table1").current("变更记录") & vbcrlf & "【" & _UserName & "】于【" & getdate() & "】" & "修改" & (修改字段集(i))  & ": " & Tables(窗口名 & "_Table1").current(修改字段集(i))  & " 为 " & e.Form.Controls(修改字段集(i)).text
        Tables(窗口名 & "_Table1").current(修改字段集(i)) = e.Form.Controls(修改字段集(i)).text
    End If
Next


上面这段目前只适用字符类文本框,对应数字及时间类不能通用,怎么修改下以匹配?

[此贴子已经被作者于2019/2/21 11:47:11编辑过]

--  作者:有点蓝
--  发布时间:2019/2/21 11:50:00
--  
For i = 0 To 修改字段集.length-1
    If Tables(窗口名 & "_Table1").current(修改字段集(i)) <> e.Form.Controls(修改字段集(i)).value And Tables(窗口名 & "_Table1").current.isnull(修改字段集(i)) = false Then
        Tables(窗口名 & "_Table1").current("变更记录") = Tables(窗口名 & "_Table1").current("变更记录") & vbcrlf & "【" & _UserName & "】于【" & getdate() & "】" & "修改" & (修改字段集(i))  & ": " & Tables(窗口名 & "_Table1").current(修改字段集(i))  & " 为 " & e.Form.Controls(修改字段集(i)).value
        Tables(窗口名 & "_Table1").current(修改字段集(i)) = e.Form.Controls(修改字段集(i)).value
    End If
Next

--  作者:奶粉大王
--  发布时间:2019/2/21 13:33:00
--  
当 有值改为空值时 条件漏了。

怎么判断日期控件的空值

--  作者:有点蓝
--  发布时间:2019/2/21 13:56:00
--  
比如:
if e.Form.Controls(修改字段集(i)).value = nothing