以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  excel报表?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=145312)

--  作者:有点蓝
--  发布时间:2020/1/16 8:36:00
--  
[%max(日期列)]
--  作者:有点蓝
--  发布时间:2020/1/31 20:35:00
--  
报表事件不是这样用的,看这个:http://www.foxtable.com/webhelp/topics/1956.htm,如果看不懂就上传实例
--  作者:有点蓝
--  发布时间:2020/2/1 10:16:00
--  
连接不到数据库,无法测试,请改为内部表再发上来。或者新建一个项目,导入报表对应的出差表发上来
--  作者:有点蓝
--  发布时间:2020/2/1 14:13:00
--  
试了一下,最大日期只能在<FooterRow>处理,无法在HeaderRow做
--  作者:有点蓝
--  发布时间:2020/3/15 22:28:00
--  
报表事件:

AfterBuild事件
vars("填报日期1") = new Date()

BuildPageHeader事件
Select Case e.Book.TempLate
    Case "差旅费报销单"
        e.Book.Marks("pg") = e.Book.Marks("pg") + 1
        e.Book.Marks("页码") = "第" & e.Book.Marks("pg") & "页"
        Dim dr As DataRow
        If vars("填报日期1") = Nothing
            dr= DataTables("登记出差").Find("[出差起日期]>=#2018-12-31# and [出差起日期]<=#2019-12-31# and 报销方式_车或差 = \'差旅\'","出差起日期",2)
        Else
            dr= DataTables("登记出差").Find("[出差起日期]>#" & vars("填报日期1") & "# And [出差起日期]<=#2019-12-31# And 报销方式_车或差 = \'差旅\'" ,"出差起日期",2)
        End If
        If  dr IsNot Nothing Then
            e.Book.Marks("填报日期1")= dr("出差起日期") 
        Else
            If vars("填报日期1") = Nothing
                dr= DataTables("登记出差").Find("[出差起日期]>=#2018-12-31# and [出差起日期]<=#2019-12-31# and 报销方式_车或差 = \'差旅\'","出差起日期",1)
            Else
                dr= DataTables("登记出差").Find("[出差起日期]>#" & vars("填报日期1") & "# And [出差起日期]<=#2019-12-31# And 报销方式_车或差 = \'差旅\'" ,"出差起日期",1)
            End If
            If  dr IsNot Nothing Then
                e.Book.Marks("填报日期1")= dr("出差起日期") 
            Else
                If vars("填报日期1") = Nothing
                    dr= DataTables("登记出差").Find("[出差起日期]>=#2018-12-31# and [出差起日期]<=#2019-12-31# and 报销方式_车或差 = \'差旅\'","出差起日期",0)
                Else
                    dr= DataTables("登记出差").Find("[出差起日期]>#" & vars("填报日期1") & "# And [出差起日期]<=#2019-12-31# And 报销方式_车或差 = \'差旅\'" ,"出差起日期",0)
                End If
                If  dr IsNot Nothing Then
                    e.Book.Marks("填报日期1")= dr("出差起日期") 
                End If
            End If
        End If
End Select

BuildPageFooter事件
Select Case e.Book.TempLate
    Case "差旅费报销单"
        e.Book.Marks("填报日期2") = e.PageRows(e.PageRows.count -1)("出差起日期")  \'" & [%max(出差起日期)] & "
        vars("填报日期1") = e.PageRows(e.PageRows.count -1)("出差起日期")
        e.Book.Marks("报账人")= user.name
End Select