以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]统计结果不完整  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=115016)

--  作者:lgj716330
--  发布时间:2018/2/27 20:04:00
--  [求助]统计结果不完整

我表里有两条记录,只是这两条记录的金额是一样的,为什么统计的时候只作为一条记录来统计呢

Dim  jb1 As New SQLJoinTableBuilder("查询表1","辅助总账")
 jb1.AddTable("辅助总账","科目编码","科目档案","科目编号")
 jb1.AddTable("辅助总账", "部门编码","责任中心档案","部门编号")
 jb1.AddCols("科目编码","成本大类","公司","会计期间")
 jb1.AddExp("金额","贷方金额")
 jb1.Filter = "(科目编号 like \'6001%\' or 科目编号 like \'6051%\' or 科目编号 like \'6301%\') And (" & filter & ")"

 

Dim  jb2 As New SQLJoinTableBuilder("查询表1","辅助总账")
 jb2.AddTable("辅助总账","科目编码","科目档案","科目编号")
 jb2.AddTable("辅助总账", "部门编码","责任中心档案","部门编号")
 jb2.AddCols("科目编码","成本大类","公司","会计期间")
 jb2.AddExp("金额","借方金额")
 jb2.Filter = "科目编号 like \'6601%\' or 科目编号 like \'6602%\' or 科目编号 like \'6603%\') And (" & filter & ")"


 jb1.Union(jb2)  \'组合jb2
 jb1.Build()

 

如果只用jb2是没问题的,一组合就有问题

 

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


--  作者:有点蓝
--  发布时间:2018/2/27 20:50:00
--  
jb1.Filter = "(科目编号 like \'6001%\' or 科目编号 like \'6051%\' or 科目编号 like \'6301%\') "

这个条件就只有一条记录,搞清楚自己需要的逻辑

--  作者:lgj716330
--  发布时间:2018/2/28 8:37:00
--  

跟这个没关系,你试着把其中一条记录的1280.64随便改成不一样的数据


--  作者:lgj716330
--  发布时间:2018/2/28 8:47:00
--  
知道了,默认是排除重复值的, jb1.Union(jb2,True)  应该要这样
[此贴子已经被作者于2018/2/28 8:47:42编辑过]

--  作者:有点甜
--  发布时间:2018/2/28 8:52:00
--  

语法:

 

Union(Builder, All)

Builder:被组合的另一个SQLJoinTableBuilder
All:  可选参数,组合的时候默认是排除重复值的,如果需要组合所有数据,请将此参数设置为True