以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]三张表如何汇总后导出,能教教方法吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46780)

--  作者:zmh4358
--  发布时间:2014/2/27 15:42:00
--  [求助]三张表如何汇总后导出,能教教方法吗?
三张表如何汇总后导出,能教教方法吗?今天领导交个任务是这样得,要我用三张表得信息汇总打在一张表上,这个怎么搞,,那个好心老师教我一教呀
图片点击可在新窗口打开查看此主题相关图片如下:qq图片20140227153728.jpg
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-2-27 15:42:37编辑过]

--  作者:Bin
--  发布时间:2014/2/27 15:45:00
--  
那你也得把三张表发上来啊,文件例子发上来才能帮到你
--  作者:zmh4358
--  发布时间:2014/2/27 15:52:00
--  
以下是引用Bin在2014-2-27 15:45:00的发言:
那你也得把三张表发上来啊,文件例子发上来才能帮到你

那谢谢BIN老师帮我解决大麻烦了


--  作者:狐狸爸爸
--  发布时间:2014/2/27 16:00:00
--  

你将三个表的数据合并到一个表再打印不好吗?


--  作者:zmh4358
--  发布时间:2014/2/27 16:04:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar


--  作者:Bin
--  发布时间:2014/2/27 16:06:00
--  
那三表,要怎么合并. 关联是什么? 
--  作者:zmh4358
--  发布时间:2014/2/27 16:15:00
--  
以下是引用Bin在2014-2-27 16:06:00的发言:
那三表,要怎么合并. 关联是什么? 

上面有图呀,,关联是,信息表和入库详单是产品序号关联得,,信息表和出库详单也是产品序号关联得,,

 

领导意思是,这个同产品同月同天发生得出库或入库有个数量,和现有数量 做一行,其它产品没发生过出入记录得不录入这个单子里,意思挺简单,但纠结了我一天,没懂这表应该怎么出

以前看帮助都是一张表对一张表,,没怎么注意引用父表那一章,,让老师们见笑了


--  作者:zmh4358
--  发布时间:2014/2/27 16:27:00
--  
以下是引用狐狸爸爸在2014-2-27 16:00:00的发言:

你将三个表的数据合并到一个表再打印不好吗?

老师得意思是不是出库详单和入库详单用合并命令,在导出一张Excel表格,在修式一下


--  作者:zmh4358
--  发布时间:2014/2/27 18:58:00
--  

老师,,到底怎么办呀,,能说说吗,,小白一枚,最好能说得清楚一点,谢谢

现在我勉强觉得先导出出库和入库,在导回,在合并,在做报表模版,在打印,,你们是不是也是这个意思,能不能在狐表里直接生成这样得,求方法

[此贴子已经被作者于2014-2-27 19:00:28编辑过]

--  作者:有点甜
--  发布时间:2014/2/27 20:14:00
--  
 原本准备用sql来做的,后来发觉你用了很多表达式。所以最后只能用代码来写了。

 你弄一个新的表,设置有相关的列,然后执行下面的代码就行了

Dim dt As DataTable = DataTables("汇总表")
dt.DataRows.Clear
Dim ls As List(of String()) = DataTables("入库详单").GetValues("入库日期|产品序号")
For Each ary As String() In ls
    Dim dr As DataRow = dt.AddNew
    dr("日期") = ary(0)
    Dim fdr As DataRow = DataTables("配件材料信息表").Find("产品序号 = \'" & ary(1) & "\'")
    If fdr IsNot Nothing Then
        dr("名称") = fdr("产品名称")
        dr("规格型号") = fdr("产品规格")
        dr("类型") = fdr("产品类型")
        dr("单位") = fdr("单位")
        dr("结存数量") = fdr("现有库存")
    End If
    dr("库存数量") = DataTables("入库详单").Compute("sum(入库数量)", "入库日期 = #" & ary(0) & "# and 产品序号 = \'" & ary(1) & "\'")
    fdr = DataTables("出库详单").Find("出库日期 = #" & ary(0) & "# and 产品序号 = \'" & ary(1) & "\'")
    If fdr IsNot Nothing Then
        dr("领用单位") = fdr("单位")
        dr("领用数量") = DataTables("出库详单").Compute("sum(出库数量)", "出库日期 = #" & ary(0) & "# and 产品序号 = \'" & ary(1) & "\'")
        Dim pdr As DataRow = DataTables("出库主表").Find("出库单号 = \'" & fdr("出库单号") & "\'")
        If pdr IsNot Nothing Then
            dr("发料人") = pdr("经手人")
            dr("领料人") = pdr("领料员")
        End If
        dr("使用地方") = fdr("取出库房")
    End If
Next

ls = DataTables("出库详单").GetValues("出库日期|产品序号")
For Each ary As String() In ls
    Dim fdr As DataRow = DataTables("配件材料信息表").Find("产品序号 = \'" & ary(1) & "\'")
    If fdr IsNot Nothing Then
        If dt.Find("日期 = #" & ary(0) & "# and 名称 = \'" & fdr("产品名称")  & "\' and 规格型号 = \'" & fdr("产品规格") & "\'") Is Nothing Then
            Dim dr As DataRow = dt.AddNew
            dr("日期") = ary(0)
            dr("名称") = fdr("产品名称")
            dr("规格型号") = fdr("产品规格")
            dr("类型") = fdr("产品类型")
            dr("单位") = fdr("单位")
            dr("结存数量") = fdr("现有库存")
            
            fdr = DataTables("出库详单").Find("出库日期 = #" & ary(0) & "# and 产品序号 = \'" & ary(1) & "\'")
            If fdr IsNot Nothing Then
                dr("领用单位") = fdr("单位")
                dr("领用数量") = DataTables("出库详单").Compute("sum(出库数量)", "出库日期 = #" & ary(0) & "# and 产品序号 = \'" & ary(1) & "\'")
                Dim pdr As DataRow = DataTables("出库主表").Find("出库单号 = \'" & fdr("出库单号") & "\'")
                If pdr IsNot Nothing Then
                    dr("发料人") = pdr("经手人")
                    dr("领料人") = pdr("领料员")
                End If
                dr("使用地方") = fdr("取出库房")
            End If
        End If
    End If
Next