有点甜老师:
谢谢您这两天的指导,我按您的指导,已经将所作的表格进一步完善了.现在有两个问题.一是:如果某人第一天售出的是3张,我手工录入起号是5001,止号是5003.要是第二天.他又售出10张,如何写编码自动生成下次的起号.也就是从5004到5013张.另外如何计算表中的结存金额.现将我按您的指导写的编码及相关截图符上..请老师将组合后的代码帮我写一下.
Select Case e.DataCol.Name
Case "姓名","上年结转_张数","领入_张数","售出_张数","结存张数","产品","入库","出库"
Dim dr As DataRow
Dim mr As DataRow = e.DataRow
Dim drs As List(of DataRow)
dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [姓名] = '" & mr("姓名") & "'", "[_SortKey] Desc")
If dr Is Nothing Then '如果没有上一行,说明本行就是同产品的第一行
mr("结存张数") = mr("上年结转_张数") + mr("领入_张数") - mr("售出_张数")
dr = mr
End If
drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [姓名] = '" & dr("姓名") & "'")
For i As Integer = 1 To drs.Count - 1 '重算余下行的余额
drs(i)("结存张数") = drs(i-1)("结存张数") + drs(i)("上年结转_张数") + drs(i)("领入_张数") - drs(i)("售出_张数")
Next
End Select