以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]SQLGroupTableBuilder中关联列可以作为分组行吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108687)

--  作者:minxizai
--  发布时间:2017/10/27 11:30:00
--  [求助]SQLGroupTableBuilder中关联列可以作为分组行吗?
SQLGroupTableBuilder中关联列可以作为分组行吗?
如果可以,该如何使用?
自定义函数 
\'Function(函数名,窗口名0,目标表1,基表2,逻辑3,分组行4,统计行5,右表6,关联列7)
Dim g As New sqlGroupTableBuilder(args(1), Args(2))
If args(3) = True Then
    g.AddTable(Args(2),Args(7),Args(6),Args(7))
End If
For i As Integer = 0 To args(4).length - 1
    g.Groups.AddDef(args(4)(i))
Next
For i As Integer = 0 To args(5).length - 1
    g.Totals.AddDef(args(5)(i))
Next
g.VerticalTotal = True
g.GrandProportion = True
g.SamePeriodGrowth = True
g.CircleGrowth = True
g.Filter = fil
g.Build()
Forms(args(0)).Controls("Table1").Table.DataSource = g.BuildDataSource
窗口中使用
Dim a() As String = {"分类","供应商","品牌","商品名称"}
Dim b() As String = {"数量","金额","毛利"}
Functions.Execute("统计","销售报表","统计","出库明细",True,a,b,"商品","商品名称")

执行错误提示:商品名称重复使用
[此贴子已经被作者于2017/10/27 11:36:01编辑过]

--  作者:有点甜
--  发布时间:2017/10/27 11:35:00
--  

比如

 

b.Groups.AddDef("{订单}.客户id", "客户id")

 

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

 


--  作者:minxizai
--  发布时间:2017/10/27 11:37:00
--  
提示循环使用了关联列
--  作者:有点甜
--  发布时间:2017/10/27 11:41:00
--  

Dim a() As String = {"分类","供应商","品牌","商品名称"}

 

改成

 

Dim a() As String = {"分类","供应商","品牌","{商品}.商品名称"}


--  作者:minxizai
--  发布时间:2017/10/27 11:43:00
--  
Dim a() As String = {"分类","供应商","品牌","{商品}.商品名称"}

Dim a() As String = {"分类","供应商","品牌","{出库明细}.商品名称"}

两个都不行

都提示无法生成SQL语句,商品名称重复使用
[此贴子已经被作者于2017/10/27 11:44:06编辑过]

--  作者:有点甜
--  发布时间:2017/10/27 11:58:00
--  

两表都有的列名,必须加上表名区分,如

 

Dim a() As String = {"{商品}.分类","{商品}.供应商","{商品}.品牌","{商品}.商品名称"}
Dim b() As String = {"{商品}.数量","{商品}.金额","{商品}.毛利"}

[此贴子已经被作者于2017/10/27 11:59:07编辑过]

--  作者:minxizai
--  发布时间:2017/10/27 12:03:00
--  
只有一个商品名称是两个表都有的
--  作者:有点甜
--  发布时间:2017/10/27 12:10:00
--  
我测试没问题,请上传实例说明。
--  作者:minxizai
--  发布时间:2017/10/27 12:28:00
--  
笔记本点添加附件没反应。换台式上传
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:冻品易 (1).foxdb


--  作者:有点甜
--  发布时间:2017/10/27 12:42:00
--  

红色代码删除即可

 

Dim g As New sqlGroupTableBuilder(args(1), Args(2))
If args(3) = True Then
    g.AddTable(Args(2),Args(7),Args(6),Args(7))
End If
For i As Integer = 0 To args(4).length - 1
    g.Groups.AddDef(args(4)(i))
Next
For i As Integer = 0 To args(5).length - 1
    g.Totals.AddDef(args(5)(i))
Next
g.VerticalTotal = True
g.GrandProportion = True
g.SamePeriodGrowth = True
g.CircleGrowth = True
g.Filter = fil
\'g.Build()
Forms(args(0)).Controls("Table1").Table.DataSource = g.BuildDataSource