Supportnet / Forum / Datenbanken
Warnung bei doppelter Kunden-Nr
Frage
Hallo ihr lieben Helfenden,
ich möchte gerne in meinem Formular gleich eine Warnung erhalten, wenn ich eine doppelte Kunden-Nr. (das ist auch der Primärschlüssel in meiner Datenbank) eingegeben habe und nicht erst, nachdem das ganze Formular ausgefüllt wurde.
Kann mir jemand sagen, wie ich das hinbekomme.
Vielen Dank für eure Hilfe.
Antwort 1 von 14071
laß doch einfach Access die Vergabe übernehmen. Am einfachsten ist das mit einem Feld vom Typ Autowert.
Wenn das nicht in Frage kommt, speichere den Datensatz direkt beim Verlassen des Feldes Kunden-Nr, dann wird die Prüfung durchgeführt.
Gruß
Jürgen
Wenn das nicht in Frage kommt, speichere den Datensatz direkt beim Verlassen des Feldes Kunden-Nr, dann wird die Prüfung durchgeführt.
Gruß
Jürgen
Antwort 2 von Sheila
Hallo Jürgen,
erst einmal Danke für die schnelle Antwort. Die Kundennummer ist schon vorgegeben, die kann ich nicht automatisch vergeben lassen.
Der Datensatz wird doch automatisch gespeichert, wenn ich den nächsten aufrufe, oder wenn ich rausgehe. Ich möchte gerne, dass der Benutzer eine Warnung erhält, dass es diesen Datensatz schon gibt und er (eventuell nach einem Hinweis von Access) gleich zu diesem Datensatz geführt wird.
Das war vielleicht etwas unglücklich formuliert. Aber es ist meine erste Datenbank und ich will es so gut wie möglich machen.
Vielen Dank für eure Hilfe.
erst einmal Danke für die schnelle Antwort. Die Kundennummer ist schon vorgegeben, die kann ich nicht automatisch vergeben lassen.
Der Datensatz wird doch automatisch gespeichert, wenn ich den nächsten aufrufe, oder wenn ich rausgehe. Ich möchte gerne, dass der Benutzer eine Warnung erhält, dass es diesen Datensatz schon gibt und er (eventuell nach einem Hinweis von Access) gleich zu diesem Datensatz geführt wird.
Das war vielleicht etwas unglücklich formuliert. Aber es ist meine erste Datenbank und ich will es so gut wie möglich machen.
Vielen Dank für eure Hilfe.
Antwort 3 von helfender
Am besten du setzt in der Tabelle das Feld auf das Kriterium "keine doppelten Werte zulassen" dann erhälst du eine Warnmeldung sobald der Datensatz erfasst ist. Ich glaube aber, dass du soweit ohnehin schon bist oder. Also wenn du nun in die "beim Verlassen"-sub des Textfeldes sowas wie me.recalc oder so einträgst dann müsste er doch den Datensatz umgehend in die Tabelle aufnehmen und dann würde es ihm auch dann gleich schon auffallen und er würde motzen....aber sicher bin ich mir nicht. Das war nur so´n Gedanke. Musste evt mal ausprobieren.
ciao
Christoph
ciao
Christoph
Antwort 4 von 14071
Zitat:
Die Kundennummer ist schon vorgegeben, die kann ich nicht automatisch vergeben lassen.
Die Kundennummer ist schon vorgegeben, die kann ich nicht automatisch vergeben lassen.
Versteh ich nicht. Wenn die Kundennummer schon vorgegeben ist, dann sollte doch auch die Eindeutigkeit geklärt sein.
Welche Daten werden denn in das angesprochene Form gefüllt? Kunden- oder Bestelldaten?
Beschreib mal ausführlicher was du meinst.
Gruß
Jürgen
Antwort 5 von Phantom_Fies
Das Problem besteht wohl darin, dass das Feld Kundennummer als Primärschlüssel verwendet wird (sog. sprechender Schlüssel), diese aber von Hand eingetragen werden muss.
Meine Empfehlung: Leg für den Primärschlüssel ein eigenes Feld "ID" an, als AutoWert. Dann hast du die technischen Probleme schon mal beseitigt. Die Frage ist, ob du dann noch eine extra Kundennummer brauchst. Denn über das ID-Feld ist dann jeder Kunde eindeutig zu identifizieren. Ich gehe mal davon aus, dass du schon Daten hast, die du erhalten musst. Du könntest eine neue Tabelle anlegen und die alten Daten dort reinkopieren. Bleibt die Frage, inwiefern du die alten Nummern noch benötigst und wie diese aufgebaut sind. Von deinen Beschreibungen her nehme ich mal an, dass es nicht einfach ein Integer-Wert ist, oder?
Meine Empfehlung: Leg für den Primärschlüssel ein eigenes Feld "ID" an, als AutoWert. Dann hast du die technischen Probleme schon mal beseitigt. Die Frage ist, ob du dann noch eine extra Kundennummer brauchst. Denn über das ID-Feld ist dann jeder Kunde eindeutig zu identifizieren. Ich gehe mal davon aus, dass du schon Daten hast, die du erhalten musst. Du könntest eine neue Tabelle anlegen und die alten Daten dort reinkopieren. Bleibt die Frage, inwiefern du die alten Nummern noch benötigst und wie diese aufgebaut sind. Von deinen Beschreibungen her nehme ich mal an, dass es nicht einfach ein Integer-Wert ist, oder?
Antwort 6 von Sheila
Vielen Dank, ich habe das jetzt kapiert, manchmal braucht man wirklich einen Denkanstoß, sonst grübelt man tagelang und kommt nicht weiter. Es hat sozusagen gefunzt. Dankeschön.

