Я создаю приложение для автоматического создания серийных номеров продуктов. Я использую команду вставки в команду, и она просто изменяет первую запись таблицы, а не создает новую запись с назначенным серийным номером. Когда я иду шаг за шагом, я вижу, что все записи имеют желаемые значения, но при их выполнении изменяется только первый серийный номер.
Function CreateRFBarrier(pfrm As Object, pValue As String) As Boolean
Dim db As Database
Dim LInsert As String
Dim LSerialNumber As String
Dim LLoop As Integer
On Error GoTo Err_Execute
Set db = CurrentDb()
LLoop = 1
'Create number of records based on BuildQuantity value
While LLoop <= pfrm.BuildQuantity
'Get next SerialNumber value (sequential number)
LSerialNumber = NewItemCode("OD")
If LSerialNumber = "" Then
GoTo Err_Execute
End If
'Create new record
LInsert = "Insert into RFBarrier "
LInsert = LInsert & " VALUES ("
LInsert = LInsert & "'" & LSerialNumber & "'"
LInsert = LInsert & ", " & pfrm.WorkOrder
LInsert = LInsert & ", " & pfrm.BuildQuantity
LInsert = LInsert & ", " & pfrm.DateCreated & ""
LInsert = LInsert & ", " & pfrm.CreatedBy & ")"
db.Execute LInsert, dbFailOnError
LLoop = LLoop + 1
Wend
Set db = Nothing
CreateRFBarrier = True
Exit Function
Err_Execute:
'An error occurred
CreateRFBarrier = False
MsgBox "An error occurred while trying to add new RFBarrier serial numbers."
End Function