If e.DataCol.Name = "入库日期" Then
If e.DataRow("入库日期") <> Nothing Then
Dim bh As String = Format(e.DataRow("入库日期"),"yyyyMMdd") '取得编号的8位前缀
If e.DataRow("入库单号").StartsWith("R"&bh) = False '如果编号的前6位不符
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "Select * From {成品入库表} where ( 入库日期 ="'"e.DataRow( "入库日期") "'") "
dt = cmd.ExecuteReader()
Dim max As String
Dim idx As Integer
max = dt.Compute ("Max(入库单号)","入库日期 = # " & e.DataRow("入库日期") & " # ")
'(下单日期 >= #" & fd & "# And 下单日期 <= #" & ld & "#) or (编号) like '" & bh & "%'") '取得该月的最大编号
If max > "" Then '如果存在最大编号
idx = CInt(max.Substring(11,2)) + 1 '获得最大编号的后三位顺序号,并加1
Else
idx = 1 '否则顺序号等于1
End If
e.DataRow("编号") = "R" & bh & Format(idx,"00")
e.DataRow.save
End If
End If
End If
狐爸,请帮我看看自动编号的问题,谢谢。提示“=” 附近有错误。可能是这句的问题。
cmd.CommandText = "Select * From {成品入库表} where ( 入库日期 ="'"e.DataRow( "入库日期") "'") "
dt = cmd.ExecuteReader()
[此贴子已经被作者于2013-3-19 9:05:26编辑过]