PDA

Vollständige Version anzeigen : Doppelte Datensätze vermeiden


KAB
12.07.2006, 07:13
Hallo,

ich hab mal wieder ein Problem!

Ich habe ein Formular angelegt, in dem ich Name und Firma eingebe!
Ich möchte aber nicht, dass doppelte Namen angelegt werden.

Mit der Einstellung "Indiziert - Ja, Ohne Duplikate" bin ich nicht zufrieden, ich möchte die Fehlermeldung, die dann von Access kommt vermeiden!

In einem Forum hab ich was gefunden, bring es aber von der Syntax nicht hin!

Aber versuch doch mal, before update mit Hilfe von dlookup zu
schauen, ob der Wert schon vergeben ist. Falls ja kannst du eine
msgbox hochkommen lassen und mit cancel=true verhinderst du das
Speichern des DS und somit auch die Meldung.

Kann mir jemand helfen? :rolleyes:

WDKA-Jürgen
12.07.2006, 07:26
Hallo,
ich habe in einer Schaltfläche "Datensatz Speichern" folgenden Codeausschnitt

Err_DatensatzSpeichern_Click:

If Err.Number = 3022 Then
DoCmd.OpenForm "ZZ 3 Doppelteeingaben", , , , , acDialog
Exit Sub
End If


MsgBox Err.Description & Chr(13) & " Fehlernummer = " & Err.Number



Resume Exit_DatensatzSpeichern_Click


Die Fehlernummer brauchst du nur abzufangen

mfg

Jürgen

SWR
12.07.2006, 07:31
... oder um an Deine ursprüngliche Vorgehensweise anzuknüpfen:
Private Sub Form_BeforeUpdate(Cancel As Integer)
If DCount("*", "Tabellenname", "[DeinFeldname]='" & Me!DeinFormularFeld & "'") Then
MsgBox "Name vorhanden", vbCritical, "Hinweis"
Cancel = True
Undo
End If
End Sub

(Genau lesen: "'" = " ' ")

KAB
12.07.2006, 09:22
Hallo,

vielen Dank für die Hilfe!
Hab mich für die 2. Möglichkeit entschieden, weil das auch meine Idee gewesen wäre.

Funktioniert super!

Danke!! :)

xStaer
15.08.2006, 15:51
Hallo,

habe auch so eine Lösung gesucht und hat super funktioniert.

Vielen Dank

blauerhund
19.02.2007, 10:36
hi

ich mach auch grad eien kleine DB.

und bräucht dieses ausschlusskriterium auch.
nur wo kann ich den code eingaben?