每当用户提交他们填写的表格时,我都有一个表格来生成合同号。这是示例编号:
00001/ABC/DEF/01/2013
序列号由“00001”表示。这意味着下一个在同一年提交它的用户将获得下一个数字“00002”。为了处理这个问题,我在提交按钮中使用了这段代码:
Dim strSQL As String, cNumber As Integer
strSQL = "SELECT TOP 1 Contract_No FROM T_Report WHERE Year=2013 ORDER BY Contract_No DESC "
Set rs = Db.OpenRecordset(strSQL)
If rs.RecordCount > 0 Then
cNumber = Left(rs!Contract_No, 5) + 1
Else
cNumber = 1
End If
当用户在不同的时间提交它时它工作正常。当 2 个或更多用户同时生成它时,就会出现问题。例如userA和userB一起点击按钮,他们会得到'00001'和'00001'。我想要的是另一个用户得到'00002'、'00003'等等。有人可以帮我吗?