Domino 9 und frühere Versionen > ND6: Entwicklung
eindeutig- Werte überprüfen?
Notes-Creater:
Hallo!
möchte einen manuellen Code in einer Form eingeben und dann überprüfen ob er wirklich eindeutig ist...
hatte mir überlegt das ich alle ID´s dieser Dokumente in einem View auflisten lasse und dann mit folgender Schleife vergleiche:
liste := @DBColumn("Notes":"NoCache";"":"";View;1);
@For(n := 1;n <= @Elements(liste); n := n + 1;
y:=@Subset(liste;x); @If(@ThisValue=y;@Prompt("ID bereits vorhanden, bitte ändern!";@Success))
Wie würdet ihr das machen?
Könnte es so klappen?
freu mich über hilfe!
Axel:
Hi,
das mit der View ist schon der richtige Weg. Aber warum DBColum? Mach's doch mit DBLookup und nimmals Key den neuen Code. Bekommst du kein Dokument zurück, ist er eindeutig.
Axel
Notes-Creater:
kenne mich mit @DBLookup nicht aus und da ich nicht ganz schlau aus meiner hilfe werde, weiß ich net genau was @dblookup tut?
könnt ihr mir es sagen? :-\
Axel:
Hi,
@DBLookup sucht anhand eines Schlüssels in einer angegeben Ansicht und liefert den Wert der angegebenen Ansichtenspalte oder des angegebenen Feldes zurück.
Damit das funktioniert, muß die ansicht in der ersten Spalte sortiert oder kategorisiert sein.
Eigentlich ist das aber in der Hilfe sehr einfach und klar beschrieben. In den Beispielen findest du auch nochmal die Funktionsweise erklärt.
Axel
Linus:
_id := @DBLookup("Notes":"NoCache";"":"";View; key; 1);
@If(@IsError(_id);@Success;@Prompt("ID bereits vorhanden, bitte ändern!"))
Der DBLookup funktioniert ähnlich wie DBColumn. Du gibst hier nur noch den key mit, das heißt den Wert nach dem Du suchst. Dafür ist es wichtig, dass Deine Ansicht in der ersten Spalte diesen key (also bei Dir die ID) enthält. Diese Spalte muss sortiert sein!
Allerdings habe ich die Erfahrung gemacht, dass es gelegentlich vorkommen kann, dass die Funktion meint, die ID wäre noch nicht vergeben, obwohl sie gerade erst vergeben wurde. Das liegt dann daran, dass der Ansichtsindex noch nicht akualisiert ist.
Sauberer lässt sich das Problem mit LS lösen.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln