以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  统计表问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=55706)

--  作者:utcxray
--  发布时间:2014/8/21 17:52:00
--  统计表问题
Dim b As New SQLCrossTableBuilder("统计表3","采购明细")
b.HGroups.AddDef("供应商") \'添加客户列用于水平分组
b.VGroups.AddDef("账期","{0}月") \'添加日期列用于垂直分组
b.Totals.AddExp("付款","数量*单价-iif([付款] is null, 0, [付款])","未付款_值")\'添加表达式列:未付款用于统计\'添加金额列用于统计
b.VerticalTotal= True
b.HorizontalTotal = True
\'b.Build \'生成统计表
Tables("采购管理_Table6").DataSource = b.BuildDataSource()



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


说明:
如图所示
1、金额是表达式列,由单价*数量得出
2、付款是数值列,手动填入,意思是已实际发生的付款金额。
3、账期是日期列,比如2014年8月21日采购的物资,账期为2014年9月21日,意思是下月21日付款。
4、所用公式:应付=SUM(金额),已付=SUM(付款),未付=应付-已付,所用公式中金额、付款均作为列存在于表中,未付需用公式计算得出。
目的:生成每个供应商按月统计应付、已付、未付的数据,要求将应付、已付、未付作为标题列在月份的下面,像多表头一样。
看了帮助,还是没做成,特请帮助。

--  作者:有点甜
--  发布时间:2014/8/21 17:57:00
--  
 单独做一个项目,加入必要表格和窗口。上传上来,说明问题。
--  作者:utcxray
--  发布时间:2014/8/21 18:20:00
--  
列子上传
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:列子.rar


--  作者:utcxray
--  发布时间:2014/8/21 18:21:00
--  
Dim b As New SQLCrossTableBuilder("统计表3","采购明细")
b.HGroups.AddDef("供应商") \'添加客户列用于水平分组
b.VGroups.AddDef("账期","{0}月") \'添加日期列用于垂直分组
b.Totals.AddExp("付款","数量*单价-iif([付款] is null, 0, [付款])","未付款_值")\'添加表达式列:未付款用于统计\'添加金额列用于统计
b.VerticalTotal= True
b.HorizontalTotal = True
\'b.Build \'生成统计表
Tables("采购管理_Table6").DataSource = b.BuildDataSource()



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


说明:
如图所示
1、金额是表达式列,由单价*数量得出
2、付款是数值列,手动填入,意思是已实际发生的付款金额。
3、账期是日期列,比如2014年8月21日采购的物资,账期为2014年9月21日,意思是下月21日付款。
4、所用公式:应付=SUM(金额),已付=SUM(付款),未付=应付-已付,所用公式中金额、付款均作为列存在于表中,未付需用公式计算得出。
目的:生成每个供应商按月统计应付、已付、未付的数据,要求将应付、已付、未付作为标题列在月份的下面,像多表头一样。
看了帮助,还是没做成,特请帮助。
Dim b As New SQLCrossTableBuilder("统计表3","采购明细")
b.HGroups.AddDef("供应商") \'添加客户列用于水平分组
b.VGroups.AddDef("账期","{0}月") \'添加日期列用于垂直分组
b.Totals.AddExp("付款","数量*单价-iif([付款] is null, 0, [付款])","未付款_值")\'添加表达式列:未付款用于统计\'添加金额列用于统计
b.VerticalTotal= True
b.HorizontalTotal = True
\'b.Build \'生成统计表
Tables("采购管理_Table6").DataSource = b.BuildDataSource()



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


说明:
如图所示
1、金额是表达式列,由单价*数量得出
2、付款是数值列,手动填入,意思是已实际发生的付款金额。
3、账期是日期列,比如2014年8月21日采购的物资,账期为2014年9月21日,意思是下月21日付款。
4、所用公式:应付=SUM(金额),已付=SUM(付款),未付=应付-已付,所用公式中金额、付款均作为列存在于表中,未付需用公式计算得出。
目的:生成每个供应商按月统计应付、已付、未付的数据,要求将应付、已付、未付作为标题列在月份的下面,像多表头一样。
看了帮助,还是没做成,特请帮助。

--  作者:utcxray
--  发布时间:2014/8/21 18:26:00
--  
关键是将图中红色部分作出多表头的样子,每个月份下带“应付、已付、未付”,
图片点击可在新窗口打开查看此主题相关图片如下:无标题.jpg
图片点击可在新窗口打开查看

--  作者:utcxray
--  发布时间:2014/8/21 18:28:00
--  
列子在三楼


--  作者:有点甜
--  发布时间:2014/8/21 19:19:00
--  

 这个意思?

 

Dim b As New SQLCrossTableBuilder("统计表3","表A")
b.HGroups.AddDef("供应商") \'添加客户列用于水平分组
b.VGroups.AddDef("账期","{0}月") \'添加日期列用于垂直分组
b.Totals.AddExp("应付","数量 * 单价")
b.Totals.AddExp("已付","付款")
b.Totals.AddExp("未付","数量 * 单价 - iif(付款 is null, 0, 付款)")
b.VerticalTotal= True
b.HorizontalTotal = True
\'b.Build \'生成统计表
b.Filter = "供应商 is not null and 账期 is not null"
Tables("应付未付_Table1").DataSource = b.BuildDataSource()

[此贴子已经被作者于2014-8-21 19:20:05编辑过]

--  作者:utcxray
--  发布时间:2014/8/22 9:39:00
--  
感谢,有限甜!正是我想要的结果啊
--  作者:utcxray
--  发布时间:2014/8/22 9:39:00
--  
对不起,有点甜