以下月结代码有问题:比如A产品5月份盘点后录入了期初数据,6月份该产品没有发生进出,应该上月结存=本月结存=期初,但月结时根本没有该产品记录,不知错在哪?
DataTables("产品月结").DataRows.Clear
Dim dt As DataTable = DataTables("产品明细")
Dim str As String = e.Form.Controls("月").Text
Dim d As Date = new Date(str.SubString(0, 4), str.SubString(4,2), 1)
For Each cl As String In dt.GetValues("产品", "月 = '" & str & "'")
Dim dr As DataRow = DataTables("产品月结").AddNew
dr("月") = str
dr("产品") = cl
Dim Filter As String = "产品 = '" & cl & "' And 月 = '" & str & "'"
Dim dr1 As DataRow = DataTables("产品期初").Find("产品 ='" & cl & "' and 月 = '" & Format(d.AddMonths(-1), "yyyyMM") & "'")
If dr1 IsNot Nothing Then
dr("上月结存") = dr1("期初数量")
End If
dr("本月入仓") = dt.Compute("Sum(入仓数量)",Filter)
dr("本月出仓") = dt.Compute("Sum(出仓数量)",Filter)
dr("本月结存") = dr("上月结存") + dr("本月入仓") - dr("本月出仓")
Next
DataTables("产品月结").DeleteFor("产品 is Null") '字符行