Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Gültigkeitsregel für nicht doppelte Kundennummern

Begonnen von Accessfreund, Oktober 06, 2010, 14:58:08

⏪ vorheriges - nächstes ⏩

DF6GL

Hallo,


""Kundennummer schon vergeben"  ist aber nicht die Reaktion über die Msgbox   ...


wirf die Gültigkeitsregel in der Tabelle (oder wo sie sonst steht) mal raus.


MzKlMu

Hallo zusammen,
warum nicht einfach die Kundennummer indizieren (ohne Duplikate). Im Ereignis "Bei Fehler" des Formulars dann eine eigene Fehlermeldung und fertig ist die Laube. ;D
Gruß Klaus

Accessfreund

Hallo,

sorry mein Fehler beim schreiben, bin schon ganz meschucke

Es steht da natürlich "Kundennummer gibt es schon" also die reaktion über die Msgbox

Sorry nochmal
Der Computer ist nur so schlau wie der, der ihn bedient :-)
Liebe Grüße Gaby

Accessfreund

Aber ein Fehler ist noch drin oder ich hab was vergessen.

Wenn ich eine neue Kundennummer eingebe die noch nicht in der Tabelle steht kommt die Meldung auch
"Kundennummer gibt es schon" was aber nicht möglich ist.

Gruß
Gaby
Der Computer ist nur so schlau wie der, der ihn bedient :-)
Liebe Grüße Gaby

MzKlMu

Hallo,
wie bereits gesagt, funktioniert das auch ohne VBA wenn das Feld in der Tabelle direkt indiziert (ohne Duplikate) wird.
Es wird dann nur eine Zeile VBA für eine eigene Fehlermeldung gebraucht.
Gruß Klaus

Accessfreund

Hay,

ich habe eine indizierung "Ja ohne Duplikate" und ich kann trotzdem doppelte nummern eingeben.

Gruß
Gaby
Der Computer ist nur so schlau wie der, der ihn bedient :-)
Liebe Grüße Gaby

database

@MzKlMu

Hallo Klaus, da hast du zweifelsohne recht, aber kommt hierbei die Reaktion (Form_Error(DataErr As...) ) nicht erst beim Verlassen des aktuellen Datensatzes, also z.B. wenn auf einen weiteren neuen gewechselt wird?
Bei vielen Eingaben Pro Datensatz kommt mir die Reaktion ein wenig spät vor, möglicherweise werden so in 20 Feldern Eingaben gemacht, die gar nicht benötigt worden wären.

@Gaby
Zitat"Kundennummer gibt es schon" was aber nicht möglich ist.
Das kann ja nicht wahr sein - was ist da los?
Wenn du die Zahlenvariante ohne Erfolg getestet hast und die Textvarianten nach DF6GL bringen auch keine Lösung ....   bin sprachlos

Zitatich habe eine indizierung "Ja ohne Duplikate" und ich kann trotzdem doppelte nummern eingeben
...und jetzt wirds elektrisch ...
Dann ist dein Feld entweder ungebunden oder aber an ein anderes Tabellenfeld gebunden!
So was ist schlichtweg unmöglich!

Grüße
Peter

MzKlMu

Hallo,
Zitatich habe eine indizierung "Ja ohne Duplikate" und ich kann trotzdem doppelte nummern eingeben.
Das halte ich für absolut ausgeschlossen. Bitte prüfe das mal, ob das Feld mit der Kundennummer in der Tabelle auf indiziert (ohne Duplikate) steht. Ich halte jede Wette, das es nicht ist.
Gruß Klaus

MzKlMu

#23
Hallo,
ZitatBei vielen Eingaben Pro Datensatz kommt mir die Reaktion ein wenig spät vor, möglicherweise werden so in 20 Feldern Eingaben gemacht, die gar nicht benötigt worden wären.
@database
Da hast Du zweifellos recht, die vorherige Prüfung wäre besser.

Ich bin jetzt nur mal gespannt, wie das mit der Indizierung aussieht.
Und wenn das Feld ungebunden ist, wird das Schreiben des Feldes in die Tabelle auch zuverlässig verhindert.
Gruß Klaus

database

@MzKlMu
" Und wenn das Feld ungebunden ist, wird das Schreiben des Feldes in die Tabelle auch zuverlässig verhindert "

Wogegenen ich mich auch nicht wehre!  ;D ;D ;D

Accessfreund

So ich versuche mal ein Bild davon hoch zu laden
Da kann man sehen, dass Indizierung "Ja ohne Duplikate" ist.

Und es muss gebunden sein, da ja auch alle Kundennummer die ich im
Formular eingegeben habe in der Tabelle Kunden aufgenommen werden.
Schön mit allem was ich im Formular eingebe samt Unterformular es ist alles da.

Meint Ihr mit ungebunden, das es mit keiner Tabelle verbunden ist und somit nirgends auftaucht?
Ich benutze genau heute die Tabellen 1 Jahr, deshalb brauche ich ja die änderung.

Gruß
Gaby

[Anhang gelöscht durch Administrator]
Der Computer ist nur so schlau wie der, der ihn bedient :-)
Liebe Grüße Gaby

DF6GL

Hallo,

ja mei, mich reißt es aus den Socken...   :o :o ::)
Das Tabellenfeld heißt wirklich

Kundennr:

und alle Hinweise auf Überprüfung von Namen und Vermeidung von Sonder-/Leerzeichen verpuffen im Nirwana...

Ich klinke mich aus und geh jetzt ins Bett...  Gute Nacht.   8)

Accessfreund

Hallo,
hier noch Bilder von den Tabellen, wo alle Daten vom Formular hin laufen
und vom Code nochmal

Gute Nacht vielleicht hat jemand von Euch heute Nacht eine eingebung.

Tschau

[Anhang gelöscht durch Administrator]
Der Computer ist nur so schlau wie der, der ihn bedient :-)
Liebe Grüße Gaby

MzKlMu

#28
Hallo,
eigentlich hättest Du nach dem Hinweis von Franz die Eingebung haben müssen.

Das Feld heist nicht Kundennummer sondern Kundennr: (mit Doppelpunkt).

In welches Feld schreibstDu denn den Wert?
Ein Feld Kundennummer gibt es jedenfalls nicht.
Und in Kundennr: kannst Du unmöglich einen doppelten Wert haben, bzw. erfassen. Wie bereits gesagt.
Gruß Klaus

database

Na Guten Morgen,

wie das Tabellenfeld nun heißt, haben wir endlich rausbekommen - stellt sich jetzt noch die Frage, wie das Formularfeld heißt in welches du schreibst!

Schau da mal im Formularentwurf nach

      Feld anklicken
      Feldeigenschaften anzeigen lassen
      Register 'Andere'
      was steht neben Name?

So wie die Einstellungen in der Tabelle lauten (Indiziert Ja Duplikate nein) ist das schon in Ordnung, da kann man keine Nummern doppelt abspeichern - eingeben sehr wohl, Access motzt dann erst beim Verlassen des aktuellen Datensatzes, dass die Nummer schon existiert. Zwischen Eingeben und Speichern besteht zum Glück ein riesen Unterschied.

Zu dem Zweck hat Franz ja den Code für das BeforeUpdate-Ereignis des Feldes vorgeschlagen, in dem du die Kundennummer erfasst.
Jetzt stellt sich heraus, dass das zugrundeliegende Tabellenfeld ja ganz anders heißt als du angegeben hast daher kann der Code auch nicht greifen. :-\

Bevor jetzt irgendwer eine Änderung in den Code einbringt wäre es echt günstig uns mit der Wahrheit über den FORMULARFELD-NAMEN zu versorgen!