非常感谢您不厌其烦的给我解答问题。我已根据您给的代码完成自动输入累计,同时又增加了一个逻辑列累计,就是当该列为是时,就统计结果,否则不合计,如图。
此主题相关图片如下:123.jpg
代码如下:
DataTables("班产量表").DataRows.Clear() '清除原来的数据
For Each nm() As String In DataTables("坯布输入").GetUniqueValues("","班别","年","月")
Dim dr As DataRow = DataTables("班产量表").AddNew()
Dim ft As Date = new Date(Date.Today.Year,Date.Today.Month,1)
dr("年") = nm(1)
dr("月") = nm(2)
dr("班别") = nm(0)
dr("产量_本日") = DataTables("坯布输入").compute("Sum(产量)","班别 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' and 日期 = #" & Date.Today & "#")
dr("产量_累计") = DataTables("坯布输入").compute("Sum(产量)","班别 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' and 日期 >= #" & ft & "# And 日期 <= #" & Date.Today & "#")
dr("双面_本日") = DataTables("坯布输入").compute("Sum(产量)","班别 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' And 双面 = '" & True & "' and 日期 = #" & Date.Today & "#")
dr("双面_累计") = DataTables("坯布输入").compute("Sum(产量)","班别 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' And 双面 = '" & True & "' and 日期 >= #" & ft & "# And 日期 <= #" & Date.Today & "#")
dr("扣分_本日") = DataTables("坯布输入").compute("Sum(扣分)","班别 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' and 日期 = #" & Date.Today & "#")
dr("扣分_累计") = DataTables("坯布输入").compute("Sum(扣分)","班别 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' and 日期 >= #" & ft & "# And 日期 <= #" & Date.Today & "#")
dr("重量_本日") = DataTables("坯布输入").compute("Sum(总重)","班别 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'AND 月 = '" & nm(2) & "' and 日期 = #" & Date.Today & "#")
dr("重量_累计") = DataTables("坯布输入").compute("Sum(总重)","班别 = '" & nm(0) & "' AND 年 = '" & nm(1) & "'And 月 = '" & nm(2) & "' and 日期 >= #" & ft & "# And 日期 <= #" & Date.Today & "#")
Next