Ik heb een tabel Klanten met daarin het veld Nederlandse_Naam. Hierop is een formulier gebaseerd. Ik zou willen bekomen dat bij het verlaten van het veld Nederlandse_Naam in het formulier Planteninvoerformulier ik onmiddellijk een bericht krijg dat het ingevoerde al in de tabel Klanten voorkomt. Deze tabel Klanten is voor dat veld ingesteld op Geen Duplicaten. Kreeg reeds het volgende van iemand maar het werkt niet, ik krijg telkens enkel een foutmelding Wie helpt deze VBA-leek? Bedankt!
Dit is de foutmelding:
De expressie Na bijwerken die u hebt opgegeven als instelling voor de gebeurteniseigenschap, heeft de volgende fout veroorzaakt: Verwacht: Text of Binary.
* Er is een fout opgetreden bij het evalueren van een functie, gebeurtenis of macro.
Eerste methode:
Sub Nederlandse_Naam_AfterUpdate()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT [Nederlanse_Naam] FROM [Planten] WHERE [Nederlanse_Naam] = """ & Me.Nederlanse_Naam & """")
With rs
If .RecordCount > 0 Then
MsgBox "'" & Me.Nederlanse_Naam & "' komt al voor", vbOKOnly, "Dubbele naamcheck"
Me.Nederlanse_Naam = Null
End If
End With
Tweede methode:
Private Sub Nederlandse _naam_AfterUpdate()
If fZoekOp(Me!Nederlandse_Naam ) Then
MsgBox "die waarde komt al voor"
Else
MsgBox "invoer niet gevonden"
End If
End Sub
Function fZoekOp(s As String) As Boolean
Dim fld As Object
With CurrentDb.OpenRecordset("Klanten")
While Not .EOF And Not fZoekOp
For Each fld In .Fields
If fld.Value = s Then
fZoekOp = True
Exit For
End If
Next
.MoveNext
Wend
End With
End Function