以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]具有相同的表现名称  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122483)

--  作者:紫色幽魂
--  发布时间:2018/7/26 15:16:00
--  [求助]具有相同的表现名称
Dim jb1 As New SQLJoinTableBuilder("查询表1","无损_检验批")
jb1.C
jb1.AddTable("无损_检验批","检验批编号","无损_检测明细","检验批编号")
jb1.AddCols("{无损_检验批}.工程名称","{无损_检验批}.检验批")
jb1.AddExp("重量(Kg)","{无损_检验批}.重量")
jb1.Filter = "检测日期_最后检测日期 >= \'"& ks.Value &"\' And 检测日期_最后检测日期 <= \'"& js.Value &"\'"
jb1.Distinct = True

Dim jb2 As New SQLJoinTableBuilder("查询表2","无损_检测明细")
jb2.C
jb2.AddTable("无损_检验批","检验批编号","无损_检测明细","检验批编号")
jb2.AddCols("{无损_检测明细}.地点","{无损_检测明细}.工程名称","{无损_工程明细}.检验批")
jb2.AddExp("检测量","首检_检测长度")
jb2.AddExp("返修量","首检_返修长度")
jb2.Filter = "首检_检测日期 >= \'"& ks.Value &"\' And 首检_检测日期 <= \'"& js.Value &"\'"
jb2.Distinct = True

jb1.Union(jb2) 


Tables("无损查询表_Table1").DataSource  = jb2.BuildDataSource


提示错误:FROM 子句中的对象 "无损_检测明细" 和 "无损_检测明细" 具有相同的表现名称。请使用相关名称来区分它们。
第一个表单独没有问题,第二个表有问题是怎么回事

--  作者:有点甜
--  发布时间:2018/7/26 15:40:00
--  

改成

 

Dim jb2 As New SQLJoinTableBuilder("查询表2","无损_检测明细")
jb2.AddTable("无损_检测明细","检验批编号","无损_检验批","检验批编号")

--  作者:紫色幽魂
--  发布时间:2018/7/26 20:46:00
--  回复:(有点甜)改成 Dim jb2 As New SQLJo...
可以了,但是我把两个表组合起来后提示错误呢:使用 UNION、INTERSECT 或 EXCEPT 运算符合并的所有查询必须在其目标列表中有相同数目的表达式。
--  作者:有点甜
--  发布时间:2018/7/26 20:56:00
--  

如果要union的话,下面代码添加的列的个数必须一致,不能一个2列、一个3列。

 

jb2.AddCols("{无损_检测明细}.地点","{无损_检测明细}.工程名称","{无损_工程明细}.检验批")


--  作者:紫色幽魂
--  发布时间:2018/7/26 21:23:00
--  回复:(有点甜)如果要union的话,下面代码添加的列的...
我可能列数不一样,名称也不一样,还有什么别的方法组合吗
--  作者:有点甜
--  发布时间:2018/7/26 21:38:00
--  
以下是引用紫色幽魂在2018/7/26 21:23:00的发言:
我可能列数不一样,名称也不一样,还有什么别的方法组合吗

 

你需要这个? http://www.foxtable.com/webhelp/scr/2305.htm

 


--  作者:紫色幽魂
--  发布时间:2018/7/26 22:52:00
--  回复:(有点甜)以下是引用紫色幽魂在2018/7/26 21:2...
差不多,但是多个表的分组列不同,这些列有一个或两个列名相同,其他不同的分组列组合在一起会报错
--  作者:有点甜
--  发布时间:2018/7/26 23:07:00
--  
以下是引用紫色幽魂在2018/7/26 22:52:00的发言:
差不多,但是多个表的分组列不同,这些列有一个或两个列名相同,其他不同的分组列组合在一起会报错

 

如果分组列不同,为什么还要组合起来?这样没意义的。

 

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

 

具体做个实例说明你要做什么。


--  作者:紫色幽魂
--  发布时间:2018/7/27 0:05:00
--  回复:(有点甜)以下是引用紫色幽魂在2018/7/26 22:5...
两个表通过编号关联,列如第一个表以编号,产品名称,规格列作为分组列,统计产品自身总数量,第二个表除了通过编号,产品名称,规格作为分组列还有销售的省和其他一些因素作为分组列来统计一些数据,最终统计表包含产品名称,规格,总数量,销售省份,销售量,总金额等数据
可以说是父表和子表的关系,统计需要根据日期来从明细表提取数据,这种应该怎么做

--  作者:有点甜
--  发布时间:2018/7/27 9:03:00
--  

这种情况无法直接组合。

 

请在生成子表统计表之后,在子表那里动态添加列,然后把父表的数据引用获取。