Foxtable(狐表)用户栏目专家坐堂 → 查询表代码


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

主题:查询表代码

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/22 9:12:00 [显示全部帖子]

将这三个表传上来啊,否则怎么测试代码?

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/22 10:10:00 [显示全部帖子]

Dim jb As New SQLJoinTableBuilder("查询表1","账户管理")
jb.AddTable("账户管理","账户名称","支出明细","支出账户")
jb.AddTable("账户管理","账户名称","收入","收入账户")
jb.AddCols("账户名称",True)
jb.AddCols("初始金额",True)
jb.AddExp("支出","Sum({支出明细}.金额)")
jb.AddExp("收入","Sum({收入}.金额)")
jb.AddExp("余额","初始金额-支出+收入")
jb.Build()
MainTable = Tables("查询表1")

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/22 10:43:00 [显示全部帖子]

Dim jb As New SQLJoinTableBuilder("查询表1","账户管理")
jb.AddTable("账户管理","账户名称","支出明细","支出账户")
jb.AddTable("账户管理","账户名称","收入","收入账户")
jb.AddCols("账户名称",True)
jb.AddCols("初始金额")
jb.AddExp("支出","Sum({支出明细}.金额)")
jb.AddExp("收入","Sum({收入}.金额)")
jb.AddExp("余额","初始金额-支出+收入")
jb.Build()
MainTable = Tables("查询表1")

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/22 12:04:00 [显示全部帖子]

还是这个代码正确:

 

Dim jb As New SQLJoinTableBuilder("查询表1","账户管理")
jb.AddTable("账户管理","账户名称","支出明细","支出账户")
jb.AddTable("账户管理","账户名称","收入","收入账户")
jb.AddCols("账户名称",True)
jb.AddCols("初始金额",True)
jb.AddExp("支出","Sum({支出明细}.金额)")
jb.AddExp("收入","Sum({收入}.金额)")
jb.AddExp("余额","初始金额-支出+收入")
jb.Build()
MainTable = Tables("查询表1")

 

只有两行数据,是因为的收入表没有“建行账户”,这种连接取得每个表都有的分组。

[此贴子已经被作者于2011-11-22 12:05:54编辑过]

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/22 15:05:00 [显示全部帖子]

呵呵,别顶了,有点忙啊。晚上来研究了

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


加好友 发短信
等级:管理员 帖子:47449 积分:251065 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2011/11/22 17:01:00 [显示全部帖子]

Dim bd1 As New GroupTableBuilder("统计表1",DataTables("账户管理"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("账户名称") '根据型号分组
bd1.Totals.AddDef("初始金额") '对金额进行统计
dt1 = bd1.BuildDataSource()

 

Dim bd2 As New GroupTableBuilder("统计表2",DataTables("支出明细"))
Dim dt2  As fxDataSource
bd2.Groups.AddDef("支出账户","账户名称") '根据型号分组
bd2.Totals.AddDef("金额","支出金额") '对金额进行统计
dt2 = bd2.BuildDataSource()

 

Dim bd3 As New GroupTableBuilder("统计表3",DataTables("收入"))
Dim dt3 As fxDataSource
bd3.Groups.AddDef("收入账户","账户名称") '根据型号分组
bd3.Totals.AddDef("金额","收入金额") '对金额进行统计
dt3 = bd3.BuildDataSource()

 

dt1.Combine("账户名称",dt2,"账户名称") '将销售统计数据组合到进货统计数据
dt1.Combine("账户名称",dt3,"账户名称") '将退货统计数据组合到进货统计数据
dt1.Show("统计表1") '显示统计结果
DataTables("统计表1").DataCols.Add("余额",Gettype(Double),"初始金额 + 收入金额 - 支出金额")

 

参考:

http://www.foxtable.com/help/topics/2305.htm

 


 回到顶部