以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]临时表的指定数据来源  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=74750)

--  作者:猩猩与土豆
--  发布时间:2015/9/18 9:26:00
--  [求助]临时表的指定数据来源
想建立一个临时表来统计并查询销售情况,临时表列的数据来源要从两个表(销售表和销售明细表)中获取,可是以下代码建立的临时表却只能从销售明细表中获取数据,销售表的数据获取不了,请问大神哪里有问题呢??

Dim dtb As New DataTableBuilder("销售统计表")
dtb.AddDef("销售平台", Gettype(String), 32)
dtb.AddDef("活动分类", Gettype(String), 32)
dtb.AddDef("产品名称", Gettype(String), 32)
dtb.AddDef("数量", Gettype(Integer))
dtb.AddDef("金额", Gettype(Double))
dtb.AddDef("销售日期", Gettype(Date))
dtb.AddDef("产品一类", Gettype(String), 32)
dtb.AddDef("产品二类", Gettype(String), 32)
dtb.AddDef("产品三类", Gettype(String), 32)
dtb.Build()
MainTable= Tables("销售统计表")
Dim f As New Filler
f.SourceTable = DataTables("销售表") \'指定数据来源
f.SourceCols = "销售平台,活动分类,销售日期" \'指定数据来源列
f.SourceTable = DataTables("销售明细表") \'指定数据来源
f.SourceCols = "产品名称,数量,金额,产品一类,产品二类,产品三类" \'指定数据来源列
f.DataTable = DataTables("销售统计表") \'指定数据接收表
f.DataCols = "销售平台,活动分类,销售日期" \'指定数据接收列
f.DataCols = "产品名称,数量,金额,产品一类,产品二类,产品三类" \'指定数据接收列
f.Fill() \'填充数据


--  作者:yan2006l
--  发布时间:2015/9/18 9:56:00
--  

a=1

a=2

请问a为什么等于2


--  作者:Hyphen
--  发布时间:2015/9/18 10:39:00
--  

跨表统计参考http://www.foxtable.com/help/index.html?n=1627.htm

 

Filler的SourceTable只有一个,以最后赋值的为准


--  作者:猩猩与土豆
--  发布时间:2015/9/18 11:33:00
--  
所以才想问有什么解决方法可以让数据来源于两个表啊~~
--  作者:Hyphen
--  发布时间:2015/9/18 14:06:00
--  

参考3楼


--  作者:大红袍
--  发布时间:2015/9/19 10:36:00
--  
以下是引用猩猩与土豆在2015/9/18 11:33:00的发言:
所以才想问有什么解决方法可以让数据来源于两个表啊~~

 

用filler两次就行啊,要变通


--  作者:猩猩与土豆
--  发布时间:2015/9/22 10:58:00
--  
以下是引用大红袍在2015/9/19 10:36:00的发言:

 

用filler两次就行啊,要变通


试过了,代码如下:

Dim dtb As New DataTableBuilder("销售统计表")

dtb.AddDef("销售平台", Gettype(String), 32)

dtb.AddDef("活动分类", Gettype(String), 32)

dtb.AddDef("产品名称", Gettype(String), 32)

dtb.AddDef("数量", Gettype(Integer))

dtb.AddDef("金额", Gettype(Double))

dtb.AddDef("销售日期", Gettype(Date))

dtb.AddDef("产品一类", Gettype(String), 32)

dtb.AddDef("产品二类", Gettype(String), 32)

dtb.AddDef("产品三类", Gettype(String), 32)

dtb.Build()

MainTable= Tables("销售统计表")

Dim f As New Filler

f.SourceTable = DataTables("销售表") \'指定数据来源

f.SourceCols = "销售平台,活动分类,销售日期" \'指定数据来源列

f.DataTable = DataTables("销售统计表") \'指定数据接收表

f.DataCols = "销售平台,活动分类,销售日期" \'指定数据接收列

f.Fill() \'填充数据

Dim a As New Filler

a.SourceTable = DataTables("销售明细表") \'指定数据来源

a.SourceCols = "产品名称,数量,金额,产品一类,产品二类,产品三类" \'指定数据来源列

a.DataTable = DataTables("销售统计表") \'指定数据接收表

a.DataCols = "产品名称,数量,金额,产品一类,产品二类,产品三类" \'指定数据接收列

a.Fill() \'填充数据


可是生成的临时表没有“销售平台,活动分类,销售日期”的内容,只有“产品名称,数量,金额,产品一类,产品二类,产品三类”,为啥呢


--  作者:大红袍
--  发布时间:2015/9/22 11:01:00
--  

换一种思路,用查询表的方式。

 

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

 


--  作者:猩猩与土豆
--  发布时间:2015/9/22 11:05:00
--  
之前就是用查询表做的,boss说这样占用空间,我也是要崩溃。。。
--  作者:大红袍
--  发布时间:2015/9/22 11:06:00
--  
以下是引用猩猩与土豆在2015/9/22 11:05:00的发言:
之前就是用查询表做的,boss说这样占用空间,我也是要崩溃。。。

 

查询表不占用空间,你可以动态生成的

 

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