Foxtable(狐表)用户栏目专家坐堂 → [求助]关联问题


  共有2973人关注过本帖树形打印复制链接

主题:[求助]关联问题

帅哥哟,离线,有人找我吗?
77611471
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:97 积分:870 威望:0 精华:0 注册:2016/9/27 14:05:00
[求助]关联问题  发帖心情 Post By: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表没的对应的“订单编号”,别的表都有。现在问题是,如果订单编号不同的情况下,产品编号相同,就会出现重复的问题,应该是如何改?或是采用什么别的方式?

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/11/2 10:01:00 [只看该作者]

没看懂你的意思,你是要加上订单编号作为条件?

 

e.DataRow("工时成本_木工") = DataTables("订单工时成本").Compute("Avg(单位工时成本)","[产品编号] = '" & e.DataRow("产品编号") & "' and 订单编号 = '" & e.DataRow("订单编号") & "' and 部门='木工'")


 回到顶部
帅哥哟,离线,有人找我吗?
77611471
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:97 积分:870 威望:0 精华:0 注册:2016/9/27 14:05:00
  发帖心情 Post By:2016/11/2 10:23:00 [只看该作者]

这个关系我也没想明白,表达不出来。就是我有几张表,要分别从几张表里取出以订单号,产品编号为条件的数,但是产品编号在不同订单里面可能会重复。应该怎么么样做?





 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/2 10:32:00 [只看该作者]

2楼不说了么?加上订单编号作为条件

 回到顶部
帅哥哟,离线,有人找我吗?
77611471
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:97 积分:870 威望:0 精华:0 注册:2016/9/27 14:05:00
  发帖心情 Post By:2016/11/2 10:43:00 [只看该作者]

如果我要取日期应该怎么改呢?

以产品编号和订单号为条件,取一个表的“完成日期”

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110738 积分:563610 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/11/2 10:57:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By: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

 


 回到顶部