Prüfen ob Zahl in Tabelle vorhanden ist wenn ja generiere eine "freie" Nummer ACC2010

Hallo, ich steh mal wieder etwas auf dem Schlauch, und wäre euch sehr dankbar wenn ihr mir mal rasch weiterhelfen könntet.
Undzwar habe ich folgendes Problem:
Wenn ich einen Mitarbeiter hinzufügen möchte muss ich Ihm ja noch eine Pers.Nr zuweisen, klar könnte ich die mit einem AutoWert bei der Spaltendefi einstellen, jedoch kann ich dies nicht tun da mir sonst (wegen schlechter vorarbeit) die DB nicht mehr funktionfähig und stabil läuft, also möchte ich doch leider den umstelligen weg gehen und bei det txt_pnr ein Ereignis bei Nach Aktualisierung welches die eingegebene Zahl mit der Spalte pnr aus tbl_mitarbeiter vergleicht, wenn dieser Wert schon einem anderen Mitarbeiter bereits zugewiesen ist soll ein freier X beliebiger wert zwischen 0-100000 genommen werden.

Wie kann ich dies nun schaffen? mittels einer abfrage oder doch mit einer Dom-Anweisung?

Ich hoffe ihr versteht mein Problem und könnt mir weiterhelfen, vielen dank euch schonmal im voraus und bis bald

Mfg

Fizzo361 aus dem glatten Berlin

Vergabe von Personalnummern
Moin, Fizzo,

als Erfasser käme ich mir reichlich blöd vor, wenn ich eine Zahl eingäbe, die vom Programm sofort verworfen wird. Wenn Du weiter auf diesem verunglückten Ansatz beharren willst, dann vergib die Nummer so, dass der Erfasser sie erst sieht, wenn sie vergeben ist, oder auch gar nicht.

Guter Brauch wäre dann, nicht nach einer freien Nummer zu suchen, sondern nach der nächsten, die noch nie vergeben wurde, ansonsten kommst Du bald in Deibels Küche.

Wie kann ich dies nun schaffen? mittels einer abfrage oder
doch mit einer Dom-Anweisung?

Speichere die letzte vergebene, zähl eins drauf und nimm das als neue Personalnummer.

Gruß Ralf

Hallo Fizzo,

Wie wäre es mit einem VBA-progammierten Button „Neue Personalnummer anfordern“. Dieser kann mit einer festen oder der letzten oder der bisher größten oder einer Zufalls-Zahl anfangen und prüfen, ob diese Nummer bereits vorhanden ist. Sollte sie das sein, wird die Zahl einfach um Eins erhöhe und erneut geprüft und das Ganze solange, bis die Zahl noch nicht existiert. Und schon hast Du eine  ( im Rahmen der Prüfung garantiert )  unverbrauchte Nummer.

Mit Gruß,
                   Frank-Thomas

Hallo,

wenn die PNR kein Primärschlüsselfeld (also nur ein reines Attribut) in tbl_Mitarbeiter ist, dann schreib in die Eigenschaft „Standardwert“ des an das Tabellenfeld „pnr“ gebundenen Formular-Textfeldes „txt_pnr“ Folgendes:

=nz(DomMax("pnr";"tblMitarbeiter") ;0)+1

Sinnvoll ist das aber nur, wenn die PersNr nicht schon woanders definiert wird, z. B. von der Personal-Abteilung…

Weitere Vorsicht ist walten zu lassen, wenn es sich um eine Mehrbenutzer-DB handelt.

Eine „Lückenfüller“-Berechnung der PersNr halte ich ebenso für problematisch.

Gruß
Franz, DF6GL