Hallo,
ich möchte vor dem Speichern eines neuen Datensatzes überprüfen, ob der neu eingegebende Wert in den zwei Steuerelementen "txtNachname" und "txtVorname" in genau dieser Kombination schon in der Tabelle "tblMitarbeiter" existiert, mit anderen Worten: Es soll überprüft werden, ob der Mitarbeiter schon vorhanden ist, der Name wird in der "tblMitarbeiter" in den zwei Spalten "txtNachname" und "txtVorname" gespeichert.
Ich habe schon einige Hinweise gefunden, wie es mit einem Feld funktioniert, aber ich schaffe es nicht, das auf zwei Felder zu erweitern.
Welches Ereignis ist dafür geeignet und wie lautet der VBA-Code?
Danke und lg,
Florian
Hallo,
was soll passieren, wenn eine Doppelung gefunden wird, trotzdem anlegen ?
Vor und Nachname reichen zur Prüfung nicht. Ein Hans Schmitt (oder andere häufige Namen) kann es durchaus 2x geben, wenn nicht jetzt, so in der Zukunft.
In die Prüfung sollte mindestens noch das Geburtsdatum.
Hallo,
hierzu (und überhaupt) noch eine grundsätzliche Anmerkung meinerseits:
Zitataber ich schaffe es nicht, das auf zwei Felder zu erweitern.
Zeige was du hast und wir helfen dir, es zu ergänzen bzw. zu modifizieren.
Das hat den Vorteil, dass man eine gemeinsame Grundlage hat, wodurch Missverständnisse, aber auch unnötiger Zeitaufwand der Helfer vermieden werden.
Zitat von: MzKlMu am April 18, 2016, 19:40:16
was soll passieren, wenn eine Doppelung gefunden wird, trotzdem anlegen ?
Nein, er soll nicht angelegt werden. Aber das ist kein Problem. Mir geht es nur um die Prüfung.
Die entscheidende Zeile ist:
DCount("*", "tblMitarbeiter", "[txtVorname] = 'Max' AND [txtNachname] = 'Mustermann'")Der Wert für Max soll aus dem Textfeld mit dem Namen "txtVorname" kommen und der Wert für Mustermann aus dem Textfeld "txtNachname" - Die Textfelder und die Spalten in der Tabelle haben also identische Namen. Ich verstehe nicht, woher VBA weiß, ob eine Tabellenspalte oder ein Textfeld gemeint sind. Hat es was mit den eckigen Klammern zu tun?
Könnt ihr mir bitte den DCount-Befehl entsprechend verändern?
Danke.
Hallo,
so sollte das passen.
DCount("*", "tblMitarbeiter", "[txtVorname] = '" & Me.txtVorname & "' And [txtNachname] = '" & Me.txtNachname & "'")
Me. verweist auf ein Formularfeld.
Und was ist mit meinen anderen Hinweisen ?