以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=40405)

--  作者:zhangxl1964
--  发布时间:2013/9/18 10:19:00
--  代码
老师:下面的代码,在Access的数据库时可以运行结果准确,放在SQLserver数据库时,没有运行,请帮助修改错误。
If e.DataCol.Name="合同止期"
    Dim Num As String
    Dim MaxMonth As Date="1990-1-1"
    Num=e.DataRow("编号")
    Dim Flag As Integer=0
    For Each dr As DataRow In DataTables("合同记录").Select("编号=\'" & Num & "\'")
        If dr("登记月份")>e.DataRow("登记月份")
            e.DataRow("剩余天数")=Nothing
            Flag=1
        Else
            dr("剩余天数")=Nothing
        End If
    Next
    
    If Flag=0
        If(e.DataRow.IsNull("合同止期") Or e.DataRow("辞退日期")<> Nothing) Then
        e.DataRow("剩余天数")=Nothing
    Else
        Dim dt1 As Date=e.DataRow("合同止期")
        Dim dt2 As Date=Date.Today
        Dim Result As TimeSpan=dt1-dt2
        e.DataRow("剩余天数")=Result.Days
    End If
End If
End If

--  作者:Bin
--  发布时间:2013/9/18 10:23:00
--  
看起来没有任何道理, 你调试分析一下! 建议您用这个方法:
http://www.foxtable.com/help/topics/1485.htm
看看是哪里没有执行,哪里执行结果不正常.

--  作者:zhangxl1964
--  发布时间:2013/9/18 10:47:00
--  
嗯,找到了。


--  作者:程兴刚
--  发布时间:2013/9/18 10:55:00
--  

SQL语句日期时间值用\'\',定义变量时间值应该用##括起来吧?

    Dim MaxMonth As Date=#1990-1-1#

改为:

    Dim MaxMonth As Date=#1990-1-1#

 

还有,您这样写代码系统应该很累,建议发文件让大家大刀阔斧整改。