Einzigartige ID berechnen?

  • Neben den ganzen anderen Problemen beschäftige ich mich damit, dass ich jedem Eintrag durch die Eingabemaske eine einzigartige (meinetwegen auch fortlaufende) ID erstellen will, heisst: Ich will einen Datensatz über eine Eingabemaske eingeben lassen und Notes soll dem User zu jeder Eingabe jeweils eine ID (wenns geht Zahlencode) in ein Feld berechnen und diese natürlich auch in den Dartensatz übernehmen. Gibt es dafür ein Script oder einen Befehl, mit dem ich das lösen kann?

  • Jedes Dokument bekommt beim Erstellen von Notes eine eindeutige ID verpaßt, die sich auch auslesen läßt. Schau mal in der Hilfe nach unter @DocumentUniqueID.
    Ist zwar kein reiner Zahlencode, sollte aber den Anforderungen genügen.

  • Am simpelsten gehts über diese Formel: @Unique
    Die erzeugte ID ist einzigartig und kann sogar nachträglich dem User zugeordnet werden der sie erzeugt hat.


    Fortlaufende Nummerierung ist bei einem System wie Notes mit den per Design gewollten Features wie verteilte Datenhaltung, Replikation, Offline-Arbeit und Clustering nicht so trivial. In dem Falle müßte man sich entweder auf eine Stelle festlegen (z.B. Administrationsserver der Datenbank) wo ein zentraler Agent die ID berechnet und zurückgibt oder auf andere Mittel zurückgreifen. Beispielscripte dazu gibts genug aber @Unique hat den Vorteil, daß es immer und sogar in verteilten Systemen funktioniert und man sich beispielsweise auch um das Problem keine Gedanken machen muß wenn ein Dokument später gelöscht wird und dadurch eine Lücke entstehen würde.

  • Nachtrag zu meinem Vorposter: die @DocumentUniqueID würde ich nicht unbedingt empfehlen, zum einen weil sie sich ändern könnte wenn die Datenbank später neu gemacht und Datensätze neu erzeugt oder kopiert werden und zum andern weil diese ID extrem lang und nicht leicht wiederzufinden wäre (Beispiel: am Telefon sagt ein User: ich habe da eine Problemmeldung mit der ID xxxxxxxxxxxxxxxxxxxxxxxx eingegeben, könnten Sie bitte mal nachschauen??? Viel Spaß beim Suchen *g*)

  • Hey, super schnelle und kompetente Antworten! Vielen Dank!!! Der Befehl @Unique ist genau das, was ich suchte :)