Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 10.02.03 - 10:20:24
-
Hallo Leute,
ich benötige ein eindeutiges Schlüsselfeld, das in der DB nur einmal
vorkommen darf, eben so ähnlich wie die UniversalID.
Wie kann ich ein bestimmtes Feld zum Schlüsselfedl erklären ?
Unter welchem Stichwort finde ich dies in der Hilfe ?
Ciao
Don Pasquale
-
Hi,
was meinst du denn mit Schlüsselfeld ? Ist damit der Feldtyp gemeint ? Den kannst du in den Eigenschaften setzen.
Soll der Feldname eindeutig sein ? Dafür mußt du selbst sorgen.
Soll der Wert des Feldes eindeutig sein ? Dass mußt du programmiertechnisch lösen. Zum Beispiel, in dem du beim Speichern des Dokumentes in der Datanbank suchst, ob es bereits ein Dokument mit diesem Feldwert gibt.
Axel
-
... warum nimmst du nicht die UNID? - da hast du das doch...
... ansonsten nimm eine Kombination von Feldern + Now()
ata
-
nimm einfach ein @unique, computed when composed
gruss
-
@Vielen Dank Ihr Beiden,
ich habe eine Menge von Datensätzen aus einer SQL Datenbankmit einem Schlüsselfeld DOC_ID genannt. Dieser muß in auch in der LOTUS DB
einmalig sein.
Die unid funktioniert für diesen Fall nicht.
Ciao
Don Pasquale
-
Hi,
wie sieht denn der ID-Wert aus ?
Ist das eine Zahl ? Soll dieser Wert automatisch vergeben werden ?
Wenn ja, mach dir doch eine Ansicht, die den ID-Wert in der ersten Spalte anzeigt. In das Feld trägst du dann folgende Formel ein:
@Max(@DbColumn("":"NoCache"; ""; "Name der Ansicht"; 1)) + 1
Vielleicht hilft dir das weiter.
Axel
-
Hi Don Pasquale,
um den Vorschlag von Axel aufzugreifen:
die Ansicht, um neue Dokumente anzulegen, bei denen die ID automatisch eingetragen wird.
Um bestehende Dokumente zu überprüfen, kannst Du via Skript (Klasse NotesView-->GetDocumentByKey(ID) ob Dok bereits existiert) operieren. Falls das Dok bereits gespeichert ist, ist die ID natürlich auch in der Ansicht schon vorhanden. Dieser Fall lässt sich dann abfangen über Dokumenteigenschaften, ob das Dokument neu ist. Wenn es also nicht neu ist und die ID nur einmal in der Ansicht ist --> dann gibbet zum Glück auch diese ID nur einmal in Deiner DB...
Hoffe das hilft Dir.
cu Pjorn
-
@Axel, Pjorn
ja, genauso habe ich mir das dann auch gedacht.
Ich hoffte zwar, ich müßte das nicht zu Fuß machen,
aber wenn es sein soll
Danke für Eure Tipps
Ciao
Don Pasquale