Foxtable(狐表)用户栏目专家坐堂 → 自动汇总


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

主题:自动汇总

美女呀,离线,留言给我吧!
bm
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:437 积分:3463 威望:0 精华:0 注册:2011/9/13 23:27:00
自动汇总  发帖心情 Post By:2011/11/29 15:35:00 [只看该作者]

查询表代码

Dim jb As new SQLJoinTableBuilder("查询表1","表a")
jb.AddCols("作业日期", "客户","fa piao号码")
jb.AddExp("应收款","iif(代付费用_打单费 Is null,0,代付费用_打单费) + iif(代付费用_理货费 Is null,0,代付费用_理货费))
jb.Filter = "状态 <> '已付费'"

Dim cb As new CrossTableBuilder("客户欠款",jb.BuildSQL)
cb.HGroups.AddDef("客户")
cb.HGroups.AddDef("fa piao号码")
cb.VGroups.AddDef("作业日期",DateGroupEnum.month,"{0}月")
cb.Totals.AddDef("应收款")
cb.HorizontalTotal = True
cb.Build()
DataTables("客户欠款").SysStyles("EmptyArea").BackColor = Color.DarkTurquoise
MainTable = Tables("客户欠款")

 

汇总模式代码

im t As Table = Tables("客户欠款")
Dim g As SubtotalGroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New SubtotalGroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "客户"
g.TotalOn = "应收款_1,应收款_2,应收款_3,应收款_4,应收款_5,合计"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

g = New SubtotalGroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "应收款_1,应收款_2,应收款_3,应收款_4,应收款_5,合计"
g.Caption = "总计"
t.SubtotalGroups.Add(g)

这个怎么才自动汇总。


图片点击可在新窗口打开查看此主题相关图片如下:截图50.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2011-11-29 15:41:50编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/29 15:53:00 [只看该作者]

问题似乎没有问到点子上,不明白你的意思。


 回到顶部
美女呀,离线,留言给我吧!
bm
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:437 积分:3463 威望:0 精华:0 注册:2011/9/13 23:27:00
帮忙看看  发帖心情 Post By:2011/11/29 17:13:00 [只看该作者]

用代码生成的查询表需要自动汇总

查询表代码见一楼


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

希望打开为汇总模式

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

[此贴子已经被作者于2011-11-29 17:18:16编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/29 17:19:00 [只看该作者]

 

 

Dim jb As new SQLJoinTableBuilder("查询表1","表a")
jb.AddCols("作业日期", "客户","fa piao号码")
jb.AddExp("应收款","iif(代付费用_打单费 Is null,0,代付费用_打单费) + iif(代付费用_理货费 Is null,0,代付费用_理货费))
jb.Filter = "状态 <> '已付费'"
Dim cb As new CrossTableBuilder("客户欠款",jb.BuildSQL)
cb.HGroups.AddDef("客户")
cb.HGroups.AddDef("fa piao号码")
cb.VGroups.AddDef("作业日期",DateGroupEnum.month,"{0}月")
cb.Totals.AddDef("应收款")
cb.HorizontalTotal = True
cb.Build()
DataTables("客户欠款").SysStyles("EmptyArea").BackColor = Color.DarkTurquoise
m t As Table = Tables("客户欠款")
Dim g As SubtotalGroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True
g = New SubtotalGroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "客户"
g.TotalOn = "应收款_1,应收款_2,应收款_3,应收款_4,应收款_5,合计"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)
g = New SubtotalGroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "应收款_1,应收款_2,应收款_3,应收款_4,应收款_5,合计"
g.Caption = "总计"
t.SubtotalGroups.Add(g)
t.Subtotal
MainTable = t


 回到顶部
美女呀,离线,留言给我吧!
bm
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:437 积分:3463 威望:0 精华:0 注册:2011/9/13 23:27:00
bmkk  发帖心情 Post By:2011/11/29 17:23:00 [只看该作者]

Dim jb As new SQLJoinTableBuilder("查询表1","表a")
jb.AddCols("作业日期", "客户","fa piao号码")
jb.AddExp("应收款","iif(代付费用_打单费 Is null,0,代付费用_打单费) + iif(代付费用_理货费 Is null,0,代付费用_理货费))
jb.Filter = "状态 <> '已付费'"
Dim cb As new CrossTableBuilder("客户欠款",jb.BuildSQL)
cb.HGroups.AddDef("客户")
cb.HGroups.AddDef("fa piao号码")
cb.VGroups.AddDef("作业日期",DateGroupEnum.month,"{0}月")
cb.Totals.AddDef("应收款")
cb.HorizontalTotal = True
cb.Build()
DataTables("客户欠款").SysStyles("EmptyArea").BackColor = Color.DarkTurquoise
m t As Table = Tables("客户欠款")
Dim g As SubtotalGroup
t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True
g = New SubtotalGroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "客户"
g.TotalOn = "应收款_1,应收款_2,应收款_3,应收款_4,应收款_5,合计"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)
g = New SubtotalGroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "应收款_1,应收款_2,应收款_3,应收款_4,应收款_5,合计"
g.Caption = "总计"
t.SubtotalGroups.Add(g)
t.Subtotal
MainTable = t

狐狸爸爸关键在于”作业日期“产生的”月份“不确定。可能是1个月。也可能是12个月。


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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/29 17:28:00 [只看该作者]

问题让人费解,你的代码和图片不一致。

 

大概: 动态合成TotalOn:

 

....

Dim fds as string

For Each c as Col in t.Cols

      if c.Name.EndsWith("月") Then '如果是月结尾的列

          fds = fds & "," & c.name

      enif

Next

fds = fds.Trim(",")

.....

g.TotalOn = fds

 

 

 


 回到顶部
美女呀,离线,留言给我吧!
bm
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:437 积分:3463 威望:0 精华:0 注册:2011/9/13 23:27:00
狐狸爸爸就是这个东东。可是不计算  发帖心情 Post By:2011/11/29 17:41:00 [只看该作者]

Dim t As Table = Tables("客户欠款")
Dim g As Subtotalgroup
Dim fds As String
For Each c As Col In t.Cols
      If c.Name.EndsWith("月") Then '如果是月结尾的列
          fds = fds & "," & c.name
      End If
Next

t.SubtotalGroups.Clear()
t.GroupAboveData = False
t.TreeVisible = False
t.SpillNode = True

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "客户"
g.TotalOn = "fds,合计"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

g = New Subtotalgroup
g.Aggregate = AggregateEnum.Sum
g.GroupOn = "*"
g.TotalOn = "fds,合计"
g.Caption = "总计"
t.SubtotalGroups.Add(g)

t.Subtotal()


 

[此贴子已经被作者于2011-11-29 18:07:20编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/29 18:07:00 [只看该作者]

千言万语,不如一个简单实例。


 回到顶部
美女呀,离线,留言给我吧!
bm
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:437 积分:3463 威望:0 精华:0 注册:2011/9/13 23:27:00
狐狸爸爸这个实例太难做了。  发帖心情 Post By:2011/11/29 18:30:00 [只看该作者]

狐狸爸爸这个实例太难做了。帮忙看看吧

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/29 18:42:00 [只看该作者]

今天太晚,明天我帮你做个例子。

 回到顶部
总数 16 1 2 下一页