以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何点击统计按钮后在筛选表的最后一行显示某些列的合计?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91952)

--  作者:Meiling
--  发布时间:2016/10/22 17:35:00
--  如何点击统计按钮后在筛选表的最后一行显示某些列的合计?
老师,您好,请问:如何点击统计按钮后在筛选表的最后一页最后一行显示某些列的汇总合计呢?【不需要每张表的表尾都显示合计。】


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


统计按钮的代码为:
Tables("报表查询结果_Table1").Cols("F5294").GrandTotal = True \'指定要合计的列
Tables("报表查询结果_Table1").Cols("F4415").GrandTotal = True
Tables("报表查询结果_Table1").Cols("F5300").GrandTotal = True \'指定要合计的列
Tables("报表查询结果_Table1").GrandTotal = True

--  作者:狐狸爸爸
--  发布时间:2016/10/23 15:44:00
--  
我居然没有看懂你得问题,你的代码没错,图片叶显示了合计结果啊。

图片点击可在新窗口打开查看

--  作者:Meiling
--  发布时间:2016/10/23 18:56:00
--  
不好意思哈,可能是我没有表述清楚,就是我设置了窗口的分页加载,现在的情况是:按下统计按钮,窗口表里的每一页页尾都可以显示合计结果,但是如果我只想要在窗口的最后一页页尾显示合计这一栏而已,不想该窗口的每一页页尾都显示合计结果,该怎么样进行呢?
--  作者:狐狸爸爸
--  发布时间:2016/10/24 7:27:00
--  
这样

分页加载数据的代码
if DataTables("表名").LoadPage =  DataTables("表名").TotalPages then
   汇总的代码
else
   Tables("表名").GrandTotal = false
end if

--  作者:Meiling
--  发布时间:2016/10/24 10:58:00
--  
老师,您好,可以帮我看看哪里写错了吗?统计按钮还是实现不了。

此主题相关图片如下:样式说明.jpg
按此在新窗口浏览图片


点击每日报表查询按钮出现相应以下窗口:


此主题相关图片如下:查询结果窗口显示.jpg
按此在新窗口浏览图片


测试例子:
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:用户缴退费系统(4).table



查询的按钮:

Forms("每日报表查询结果").Open

 

Dim filter1 As String = ""

 

With e.Form.Controls("TextBox1")

    If .Value IsNot Nothing Then

        filter1 = "[F4419] Like \'%" & .Value & "%\'"

    End If

End With

With e.Form.Controls("checkedcombobox1")

    If .Value IsNot Nothing Then

        If filter1 > "" Then

            filter1 = filter1 & " And "

        End If

        filter1 = filter1 & "[F6518]= \'" & .Value & "\'"

    End If

End With

With e.Form.Controls("datetimepicker1")

    If .Value IsNot Nothing Then

        If filter1 >"" Then

            filter1 = filter1 & " And "

        End If

        filter1 = filter1 & "[F4411] Like \'%" & .Value & "%\'"

 

    End If

End With

 

Dim t As Table = Forms("每日报表查询结果").Controls("Table1").Table

t.DataTable.LoadFilter = filter1

t.DataTable.LoadTop = 20

t.DataTable.LoadPage = 0

t.DataTable.load


统计按钮代码:

Dim filter1 As String = ""

Dim t As Table = Forms("每日报表查询结果").Controls("Table1").Table

t.DataTable.LoadFilter = filter1

t.DataTable.load

If t.DataTable.LoadPage = t.DataTable.TotalPages Then

   t.Cols("F5294").GrandTotal = True \'指定要合计的列

   t.Cols("F4415").GrandTotal = True

   t.Cols("F5300").GrandTotal = True \'指定要合计的列

   t.GrandTotal = True

Else

   t.GrandTotal = False

End If


--  作者:有点蓝
--  发布时间:2016/10/24 11:13:00
--  
Dim t As Table = Forms("每日报表查询结果").Controls("Table1").Table
If t.DataTable.LoadPage = t.DataTable.TotalPages - 1 Then
   t.Cols("F5294").GrandTotal = True \'指定要合计的列
   t.Cols("F4415").GrandTotal = True
   t.Cols("F5300").GrandTotal = True \'指定要合计的列
   t.GrandTotal = True
Else
   t.GrandTotal = False
End If



--  作者:Meiling
--  发布时间:2016/10/24 11:51:00
--  
老师,您好,目前所统计出来的还是每页的筛选数据合计,可以统计出来所有后台筛选数据的合计显示在窗口表里的最后一页的最后一行么?
--  作者:有点蓝
--  发布时间:2016/10/24 12:03:00
--  
GrandTotal 没有方法,增加几个文本框显示合计值,自己用sqlcompute计算吧:http://www.foxtable.com/webhelp/scr/2897.htm