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


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

主题:统计代码使用?

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


加好友 发短信
等级:幼狐 帖子:112 积分:1584 威望:0 精华:0 注册:2008/11/3 7:25:00
统计代码使用?  发帖心情 Post By:2020/12/9 10:32:00 [只看该作者]

统计代码的使用
以下内容为程序代码:

1 Dim y As String = e.Form.Controls("ComboBox1").value
2 Dim sql As String = "selec t 日期,名称,收入金额, 0 as 借方金额,支出金额,0 as 贷方金额 fro m {电子单} where year(日期) = '"& y & "' union all selec t 日期, 名称,0 as 收入金额,借方金额,0 as 支出金额,贷方金额 fro m {日记账}where year(日期) = '"& y & "'"
3 Dim b As New CrossTableBuilder("统计表1",sql,"db")
4 Dim dt1 As fxDataSource
5 b.C
6 b.HGroups.AddDef("银行名称") '添加客户列用于水平分组
7 b.VGroups.AddDef("日期", "{0}月") '添加产品列用于垂直分组,并设置了Pattern参数
8 b.Totals.AddDef("借方金额", "收入金额_日记账")
9 b.Totals.AddDef("收入金额", "收入金额_电子")
10 b.Totals.AddDef("贷方金额", "支出金额_日记账")
11 b.Totals.AddDef("支出金额", "支出金额_电子")
12 dt1 = b.BuildDataSource()
13 Tables("统计窗口_Table3").DataSource = dt1

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

请教用这个代码出的统计表,为什么 每个月的【收入金额】和【支出金额】不在一起呢?请教如何更改?
[此贴子已经被作者于2020/12/9 10:33:24编辑过]

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/9 11:02:00 [只看该作者]

麻烦以后直接发代码,不要使用这种添加行号的方式

试试调换位置

6 b.HGroups.AddDef("银行名称") '添加客户列用于水平分组
7 b.VGroups.AddDef("日期", "{0}月") '添加产品列用于垂直分组,并设置了Pattern参数
8 b.Totals.AddDef("借方金额", "收入金额_日记账")
10 b.Totals.AddDef("贷方金额", "支出金额_日记账")
9 b.Totals.AddDef("收入金额", "收入金额_电子")
11 b.Totals.AddDef("支出金额", "支出金额_电子")
12 dt1 = b.BuildDataSource()

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


加好友 发短信
等级:幼狐 帖子:112 积分:1584 威望:0 精华:0 注册:2008/11/3 7:25:00
  发帖心情 Post By:2020/12/9 11:40:00 [只看该作者]

感谢回复,
Dim y As String  = e.Form.Controls("ComboBox1").value
Dim sql As String = "selec t 日期,名称,收入金额, 0 as 借方金额,支出金额,0 as 贷方金额 fro m {银行电子对账单} where year(日期) = '"& y & "' union all selec t 日期, 名称,0 as 收入金额,借方金额,0 as 支出金额,贷方金额 fro m {银行存款日记账}where year(日期) = '"& y & "'"
Dim b As New CrossTableBuilder("统计表1",sql,"db")
Dim dt1 As fxDataSource
b.C
b.HGroups.AddDef("名称") '添加客户列用于水平分组
b.VGroups.AddDef("日期", "{0}月") '添加产品列用于垂直分组,并设置了Pattern参数
b.Totals.AddDef("借方金额", "收入金额_日记账")
b.Totals.AddDef("贷方金额", "支出金额_日记账")
b.Totals.AddDef("收入金额", "收入金额_电子")
b.Totals.AddDef("支出金额", "支出金额_电子")
dt1 = b.BuildDataSource()
Tables("统计窗口_Table3").DataSource = dt1

调整成这样也是不行,显示也是不行

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/9 11:52:00 [只看该作者]


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


加好友 发短信
等级:幼狐 帖子:112 积分:1584 威望:0 精华:0 注册:2008/11/3 7:25:00
  发帖心情 Post By:2020/12/9 14:20:00 [只看该作者]

但是月份不是固定的,如何用代码?
1-12遍历一遍?

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/12/9 14:28:00 [只看该作者]

当然是遍历所有列处理。具体代码请上传实例测试

 回到顶部