-- 统计表的问题。
派工表 新增了“路程补助”列,怎改可以在统计表里按截至日期,统计 路程补助的合计金额呢?谢谢!
Dim dt As DataTable
Dim dtb As New DataTableBuilder("计分统计表")
dtb.AddDef("工号", Gettype(String), 16)
dtb.AddDef("计分金额", Gettype(Double))
dt = dtb.Build()
\'开始逐行累加统计
Dim lst As New Dictionary(of String ,DataRow) \'定义一个字典,用于检索每个工号在计分统计表中对应的行
For Each dr1 As DataRow In DataTables("派工_Table1").Select("截止日期>=\'" & sd & "\' and 截止日期 <\'" & ed.AddDays(1) & "\' and 交单=\'已交单\' and 工号 is not null")
If dr1.IsNull("工号") = False Then \'如果工号列不为空
Dim nms() As String = dr1("工号").Split(",") \'将工号列内容拆分成数组
Dim v As Double = dr1("计分金额") / nms.Length \'获得平均之后每个工号的生产计分金额
For Each nm As String In nms \'遍历参与加工此产品的每个工号
Dim dr2 As DataRow
If lst.ContainsKey(nm) \'如果集合中包括此工号对应的行
dr2= lst(nm) \'将此行赋值给变量dr2
Else
dr2 = dt.AddNew() \'否则增加一行.
dr2("工号") = nm \'新增行的工号列设置为此工号
lst.add(nm,dr2) \'将新增行添加到字典中,以便接下来检索
End If
dr2("计分金额") = dr2("计分金额") + v \'加上平均后的产量
Next
End If
Next
[此贴子已经被作者于2021/4/8 17:02:55编辑过]