以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 用料计算 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=174227)
|
-- 作者:实话实说
-- 发布时间:2022/1/6 11:43:00
-- 用料计算
有2个表:数量表和用料表。想在数量表中中先对数量按产品代码进行汇总后再计算用料(红色代码)为什么不行?
If e.DataCol.Name = "数量" Then
Dim b As New CrossTableBuilder("数量汇总",DataTables("产品数量")) b.HGroups.AddDef("产品代码") \'添加列水平分组 b.Totals.AddDef("数量") \'b.Build \'生成统计表
Dim Filter As String = "[产品代码] = \'" & e.DataRow("产品代码") & "\'" Dim dts As List(Of DataRow) = DataTables("BOM").Select(Filter) For Each dt As DataRow In dts If dt IsNot Nothing Then \'dt("计算用料") = dt("千米用料") * e.DataRow("数量") dt("计算用料") = dt("千米用料") * b.DataRow("数量") Else dt("计算用料") = 0 End If Next End If
此主题相关图片如下:snap1.jpg

|
-- 作者:有点蓝
-- 发布时间:2022/1/6 11:47:00
--
没有添加垂直分组。如果不需要垂直分组,请使用分组统计,不要使用交叉统计
|
-- 作者:实话实说
-- 发布时间:2022/1/6 12:32:00
--
这段代码有问题
dt("计算用料") = dt("千米用料") * b.DataRow("数量")
|
-- 作者:有点蓝
-- 发布时间:2022/1/6 13:42:00
--
这个代码想要干嘛?
|
-- 作者:实话实说
-- 发布时间:2022/1/6 13:43:00
--
If e.DataCol.Name = "数量" Then
Dim b As New GroupTableBuilder("数量汇总",DataTables("产品数量")) b.Groups.AddDef("产品代码") b.Totals.AddDef("数量") b.Build \'生成统计表
Dim Filter As String = "[产品代码] = \'" & e.DataRow("产品代码") & "\'" Dim dts As List(Of DataRow) = DataTables("BOM").Select(Filter) For Each dt As DataRow In dts If dt IsNot Nothing Then \'dt("计算用料") = dt("千米用料") * e.DataRow("数量") dt("计算用料") = dt("千米用料") * b.DataRow("数量") Else dt("计算用料") = 0 End If Next End If
此主题相关图片如下:snap1.jpg

[此贴子已经被作者于2022/1/6 13:44:37编辑过]
|
-- 作者:实话实说
-- 发布时间:2022/1/6 13:46:00
--
再产品数量表中,可能有重复的产品,先汇总产品数量再计算
|
-- 作者:有点蓝
-- 发布时间:2022/1/6 13:46:00
--
交叉统计没有DataRow这种属性,这个代码想要干嘛?
|
-- 作者:实话实说
-- 发布时间:2022/1/6 14:00:00
--
那如何引用数量汇总表的数量汇总数据?
我改用的是分组统计,5楼代码
[此贴子已经被作者于2022/1/6 14:00:53编辑过]
|
-- 作者:有点蓝
-- 发布时间:2022/1/6 14:06:00
--
数量汇总表如果有好多行,要取哪一行数据?
|
-- 作者:实话实说
-- 发布时间:2022/1/6 14:51:00
--
用料表:计算用料 = 千米用料 * 数量 (按产品代码计算)
其中:数量是产品数量表中的字段,需要按产品代码汇总后再用于上述公式,
|