以下是引用唐尸三摆手在2011-12-23 18:01:00的发言:
帮忙看下,如果需要生成B序的明细,也就是想知道B序某天的数量是有A序哪天的数量组合而成的,有什么高见吗
Dim nr As Row
Dim fl1,fl2 As String
Dim i,sum,n,n1,n2 As Integer
Dim drs ,drs1 As New List(of DataRow)
Dim t As Table = Tables("明细表")
Dim dt As DataTable = DataTables("表A")
fl1= "顺序 = 'A'"
fl2 = "顺序 = 'B'"
drs = dt.Select(fl1,"日期")
drs1 = dt.Select(fl2,"日期")
t.DataTable.DataRows.Clear
For Each dr As DataRow In drs1
sum = dr("数量")
For i = n To drs.count-1
If sum > n1 Then
nr = t.Addnew
nr("ID") = dr("_Identify")
nr("日期") = drs(i)("日期")
nr("顺序") = "A"
If i = 0 OrElse sum-n1> drs(i)("数量") OrElse sum<n1 Then
nr("数量") = drs(i)("数量")
Else
nr("数量") = sum-n1
End If
sum-=n1
n1 = nr("数量")
Else
nr = t.Addnew
nr("ID") = drs1(n2+1)("_Identify")
nr("日期") = drs(i-1)("日期")
nr("顺序") = "A"
nr("数量") = iif(drs(i)("数量")<n1,drs(i-1)("数量"),drs(i)("数量"))-n1
n1 = nr("数量")
n=i
Exit For
End If
Next
n2+=1
Next
[此贴子已经被作者于2011-12-26 0:54:55编辑过]