Вы можете проверить, существует ли запись с помощью вспомогательной функции, и добавить только, если нет.
Public Function Exists(ByVal Value As String) As Boolean
Exists = DCount("*","tempTable","[field1]='" & Value & "'") > 0
End Function
Затем внутри вашего цикла проверьте каждую запись, прежде чем пытаться вставить.
For intCurrentRow = 0 To ctlSource.ListCount - 1
If ctlSource.Selected(intCurrentRow) Then
If Not Exists(Forms![myForm]![listbox1].Column(1, intCurrentRow)) Then
With rst
.AddNew
![field1] = Forms![myForm]![listbox1].Column(1, intCurrentRow)
![field2] = Forms![myForm]![listbox1].Column(0, intCurrentRow)
.Update
End With
Forms![myForm]!listbox2.Requery
End If
End If
Next intCurrentRow
Обратите внимание, что в приведенном выше примере ожидается String
. В случае числового значения вам необходимо удалить кавычки '
'
.