以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  日期表达式报错,请帮忙。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=22643)

--  作者:SZDVYE
--  发布时间:2012/8/20 10:16:00
--  日期表达式报错,请帮忙。

老师:

日期表达式报错,请帮忙。

在表属性AfterEdit中报错,我的意思是如果项目列改动时,日期列若为空,日期列等于当天日期,若不为空,等于原来的日期。

 

If e.Col.Name = "项目" Then
    If e.Row.IsNull("日期") Then
        e.Row("日期") = " " & Date.Now
    Else
        e.Row("日期") = ""
    End If
End If

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20120820100815.jpg
图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2012/8/20 10:18:00
--  
If e.Col.Name = "项目" Then
    If e.Row.IsNull("日期") Then
        e.Row("日期") =  Date.Now
    Else
        e.Row("日期") = Nothing
    End If
End If

--  作者:czy
--  发布时间:2012/8/20 10:22:00
--  
If e.Col.Name = "项目" Then
    If e.Row.IsNull("项目") Then
        e.Row("日期") = Nothing
    Else
        If e.Row.IsNull("日期") Then
            e.Row("日期") = Date.Now
        End If
    End If
End If

--  作者:SZDVYE
--  发布时间:2012/8/21 10:14:00
--  
If e.Col.Name = "项目" Then
    If e.Row.IsNull("日期") Then
        e.Row("日期") =  Date.Now
    Else
        e.Row("日期") = Nothing
    End If
End If
If e.Col.Name = "项目" Then
    If e.Row.IsNull("日期") Then
        e.Row("日期") =  Date.Now
    Else
        e.Row("日期") = Nothing
    End If
End If

 

e.Row("日期") = Nothing  标示日期栏为空

e.Row("日期") = Date.Now  标示日期栏为今天的日期

我还需要:如果项目栏改动了或者又改成为空了,且日期栏已经有日期(不为空),日期栏还是显示为原来的日期。请问如何表达?



--  作者:狐狸爸爸
--  发布时间:2012/8/21 10:21:00
--  

设置在DataColChanged事件:

 

If e.DataCol.Name = "项目" Then
     If e.DataRow.IsNull("日期") Then
           e.DataRow("日期") = Date.Now
     End If
End If


--  作者:SZDVYE
--  发布时间:2012/8/21 12:19:00
--  
问题解决了,非常感谢!