以文本方式查看主题 - 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 --
|
||||
-- 作者: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 |