ลองปรับโค๊ดเป็นแบบนี้แล้วทดสอบดูนะครับ
Dim strNum, strBarCode As String
Dim I, amount As Long
Dim db As Database
Dim rs As Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("table1", DB_OPEN_DYNASET)
For I = Me.txtBeginNumber To Me.txtEndNumber
strNum = Right("0000" & I, 4)
strBarCode = Trim(Me.txtModel) & Trim(Me.Text15) & Trim(strNum) & "R2"
If DCount("Barcode", "table1", "[Barcode] ='" & strBarCode & "'") > 0 Then
MsgBox "มีการลงทะเบียน Barcode นี้แล้ว", vbInformation, "Status"
Exit Sub
End If
If Nz(amount, 0) = 0 Then
amount = DCount("Barcode", "table1", "[Barcode] ='" & strBarCode & "'")
Else
amount = amount + DCount("Barcode", "table1", "[Barcode] ='" & strBarCode & "'")
End If
Next I
'เช็คเงื่อนไขการซ้ำให้เสร็จ แล้วตามด้วย ถ้าไม่มีข้อมูลซ้ำ amount = 0 ก็ทำการบันทึก
If amount = 0 Then
For I = Me.txtBeginNumber To Me.txtEndNumber
strNum = Right("0000" & I, 4)
rs.AddNew
rs![Barcode] = Trim(Me.txtModel) & Trim(Me.Text15) & Trim(strNum) & "R2"
rs.Update
Next
MsgBox "บันทึกสำเร็จ", vbInformation, "การบันทึก"
rs.Close
db.Close
Set rs = Nothing: Set db = Nothing
End If