以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关联问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92371) |
-- 作者:77611471 -- 发布时间:2016/11/2 9:52:00 -- [求助]关联问题 单柜成本汇总表
编号() ----> 整数 ----> [_Identify] 订单编号() ----> 字符型(100) ----> Parent(订单_汇总).订单编号 产品编号() ----> 字符型(200) 订单数量() ----> 字符型(100) ----> Parent(订单_汇总).订单数量 装配完成时间() ----> 日期型 板材成本() ----> 双精度小数 包装箱板材成本() ----> 双精度小数 油漆成本() ----> 双精度小数 BOM成本() ----> 双精度小数 工时成本_木工() ----> 双精度小数 工时成本_涂装() ----> 双精度小数 工时成本_装配() ----> 双精度小数 工时成本_光电() ----> 双精度小数 工时成本_五金() ----> 双精度小数
If e.DataCol.Name
= "产品编号" Then \'发生变化的是产品列. \'则累计订单表中同名产品总的销售量,然后赋值给变动行的数量列 e.DataRow("BOM成本")
= DataTables("BOM表").Compute("Sum(金额)","[产品编号] =
\'" & e.NewValue & "\'") e.DataRow("板材成本")
= DataTables("板材用料表").Compute("Sum(金额)","[产品编号] =
\'" & e.NewValue & "\'") e.DataRow("油漆成本")
= DataTables("油漆用量表").Compute("Sum(单机金额)","[产品编号] =
\'" & e.NewValue & "\'") e.DataRow("包装箱板材成本")
= DataTables("包装箱临时表").Compute("Sum(金额)","[产品编号] =
\'" & e.NewValue & "\'")
e.DataRow("工时成本_木工")
= DataTables("订单工时成本").Compute("Avg(单位工时成本)","[产品编号] =
\'" & e.NewValue & "\' and 部门=\'木工\'") e.DataRow("工时成本_涂装")
= DataTables("订单工时成本").Compute("Avg(单位工时成本)","[产品编号] =
\'" & e.NewValue & "\' and 部门=\'涂装\'") e.DataRow("工时成本_装配")
= DataTables("订单工时成本").Compute("Avg(单位工时成本)","[产品编号] =
\'" & e.NewValue & "\' and 部门=\'装配\'") e.DataRow("工时成本_光电")
= DataTables("订单工时成本").Compute("Avg(单位工时成本)","[产品编号] =
\'" & e.NewValue & "\' and 部门=\'光电\'") e.DataRow("工时成本_五金")
= DataTables("订单工时成本").Compute("Avg(单位工时成本)","[产品编号] =
\'" & e.NewValue & "\' and 部门=\'五金\'") end if 单柜成本汇总表分别从下面的这些表取数 装配完成时间() ----> 订单工时成本 板材成本() ----> 板材用料表 包装箱板材成本() ----> 包装箱临时表 油漆成本() ----> 油漆用量表 BOM成本() ----> BOM表 工时成本_木工() ----> 订单工时成本 工时成本_涂装() ----> 订单工时成本 工时成本_装配() ----> 订单工时成本 工时成本_光电() ----> 订单工时成本 工时成本_五金() ----> 订单工时成本 各个表间除了BOM表没的对应的“订单编号”,别的表都有。现在问题是,如果订单编号不同的情况下,产品编号相同,就会出现重复的问题,应该是如何改?或是采用什么别的方式? |
-- 作者:有点色 -- 发布时间:2016/11/2 10:01:00 -- 没看懂你的意思,你是要加上订单编号作为条件?
e.DataRow("工时成本_木工") = DataTables("订单工时成本").Compute("Avg(单位工时成本)","[产品编号] = \'" & e.DataRow("产品编号") & "\' and 订单编号 = \'" & e.DataRow("订单编号") & "\' and 部门=\'木工\'") |
-- 作者:77611471 -- 发布时间:2016/11/2 10:23:00 -- 这个关系我也没想明白,表达不出来。就是我有几张表,要分别从几张表里取出以订单号,产品编号为条件的数,但是产品编号在不同订单里面可能会重复。应该怎么么样做? |
-- 作者:有点蓝 -- 发布时间:2016/11/2 10:32:00 -- 2楼不说了么?加上订单编号作为条件 |
-- 作者:77611471 -- 发布时间:2016/11/2 10:43:00 -- 如果我要取日期应该怎么改呢? 以产品编号和订单号为条件,取一个表的“完成日期”
|
-- 作者:有点蓝 -- 发布时间:2016/11/2 10:57:00 -- Find:http://www.foxtable.com/webhelp/scr/0396.htm |
-- 作者:有点色 -- 发布时间:2016/11/2 11:44:00 -- Dim fdr As DataRow = DataTables("某表").Find("[产品编号] = \'" & e.DataRow("产品编号") & "\' and 订单编号 = \'" & e.DataRow("订单编号") & "\'") If fdr IsNot Nothing Then msgbox(fdr("完成时间")) End If
|