If e.DataCol.Name = "出入库日期" Then
If e.DataRow("出入库记录数") = 0 AndAlso e.DataRow("出入库记录数2") = 0 Then
If e.DataRow.IsNull("出入库日期") Then
e.DataRow("出入库单号") = Nothing
Else
Dim d As Date = e.DataRow("出入库日期")
Dim y As Integer = d.Year
Dim m As Integer = d.Month
Dim Days As Integer = Date.DaysInMonth(y, m)
Dim fd As Date = New Date(y, m, 1) '获得该月的第一天
Dim ld As Date = New Date(y, m, Days) '获得该月的最后一天
Dim bh As String = Format(d, "yyyyMMdd") '生成代号前8位
Dim max As String
Dim idx As Integer
max = e.DataTable.SQLCompute("Max(当天序号)", "出入库日期 = '" & e.DataRow("出入库日期") & "' And [_Identify] <> " & e.DataRow("_Identify")) '取得当天的最大序号
If max > "" Then '如果存在最大当天序号
idx = max + 1 '当天序号加1
Else
idx = 1 '否则当天序号等于1
End If
e.DataRow("当天序号") = idx
e.DataRow("出入库单号") = bh & "-" & Format(idx, "00")
e.DataRow.save
End If
end if
End If
上面的代码用于取得全公司统一的、不重复的"当天序号",但是,在多用户的情况下,这个"当天序号"会出现重复的情况。请问是什么原因呢?谢谢。