If drs1.Count > 0 Then '1
For i1 = 0 To drs1.Count - 1 '2对单重还没有的行的集合进行遍历计算
ys = drs1(i1)("元素")
dr1 = dt.Find("隶属 = '" & ys & "' and 单重 is null") '寻找这个集合里需要计算单重的这个元素其中一个子元素,这个子元素是还没有单重的
If dr1 Is Nothing Then '3 如果这个子元素不存在,意思就是所要计算的元素的下属所有子元素都已经有了现成的单重
drs2 = dt.Select("隶属 = '" & ys & "' and 单重 is not null") '那么获取需要计算的元素的所有子元素的集合
If drs2.Count > 0 Then '4
For i2 = 0 To drs2.Count - 1 '5
danz = danz + drs2(i2)("隶属数量") * drs2(i2)("单重") '对这个元素的所有子元素的单重和数量进行汇总
Next '5
End If '4
End If '3
drs1(i1)("单重重计") = danz ' 赋值
Next '2
End If '1