Dim s As String = e.Form.Controls("月份").Value
If s <> "" Then
Tables("库存明细表").StopRedraw() '停止重绘
DataTables("库存明细表").DataRows.Clear
Dim dt_in As List(Of DataRow)
dt_in = DataTables("进货单明细表").Select("商品编号 is not null", "品牌名称,系列名称,商品类别,商品编号,商品名称,规格,型号,单位,方向,色号,月份") '排序取出 入仓 全部数据
Dim r As Row
Dim sum_curr_count, sum_prev_count As Integer
r = Tables("库存明细表").AddNew
r("品牌名称") = dt_in(0)("品牌名称")
r("系列名称") = dt_in(0)("系列名称")
r("商品类别") = dt_in(0)("商品类别")
r("商品编号") = dt_in(0)("商品编号")
r("商品名称") = dt_in(0)("商品名称")
r("规格") = dt_in(0)("规格")
r("型号") = dt_in(0)("型号")
r("方向") = dt_in(0)("方向")
r("单位") = dt_in(0)("单位")
r("色号") = dt_in(0)("色号")
If dt_in(0)("月份") < s Then '之前月
sum_prev_count = sum_prev_count + dt_in(0)("数量")
Else If dt_in(0)("月份") = s Then '本月份
sum_curr_count = sum_curr_count + dt_in(0)("数量")
End If
For i As Integer = 1 To dt_in.Count - 1 '写入型号和规格,同时统计入仓数量和金额
If dt_in(i)("商品编号") <> dt_in(i-1)("商品编号") Then '不同产品
r("本月_进货数量") = sum_curr_count
r("期初_结存数量") = sum_prev_count '暂存
r = Tables("库存明细表").AddNew '插入新数据
r("品牌名称") = dt_in(i)("品牌名称")
r("系列名称") = dt_in(i)("系列名称")
r("商品类别") = dt_in(i)("商品类别")
r("商品编号") = dt_in(i)("商品编号")
r("商品名称") = dt_in(i)("商品名称")
r("型号") = dt_in(i)("型号")
r("规格") = dt_in(i)("规格")
r("单位") = dt_in(i)("单位")
r("方向") = dt_in(i)("方向")
r("色号") = dt_in(i)("色号")
sum_curr_count = 0
sum_prev_count = 0
End If
If dt_in(i)("月份") < s Then '之前月
sum_prev_count = sum_prev_count + dt_in(i)("数量")
Else If dt_in(i)("月份") = s Then '本月份
sum_curr_count = sum_curr_count + dt_in(i)("数量")
End If
Next
r("本月_进货数量") = sum_curr_count
r("期初_结存数量") = sum_prev_count '暂存
For Each dr As DataRow In DataTables("库存明细表").DataRows '填充统计数据
sum_curr_count = 0 '累计本月出仓数量
sum_prev_count = 0 '累计之前出仓数量
Dim drs_out As List(Of DataRow)
Dim filter As String = "品牌名称 = '" & dr("品牌名称") & "' And 系列名称 = '" & dr("系列名称") & "'And 商品类别 = '" & dr("商品类别") & "'And 商品编号 = '" & dr("商品编号") & "'And 商品名称 = '" & dr("商品名称") & "'And 规格 = '" & dr("规格") & "'And 型号 = '" & dr("型号") & "'And 单位 = '" & dr("单位") & "'And 方向 = '" & dr("方向") & "'And 色号 = '" & dr("色号") & "'"
drs_out = DataTables("出货单明细表").Select(filter, "月份") '排序取出 出仓 全部数据
For Each dr_out As DataRow In drs_out
If dr_out("月份") < s Then
sum_prev_count = sum_prev_count + dr_out("出货数量")
Else If dr_out("月份") = s Then
sum_curr_count = sum_curr_count + dr_out("出货数量")
Else
Exit For
End If
Next
Dim sum_in_prev_count As Integer = dr("期初_结存数量") '从表中取出暂存数据
dr("本月_出货数量") = sum_curr_count
dr("期初_结存数量") = sum_in_prev_count - sum_prev_count
dr("期末_结存数量") = dr("期初_结存数量") + dr("本月_进货数量") - dr("本月_出货数量")
Next
Tables("库存明细表").ResumeRedraw()
End If
老师,麻烦给看一下,我这个本月的出货数量填充不到库存明细表里