Foxtable(狐表)用户栏目专家坐堂 → 求助如何自动实现表B的统计


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

主题:求助如何自动实现表B的统计

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


加好友 发短信
等级:小狐 帖子:353 积分:3036 威望:0 精华:0 注册:2018/3/15 16:46:00
求助如何自动实现表B的统计  发帖心情 Post By:2018/11/6 8:55:00 [只看该作者]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.rar

如题,求助版主如何在输完表A的数据后自动实现表B的统计表?


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


加好友 发短信
等级:狐神 帖子:4724 积分:34374 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2018/11/6 9:25:00 [只看该作者]

Dim jb As New SQLJoinTableBuilder("查询表1","表A")
jb.AddExp("排序","1")
jb.AddExp("项目名称","颜色")
jb.AddCols("单价","数量","折扣")
jb.AddExp("金额","单价*数量*折扣")
jb.AddExp("备注","''")

Dim jb1 As New SQLJoinTableBuilder("查询表1","表A")
jb1.AddExp("排序","2")
jb1.AddExp("项目名称","添加剂")
jb1.AddCols("添加剂价格","添加剂数量")
jb1.AddExp("折扣","1")
jb1.AddExp("金额","添加剂价格*添加剂数量")
jb1.AddExp("备注","''")

Dim jb2 As New SQLJoinTableBuilder("查询表1","表A")
jb2.AddExp("排序","3")
jb2.AddExp("项目名称","合成剂")
jb2.AddCols("合成剂价格","合成剂数量")
jb2.AddExp("折扣","1")
jb2.AddExp("金额","合成剂价格*合成剂数量")
jb2.AddExp("备注","''")

jb.Union(jb1)
jb.Union(jb2)
jb.Build()
Dim dr As DataRow = DataTables("查询表1").AddNew
dr("项目名称") = "总计"
dr("金额") = DataTables("查询表1").Compute("Sum(金额)")
Tables("查询表1").Cols.Remove("排序")
Tables("查询表1").AutoSizeCols
MainTable = Tables("查询表1")

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


加好友 发短信
等级:小狐 帖子:353 积分:3036 威望:0 精华:0 注册:2018/3/15 16:46:00
  发帖心情 Post By:2018/11/6 9:52:00 [只看该作者]

以下是引用y2287958在2018/11/6 9:25:00的发言:
Dim jb As New SQLJoinTableBuilder("查询表1","表A")
jb.AddExp("排序","1")
jb.AddExp("项目名称","颜色")
jb.AddCols("单价","数量","折扣")
jb.AddExp("金额","单价*数量*折扣")
jb.AddExp("备注","''")

Dim jb1 As New SQLJoinTableBuilder("查询表1","表A")
jb1.AddExp("排序","2")
jb1.AddExp("项目名称","添加剂")
jb1.AddCols("添加剂价格","添加剂数量")
jb1.AddExp("折扣","1")
jb1.AddExp("金额","添加剂价格*添加剂数量")
jb1.AddExp("备注","''")

Dim jb2 As New SQLJoinTableBuilder("查询表1","表A")
jb2.AddExp("排序","3")
jb2.AddExp("项目名称","合成剂")
jb2.AddCols("合成剂价格","合成剂数量")
jb2.AddExp("折扣","1")
jb2.AddExp("金额","合成剂价格*合成剂数量")
jb2.AddExp("备注","''")

jb.Union(jb1)
jb.Union(jb2)
jb.Build()
Dim dr As DataRow = DataTables("查询表1").AddNew
dr("项目名称") = "总计"
dr("金额") = DataTables("查询表1").Compute("Sum(金额)")
Tables("查询表1").Cols.Remove("排序")
Tables("查询表1").AutoSizeCols
MainTable = Tables("查询表1")
 
再问一下这是写在那个事件里面的?


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


加好友 发短信
等级:狐神 帖子:4724 积分:34374 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2018/11/6 9:55:00 [只看该作者]

命令窗口,按钮……等等需要用的地方

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


加好友 发短信
等级:小狐 帖子:353 积分:3036 威望:0 精华:0 注册:2018/3/15 16:46:00
  发帖心情 Post By:2018/11/6 9:55:00 [只看该作者]

以下是引用y2287958在2018/11/6 9:55:00的发言:
命令窗口,按钮……等等需要用的地方

