以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 查询表代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=14498) |
||||
-- 作者:bm -- 发布时间:2011/11/22 8:58:00 -- 查询表代码 求救各位高手一共三个表。中间的表中的”支出“”收入“”余额“都是表达试例。现在想要不用表达式。直接用代码生成临时表(和第二个表一样)。因为一定要全部加载”余额“才能正确。 帮忙改一下代码
Dim jb As New SQLJoinTableBuilder("查询表1","账户管理") jb.AddCols("初始金额") jb.AddExp("余额","初始金额-支出+收入“)
![]() ![]() ![]() ![]() ![]() ![]() [此贴子已经被作者于2011-11-22 9:12:19编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/11/22 9:12:00 -- 将这三个表传上来啊,否则怎么测试代码? |
||||
-- 作者:bm -- 发布时间:2011/11/22 9:24:00 -- 请帮忙看看 谢谢了。
密码888 [此贴子已经被作者于2011-11-22 9:24:33编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间: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") |
||||
-- 作者:bm -- 发布时间:2011/11/22 10:40:00 -- 狐狸爸爸请您再看看 这个表达式感觉不对。出来的结果不一样。 ![]() ![]() ![]() ![]() [此贴子已经被作者于2011-11-22 10:40:51编辑过]
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/11/22 10:43:00 -- |
||||
-- 作者:bm -- 发布时间:2011/11/22 11:15:00 -- 狐狸爸爸请您看看 测试出错了。不会改。帮忙再看看。 ![]() ![]() |
||||
-- 作者:狐狸爸爸 -- 发布时间:2011/11/22 12:04:00 -- 还是这个代码正确:
Dim jb As New SQLJoinTableBuilder("查询表1","账户管理")
只有两行数据,是因为的收入表没有“建行账户”,这种连接取得每个表都有的分组。 [此贴子已经被作者于2011-11-22 12:05:54编辑过]
|
||||
-- 作者:bm -- 发布时间:2011/11/22 12:11:00 -- 狐狸爸爸请您看看 这三个表是关联表。”账户管理。支出“关联的例是“账户名称”“支出账户”。 ”账户管理。收入“关联的例是 “账户名称”“收入账户”。 那个余额也不一样的。因为一定要加载所有数据才能算出余额。所以想改。 余额的表达式。IsNull([初始金额],0) - IsNull([支出],0) + IsNull([收入],0) 支出的表达式Sum(Child(ZC).金额) 收入的表达式Sum(Child(SR).金额) [此贴子已经被作者于2011-11-22 12:26:55编辑过]
|
||||
-- 作者:bm -- 发布时间:2011/11/22 12:32:00 -- 自己顶一下。 自己顶一下。 |