以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于报表合并的解决方案  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=60173)

--  作者:huangfanzi
--  发布时间:2014/11/19 16:05:00
--  [求助]关于报表合并的解决方案
我要做一张工序的合并表,例如现在有二张工序表分表,分别记录二道工序(轧机1号、重卷1号)的生产情况,合并的数据全部写入一张总表(工序表),目前我用的代码如下:
Dim f As New Filler
DataTables("工序表").dataRows.Clear()

f.SourceTable = DataTables("轧机1号") \'指定数据来源
f.DataTable = DataTables("工序表") \'指定数据接收表
f.Fill() \'填充数据

f.SourceTable = DataTables("重卷1号") \'指定数据来源
f.DataTable = DataTables("工序表") \'指定数据接收表
f.Fill() \'填充数据

实际情况下工序分表有很多,每天的新记录全部是写进各个分表的,我现在是做了个菜单按钮,点击后执行了清除工序表再写入数据的,由于数据量大,写入时会有时间上的等待,有何办法不要通过这样的方法生成合并各工序的报表,谢谢!

--  作者:yan2006l
--  发布时间:2014/11/19 16:12:00
--  
得找甜给你来个SQL查询啊,不用填充数据直接查询应该会很快
--  作者:有点甜
--  发布时间:2014/11/19 16:13:00
--  

 你可以用查询表嘛。

 

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

 

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

 

 

select * from {轧机1号}

union select * from {重卷1号}


--  作者:huangfanzi
--  发布时间:2014/11/20 20:29:00
--  
昨天忙了一天没及时看我的帖子,呵呵!
我试过查询表,可得到的结果不是我想要的,我说个例子,请老师简单的帮我写个查询语句:
假定轧机1号表中以如下数据:
日期时间                           工序名               卷号
2014-11-20 12:00:00  轧机1号         CS0001

假定重卷1号表中以如下数据:
日期时间                           工序名               卷号
2014-11-20 13:00:00  重卷1号         CS0001

合并后的工序表应该是:
日期时间                           工序名               卷号
2014-11-20 12:00:00  轧机1号         CS0001
2014-11-20 13:00:00  重卷1号         CS0001


--  作者:有点甜
--  发布时间:2014/11/20 20:33:00
--  

Select 日期事件, 工序名, 卷号 From {轧机1号}

union Select 日期事件, 工序名, 卷号 From {重卷1号}


--  作者:huangfanzi
--  发布时间:2014/11/20 21:13:00
--  

用了甜老师的方法,但得出的结果不行,查询表上只返回了一条数据,我放了例子在附件中,请帮我看下。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:使用查询表合并报表.rar


--  作者:有点甜
--  发布时间:2014/11/20 21:23:00
--  
 代码没有问题,查询表,查询的是所有保存了的数据,没保存的话,数据弄不到的。
--  作者:huangfanzi
--  发布时间:2014/11/20 21:32:00
--  
原来如此,这到没想到,现在这个命令是成功了,但我想用查询表生成器实现上面的操作,我试了好几次,做不出来,能帮我贴个查询表中的设置图吗,或用我上面上传的项目来做然后上传上来,万分感谢!
--  作者:有点甜
--  发布时间:2014/11/20 21:38:00
--  

 代码

 

Dim q As new QueryBuilder
q.TableName = "统计表"
q.SelectString = "Select 日期, 工序, 卷号 From {轧机1号} union all Select 日期, 工序, 卷号 From {重卷1号}"
q.Build
MainTable = Tables("统计表")


--  作者:huangfanzi
--  发布时间:2014/11/20 21:42:00
--  
甜老师,我是想用查询表生成器哪个界面完成上面的功能,但不知如何操作。