谢谢!


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


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

1、可以写到maintablechanged

 

http://www.foxtable.com/webhelp/scr/0663.htm

 

2、可以做一个按钮,然后放入代码


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


加好友 发短信
等级:小狐 帖子:353 积分:3036 威望:0 精华:0 注册:2018/3/15 16:46:00
  发帖心情 Post By:2018/11/6 13:47:00 [只看该作者]

为什么我再继续添加颜色和其它数据时,统计出来的结果不对呢?

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


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

以下是引用rongping在2018/11/6 13:47:00的发言:
为什么我再继续添加颜色和其它数据时,统计出来的结果不对呢?

 

代码改成下面

 

DataTables("表A").save

Dim jb As New SQLJoinTableBuilder("查询表1","表A")
jb.AddExp("排序","1")
jb.AddExp("项目名称","颜色")
jb.AddCols("单价","数量","折扣")
jb.AddExp("金额","单价*数量*折扣")
jb.AddExp("备注","''")


Dim jb1 As New SQLJoinTableBuilder("查询表1","表A")
jb1.AddExp("排序","2")
jb1.AddExp("项目名称","添加剂")
jb1.AddCols("添加剂价格","添加剂数量")
jb1.AddExp("折扣","1")
jb1.AddExp("金额","添加剂价格*添加剂数量")
jb1.AddExp("备注","''")


Dim jb2 As New SQLJoinTableBuilder("查询表1","表A")
jb2.AddExp("排序","3")
jb2.AddExp("项目名称","合成剂")
jb2.AddCols("合成剂价格","合成剂数量")
jb2.AddExp("折扣","1")
jb2.AddExp("金额","合成剂价格*合成剂数量")
jb2.AddExp("备注","''")


jb.Union(jb1,True)
jb.Union(jb2,True)
jb.Build()
'Dim dr As DataRow = DataTables("查询表1").AddNew
'dr("项目名称") = "总计"
'dr("金额") = DataTables("查询表1").Compute("Sum(金额)")
Tables("查询表1").Cols.Remove("排序")
Tables("查询表1").AutoSizeCols
MainTable = Tables("查询表1")

Dim t As Table = Tables("查询表1")
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 = "金额"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

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

t.Subtotal()


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


加好友 发短信
等级:小狐 帖子:353 积分:3036 威望:0 精华:0 注册:2018/3/15 16:46:00
  发帖心情 Post By:2018/11/6 15:45:00 [只看该作者]

以下是引用有点甜在2018/11/6 14:53:00的发言:

 

代码改成下面

 

DataTables("表A").save

Dim jb As New SQLJoinTableBuilder("查询表1","表A")
jb.AddExp("排序","1")
jb.AddExp("项目名称","颜色")
jb.AddCols("单价","数量","折扣")
jb.AddExp("金额","单价*数量*折扣")
jb.AddExp("备注","''")


Dim jb1 As New SQLJoinTableBuilder("查询表1","表A")
jb1.AddExp("排序","2")
jb1.AddExp("项目名称","添加剂")
jb1.AddCols("添加剂价格","添加剂数量")
jb1.AddExp("折扣","1")
jb1.AddExp("金额","添加剂价格*添加剂数量")
jb1.AddExp("备注","''")


Dim jb2 As New SQLJoinTableBuilder("查询表1","表A")
jb2.AddExp("排序","3")
jb2.AddExp("项目名称","合成剂")
jb2.AddCols("合成剂价格","合成剂数量")
jb2.AddExp("折扣","1")
jb2.AddExp("金额","合成剂价格*合成剂数量")
jb2.AddExp("备注","''")


jb.Union(jb1,True)
jb.Union(jb2,True)
jb.Build()
'Dim dr As DataRow = DataTables("查询表1").AddNew
'dr("项目名称") = "总计"
'dr("金额") = DataTables("查询表1").Compute("Sum(金额)")
Tables("查询表1").Cols.Remove("排序")
Tables("查询表1").AutoSizeCols
MainTable = Tables("查询表1")

Dim t As Table = Tables("查询表1")
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 = "金额"
g.Caption = "{0} 小计"
t.SubtotalGroups.Add(g)

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

t.Subtotal()

好的


 回到顶部