Foxtable(狐表)用户栏目专家坐堂 → 统计


  共有1782人关注过本帖树形打印复制链接

主题:统计

帅哥哟,离线,有人找我吗?
outcat
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:470 积分:3641 威望:0 精华:0 注册:2017/11/5 14:47:00
统计  发帖心情 Post By:2018/6/14 7:34:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

 

查找代码:

If Tables("时段报表_Table1").Current IsNot Nothing Then

    e.Form.Controls("Table1").Visible = True

   

    Dim Filter As String

    With e.Form.Controls("供应商")

        If .Value IsNot Nothing Then

            Filter = "供应商 = '" & .Value & "'"

        End If

    End With

   

    With e.Form.Controls("StartDate")

        If .Value IsNot Nothing Then

            If Filter >"" Then

                Filter = Filter & " And "

            End If

            Filter = Filter & "日期 >= #" & .Value & "#"

        End If

    End With

    With e.Form.Controls("EndDate")

        If .Value IsNot Nothing Then

            If Filter >"" Then

                Filter = Filter & " And "

            End If

            Filter = Filter & "日期 <= #" & .Value & "#"

        End If

    End With

    Tables("时段报表_Table1").Filter = Filter

End If

Tables("时段报表_Table1").Cols("总数量").GrandTotal = True

Tables("时段报表_Table1").Cols("总金额").GrandTotal = True

Tables("时段报表_Table1").GrandTotal = True


 


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

 

汇总代码

Dim Filter As String = "1=1"

Dim g As New CrossTableBuilder("统计表1",DataTables("采购总表"))

With e.Form.Controls("供应商")

    If .Value IsNot Nothing Then

        Filter = "供应商 = '" & .Value & "'"

    End If                     

End With

 

With e.Form.Controls("StartDate")

    If .Value IsNot Nothing Then

        If Filter >"" Then

            Filter = Filter & " And "

        End If

        Filter = Filter & "日期 >= #" & .Value & "#"

    End If

End With

With e.Form.Controls("EndDate")

    If .Value IsNot Nothing Then

        If Filter >"" Then

            Filter = Filter & " And "

        End If

        Filter = Filter & "日期 <= #" & .Value & "#"

    End If

End With

 

g.Filter = Filter

vars("filter") = Filter

Dim cg As fxDataSource

g.HGroups.AddDef("供应商")

g.VGroups.AddDef("日期",DateGroupEnum.Year, "{0}年")

g.VGroups.AddDef("日期", "{0}月")

g.Totals.AddDef("总数量","数量")

g.Totals.AddDef("总金额","金额")

g.Totals.AddDef("日期",AggregateEnum.Count,"单数")

g.HorizontalTotal = True

g.VerticalTotal = True

g.Build()

cg=g.BuildDataSource

Tables("时段报表_Table1").DataSource = cg

Tables("时段报表_Table1").Cols("供应商").Width = 120


 

当第一次查询的时候,我先点了 查找,先查出单据明细,然后再点 汇总,这个正确,然后我需要改变查询时间,需要先查出单据明细,然后在点 汇总,可是这是 点 查找 会出错,提示 “未找到 列【日期】”,我想 在第二次点查询的时候,自动关闭上一次汇总的界面,改变查询时间后,先查出明细,然后点 汇总了,再出来汇总数据


 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/14 8:56:00 [只看该作者]

查询代码,第一行,改成

 

Tables("时段报表_Table1").DataSource = DataTables("单据明细")


 回到顶部