以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多表汇集及查询  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=26904)

--  作者:发哥
--  发布时间:2012/12/17 10:55:00
--  多表汇集及查询

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多表汇集及多条件任意汇总.table


图片点击可在新窗口打开查看此主题相关图片如下:20121217103837.jpg
图片点击可在新窗口打开查看

 

 

希望狐爸,出手帮助我实现我的“终极任务”

 

谢谢。

[此贴子已经被作者于2012-12-17 10:59:01编辑过]

--  作者:nblwar
--  发布时间:2012/12/17 12:40:00
--  

自己编码生成临时表来统计

        Dim dtb As New DataTableBuilder("坯料统计")
        dtb.AddDef("客户", Gettype(String), 16)
        dtb.AddDef("合金", Gettype(String), 16)
        dtb.AddDef("坯料规格", Gettype(String), 30)
        dtb.AddDef("生产批号", Gettype(String), 30)
        dtb.AddDef("总数", Gettype(Integer))
        dtb.AddDef("当前规格_7", Gettype(Integer),"","7.0")
        dtb.AddDef("当前规格_4", Gettype(Integer),"","4.0")
        dtb.AddDef("当前规格_18", Gettype(Integer),"","1.8")
        dtb.AddDef("当前规格_18Q", Gettype(Integer),"","1.8已切")
        dtb.AddDef("当前规格_1", Gettype(Integer),"","1.0")
        dtb.AddDef("当前规格_05", Gettype(Integer),"","0.5")
        dtb.AddDef("当前规格_03", Gettype(Integer),"","0.3")
        dtb.Build()
        For Each nm() As String In DataTables("坯料跟踪表").GetUniqueValues("","客户","合金","坯料规格","生产批号")
            Dim dr As DataRow = DataTables("坯料统计").AddNew()
            dr("客户") = nm(0)
            dr("合金") = nm(1)
            dr("坯料规格") = nm(2)
            dr("生产批号") = nm(3)
            dr("当前规格_7") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = \'" & nm(0) & "\' And [合金] = \'" & nm(1) & "\' And [坯料规格] = \'" & nm(2) & "\' And [生产批号] = \'" & nm(3) & "\' And [当前规格] = \'7.0\'")
            dr("当前规格_4") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = \'" & nm(0) & "\' And [合金] = \'" & nm(1) & "\' And [坯料规格] = \'" & nm(2) & "\' And [生产批号] = \'" & nm(3) & "\' And [当前规格] = \'4.0\'")
            dr("当前规格_18") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = \'" & nm(0) & "\' And [合金] = \'" & nm(1) & "\' And [坯料规格] = \'" & nm(2) & "\' And [生产批号] = \'" & nm(3) & "\' And [当前规格] = \'1.8\'")
            dr("当前规格_18Q") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = \'" & nm(0) & "\' And [合金] = \'" & nm(1) & "\' And [坯料规格] = \'" & nm(2) & "\' And [生产批号] = \'" & nm(3) & "\' And [当前规格] = \'1.8Q\'")
            dr("当前规格_1") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = \'" & nm(0) & "\' And [合金] = \'" & nm(1) & "\' And [坯料规格] = \'" & nm(2) & "\' And [生产批号] = \'" & nm(3) & "\' And [当前规格] = \'1.0\'")
            dr("当前规格_05") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = \'" & nm(0) & "\' And [合金] = \'" & nm(1) & "\' And [坯料规格] = \'" & nm(2) & "\' And [生产批号] = \'" & nm(3) & "\' And [当前规格] = \'0.5\'")
            dr("当前规格_03") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = \'" & nm(0) & "\' And [合金] = \'" & nm(1) & "\' And [坯料规格] = \'" & nm(2) & "\' And [生产批号] = \'" & nm(3) & "\' And [当前规格] = \'0.3\'")
            dr("总数") = DataTables("坯料跟踪表").Compute("COUNT(熔铸编号)","[客户] = \'" & nm(0) & "\' And [合金] = \'" & nm(1) & "\' And [坯料规格] = \'" & nm(2) & "\' And [生产批号] = \'" & nm(3) & "\'")
        Next


--  作者:发哥
--  发布时间:2012/12/17 12:53:00
--  

您好,好复杂了,俺是新手,您能不能帮手在那项目中编写啊,这样我就可以直接套用了,

 

非常感谢您的帮助。


--  作者:发哥
--  发布时间:2012/12/17 14:01:00
--  
在线等待啊,,,期待中,,,,
--  作者:lin_hailun
--  发布时间:2012/12/17 14:03:00
--  
 加了一个客户表,自己看一下代码吧。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多表汇集及多条件任意汇总.table


--  作者:sunsenfeng
--  发布时间:2012/12/17 14:11:00
--  

林总,Filter +=是个什么意思?

 


--  作者:lin_hailun
--  发布时间:2012/12/17 14:16:00
--  
 就是

 filter = filter & "abcdefg"

--  作者:sunsenfeng
--  发布时间:2012/12/17 14:22:00
--  

林总,学习了


--  作者:发哥
--  发布时间:2012/12/17 14:40:00
--  

谢谢了,我得好好研究研究。

在次至谢。


--  作者:发哥
--  发布时间:2012/12/17 17:41:00
--  

您好,我按您的代码,理解并复制了一下,ok,这样正是我想要的结查,,但是那:按区域/客户的选择,我还是不会弄,麻烦您帮手在写一段,非常感谢。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:多表汇集及多条件任意汇总.table

另:我那“清空”的代码,不会写,就用关闭窗口,在打开窗口,来实现了,让您见笑。

 

按区域会出下拉选择后,在选择客户(都是通过表中已有数据,下拉选择的)

[此贴子已经被作者于2012-12-17 17:43:53编辑过]