Domino 9 und frühere Versionen > ND8: Entwicklung

Hilfe bei Formel im Listenfeld

(1/5) > >>

schroederk:
Hallo,

ich bräuchte mal Eure Hilfe bei einer Formel in einem Listenfeld.

Ich habe mehrere (theoretisch beliebig viele) Profildokumente.
Benannt sind diese bspw. test_1, test_2, test_3 usw.
In diesem Profildokument liegt unter anderem das Feld "adressfeld"

In der Auswahl soll nun für alle test_* das adressfeld zur Auswahl stehen.
Erschwerend noch dazu, dass wenn das Feld adresfeld leer ist (" "), dann soll ein Feld aus dem Globalen Adressbuch gezogen werden.

Ist das überhaupt so ohne weiteres möglich? Muss ich eventuell diese Werte irgendwo vorher ermitteln und im Listenfeld dann ranziehen?





Axel:

--- Zitat von: schroederk am 24.09.10 - 08:53:08 ---Ich habe mehrere (theoretisch beliebig viele) Profildokumente.

--- Ende Zitat ---

 ???  ???

Aber nur theoretisch.

In der Regel kann es nur ein datenbankbezogenes Profildokument und eines pro User geben.

Axel

Peter Klett:
Mit einer Schleife müsstest Du das hinbekommen. Sinngemäß so (habe die Befehle nicht im Kopf, deshalb umschreibe ich sie)
 
_liste := "";
_nr := 1;
@Do...
   Hole Schlüsselfeld aus Profil "test" + @Text (_nr)
   Wenn Schlüsselfeld = leer -> Ende der Schleife (Profildokument gibt es nicht)
   Wenn Adressfeld leer -> hole anhand Schlüssel das Feld aus dem globalen Adressbuch
   _liste := _liste : Adressfeld
   _nr := _nr + 1;

@Trim (_liste)

Es könnte sein, dass bei einer Abfrage eines nicht existierenden Profildokuments dieses angelegt wird, das wäre nicht schön. Vielleicht gibt es einen Befehl, mit dem man die Existenz eines Profildokuments abfragen kann? Ich mag keine Profildokumente, deshalb nutze ich die nicht

Nachtrag:

@Do ist natürlich falsch, es muss irgendeine Schleife sein, aber nicht @For, da Du die Anzahl nicht weißt, @While ist wohl richtig

schroederk:

--- Zitat von: Axel am 24.09.10 - 09:04:44 ---In der Regel kann es nur ein datenbankbezogenes Profildokument und eines pro User geben.

Axel

--- Ende Zitat ---

Wenn ich mir mit NotesPeek z.b. meine Datenbank anschaue, dann sehe unter Profiles eine große Anzahl von Einträgen:

archive database profile
archive profile
breakpoints
calendarprofile
calcolorprofile
calendarsettings
colorprofile
...
inotesprofile
ownercontact1
...

und eben auch schon meine test_1 und test_2

Und mit @GetProfileField("test_1";"addressfeld") greife ich darauf zu.


Vielleicht verwende ich ja nicht die richtige Terminilogie.   :-:

schroederk:

--- Zitat von: Peter Klett am 24.09.10 - 09:08:33 ---Mit einer Schleife müsstest Du das hinbekommen. Sinngemäß so (habe die Befehle nicht im Kopf, deshalb umschreibe ich sie)
 
_liste := "";
_nr := 1;
@Do...
   Hole Schlüsselfeld aus Profil "test" + @Text (_nr)
   Wenn Schlüsselfeld = leer -> Ende der Schleife (Profildokument gibt es nicht)
   Wenn Adressfeld leer -> hole anhand Schlüssel das Feld aus dem globalen Adressbuch
   _liste := _liste : Adressfeld
   _nr := _nr + 1;

@Trim (_liste)

Es könnte sein, dass bei einer Abfrage eines nicht existierenden Profildokuments dieses angelegt wird, das wäre nicht schön. Vielleicht gibt es einen Befehl, mit dem man die Existenz eines Profildokuments abfragen kann? Ich mag keine Profildokumente, deshalb nutze ich die nicht


--- Ende Zitat ---

Vielen Dank... das ist schonmal ein guter Ansatz für mich.
Ich hatte befürchtet, dass in diesem Formelfeld für das Listenfeld jede Zeile einem Eintrag entspricht und mir war nicht klar, wie ich so die Einträge dynamisch aufbauen kann.
Die Syntax der Befehle werde ich mir schon erarbeiten können (Die Hoffnung stirbt zuletzt ;) )

Sicherlich sehr sinnvoll, dass es eine Möglichkeit gibt, zu prüfen, ob ein Profildokument existiert, ohne es anzulegen. Sonst würde mit jedem Aufruf ein weiteres Dokument entstanden sein.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln