For Each dr As DataRow In DataTables("采购明细").Select("")
Dim d As Date = dr("到货时间")
Dim bh As String = Format(d,"yyyyMMdd") & "-" '生成编号的前缀
Dim max As String
Dim idx As Integer
Dim flt As String
flt = "供应商 = '"& dr("供应商") & "' And 到货时间 >= #" & d & "# And 到货时间 < #" & d.AddDays(1) & "# And [_Identify] <> " & dr("_Identify")
max = dr.DataTable.Compute("Max(采购订单号)",flt)
If max > "" Then '如果存在最大单据编号
idx = CInt(max.Substring(bh.length,4))
Else
flt = "到货时间 >= #" & d & "# And 到货时间 < #" & d.AddDays(1) & "# And [_Identify] <> " & dr("_Identify")
max = dr.DataTable.Compute("Max(采购订单号)",flt)
if max > "" then
idx = CInt(max.Substring(bh.length,4)) + 1 '获得最大单据编号的后四位顺序号,并加1
else
idx = 1 '否则顺序号等于1
end if
End If
dr("采购订单号") = bh & Format(idx,"0000")
Next