Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: LohCon am 03.08.06 - 16:55:54
-
Hallo liebes Forum,
ich versuche gerade, im QueryOpen einer View eine Variable zu definieren ... leider mit mässigem Erfolg. Wenn ich im QueryOpen von "LotusScript" auf "Formel" umstelle und meine Variable _var := "XYZ" setze, wird meine Eingabe beim speichern gelöscht ... Geht das etwa nur mit Script?
Hintergrund: ich möchte in der selection und den columns nicht jedesmal die Variable neu definieren müssen.
Gruss an Alle, - Jörg
-
Da kannst Du sowieso nix machen: In Formelsprache stehe Dir prinzipiell keinen globalen Variablen zur Verfügung.
Bernhard
-
was Du willst, funktioniert trotzdem (in den Spaltenformeln, nicht in der Selektionsformel):
erstell eine neue versteckte Spalte (links von allen, die auf diese Variable referenzieren), und gib als Wert Deine Berechnung an.
Dann gehst Du auf den letzten Reiter der Spalteneigenschaften und trägst dort einen Namen ein (Standardmässig steht da $xxx, mit xxx als eindeutiger Nummer).
Jetzt kannst Du in allen anderen Spalten- Formeln auf diesen Namen als Variable verweisen.
Achtung: mach die Berechnungen nicht zu kompliziert, sonst könnte in einer sehr grossen View die Performance leiden...
HTH
Tode
-
Hallo Tode,
danke für den Tip. In der Hilfe steht, das es nur mit simple functions in der ersten Spalte funktioniert, den Weg hatte ich daher nicht weiter verfolgt ...
Ich brauche auch keine komplexe Berechnung, sondern einfach nur einen Textstring. Interessanterweise funktioniert der Wert "XYZ" als Spaltenformel NICHT, wohl aber die Kombimation:
_val := "XYZ";
_val
Das erspart mir schon mal eine Menge Fleissarbeit, danke dafür.
- Jörg
-
_val := "XYZ";
_val
Das geht noch einfacher:
"XYZ"
Eine Zuweisung zu einer temporären Variablen ist in diesem Falle tatsächlich unnötig, da Dich nur das Resultat interessiert - die temporäre Variable wirkt eh nur im Zusammenhang der aktuellen Umgebung (Spalte, Feld etc. pp.).
Bernhard
-
Ein Nachtrag - ich hatte diesen Passus Deines letzten Postings nicht deutlich genug beachtet:
Du schreibst, dass
als Spaltenformel nicht funktionieren würde. Dem ist nicht so - da muss bei Dir irgendein ganz anderer Umstand vorliegen. Wenn der Umbau der Formula-Engine für R6 derart schiefgegangen wäre, dann hätte das ein Riesengeschrei gegeben ;D
Bernhard
-
Hallo Bernhard,
um Missverständnissen vorzubeugen und das Thema abzuschliessen:
_val := "XYZ;
_val
FUNKTIONIERT
"XYZ"
FUNKTIONIERT NICHT
Du hattest mich in Deinen beiden Postings genau andersherum zitiert ...
Wo kann ich den Thread noch mal auf erledigt klicken??? :-)
- Jörg
-
Das ist wichtig zu wissen. Falls man den Wert der Spalte in anderen Spalten verwenden will, MUSS eine Zuweisung in der Spalte sein!
Zum Erledigt-Setzen musst Du Deinen ersten Beitrag eitieren und "Daumen hoch" wählen.
Andreas
-
Wobei das mit den Variablen beim Öffnen einer Ansicht auch ein Thema wäre für "warum bitteschön hat IBM das nicht mit eingebaut". Ähnlich wie globale Variablen in einer Datenbank, die nicht in der Notes.ini oder irgendwelchen Profildokumenten gespeichert werden, sondern einfach solange die Datenbank offen ist im Speicher zur Verfügung stehen sollen.
Ich glaub ich fang jetzt demnächst mal das Bloggen an.
Blog Titel: "Hürden und Goodies bei der SW Entwicklung unter Domino/Notes"
Untertitel: "Warum Entwickler Notes hasslieben"
Für die Hürden hab ich schon Ideen die langen für Jahre.