Supportnet / Forum / Datenbanken
keine doppelten Werte
Frage
Hallo, ich bin am verzweifeln. Ich brauch dringen Hilfe.
Ich habe eine Tabelle. In dieser Tabelle gibt es ein Feld mit Rufnummern. Von dieser Tabelle gibt es ein Formular.
Wenn ich im Formular eine Rufnummer eingebe, möchte ich mit "diese Rufnummer gib es schon" gewarnt werden.
In der Tabelle habe ich "Ja (Ohne Duplikate)" ausgewählt.
Es kommt auch eine Fehlermeldung, doch die versteht kein Mensch.
Weiss einer eine Lösung?
Vielen Dank schon mal
Margret
Antwort 1 von reinhold_m
Eine mögliche Lösung wäre vor dem Abspeichern der folgende VBA-Code:
Dim rs as Recordset
Set rs = Currentdb.OpenRecordset("SELECT COUNT(rufnummernfeld) as anz FROM tabelle WHERE rufnummernfeld = " & Me.rufnummernfeld)
if rs!anz > 0 Then
if MsgBox("Diese Nummer gibt es schon",vbOK,"Hinweis")= vbOk Then
Me.rufnummernfeld.SetFocus
Me.rufnummernfeld = ""
Exit Sub
End If
End If
rs.Close
Damit wird in der Tabelle nachgeschaut, ob ein entsprechender Datensatz schon vorhanden ist, der Zähler anz bekommt einen Wert größer 0 wenn die Nummer vorhanden ist und die If - Abfrage wertet den ganzen Salat aus. Nach dem Klick auf OK Wird der Focus auf das Rufnummernfeld gesetzt und dessen Inhalt gelöscht. Mit Exit Sub verläßt VBA die Codeausführung
Ich hoffe der Tip ist hilfreich.
Dim rs as Recordset
Set rs = Currentdb.OpenRecordset("SELECT COUNT(rufnummernfeld) as anz FROM tabelle WHERE rufnummernfeld = " & Me.rufnummernfeld)
if rs!anz > 0 Then
if MsgBox("Diese Nummer gibt es schon",vbOK,"Hinweis")= vbOk Then
Me.rufnummernfeld.SetFocus
Me.rufnummernfeld = ""
Exit Sub
End If
End If
rs.Close
Damit wird in der Tabelle nachgeschaut, ob ein entsprechender Datensatz schon vorhanden ist, der Zähler anz bekommt einen Wert größer 0 wenn die Nummer vorhanden ist und die If - Abfrage wertet den ganzen Salat aus. Nach dem Klick auf OK Wird der Focus auf das Rufnummernfeld gesetzt und dessen Inhalt gelöscht. Mit Exit Sub verläßt VBA die Codeausführung
Ich hoffe der Tip ist hilfreich.

