Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: cebolina am 08.02.08 - 13:22:11

Titel: Auswertung aus einer Dialogliste
Beitrag von: cebolina am 08.02.08 - 13:22:11
Hallo @All,

Ich habe folgendes Problem:

Als Auswahl in einer Dialogliste (Mehrfachwerte zulassen) stehen folgende Werte zur Verfügung:
Text1|1
Text2|2
Text3|3
...
Text7|7

Bei Auswahl von "Text2" und "Text4" werden im Feld also nur die Aliasse (Bsp.: "2" ; "4") gespeichert.

Jetzt möchte ich in einem anderen (berechneten) Feld erreichen, dass folgendes enthalten ist:
"0#1#0#1#0#0#0"

Ich möchte also wissen, welche Elemente meines Quellfeldes ausgewählt wurden und welche eben nicht (0 = nein, 1= ja).
Also in meinem Besipiel: "Text1" = nein, "Text2" = ja, "Text3" = nein, "Text4" = ja, "Text5" bis "Text7" = nein.
Das Ganze soll in einem einfachen Text-Feld erfolgen (also keine Mehrfachwerte).
Die "#" soll lediglich als Trennzeichen fungieren. Ich brauche diese Information übrigens später für weitere Berechnungen in meinem Dokument.

Kann mir bitte jemand auf die Sprünge helfen, wie man sowas macht? Mir fehlt irgendwie der richtige Lösungsansatz und ich weiß auch nicht so recht wonach ich im Forum suchen soll.

Danke und Gruß
Stefan


Titel: Re: Auswertung aus einer Dialogliste
Beitrag von: Joe am 08.02.08 - 14:00:05
Hallo Stefan,

wie wär's mit so etwas als Formel für das Textfeld:

@If( @Contains(Dialogliste;"1");"1";"0")+"#"+
@If( @Contains(Dialogliste;"2");"1";"0")+"#"+
@If( @Contains(Dialogliste;"3");"1";"0")+"#"+
@If( @Contains(Dialogliste;"4");"1";"0")+"#"+
@If( @Contains(Dialogliste;"5");"1";"0")+"#"+
@If( @Contains(Dialogliste;"6");"1";"0")+"#"+
@If( @Contains(Dialogliste;"7");"1";"0")

Nur mal so grob hingeworfen! ;-)

Gruß Joe
Titel: Re: Auswertung aus einer Dialogliste
Beitrag von: m3 am 08.02.08 - 14:05:39
Text|1
Text|2
...

in ein verstecktes Multifavlue Feld schreiben und von dort in der Dialogleiste verwenden.

Dann kannst Du in einem anderen Feld mit ein paar @-Formeln (@left, @right, ...) den String so hin bekommen, wie Du ihn willst.
Titel: Re: Auswertung aus einer Dialogliste
Beitrag von: cebolina am 08.02.08 - 14:40:29
@Joe

Zunächst mal vielen Dank. Die Formel funktioniert und gibt mir das gewünschte Ergebnis zurück. :D

Jetzt muss ich das Ganze nur noch in eine Schleife packen, weil die Anzahl der Elemente in der Dialogliste von Dokument zu Dokument unterschiedlich sein kann (sorry, habe ich in meinem ersten Posting nicht geschrieben).

Gruß
Stefan
Titel: Re: Auswertung aus einer Dialogliste
Beitrag von: m3 am 08.02.08 - 15:19:18
Eleganter:

Ein Multivalue-Textfeld "Werte", in das die einzelnen Werte stehen, die Dialogliste holt sich die Werte aus dem Feld.
Und in dem Computed Field steht dann nur noch:

Code
y := @RightBack(Werte; "|") ;
z := @Transform(y; "x"; @If(x = Dialogliste; "1"; "0") );
@Implode( z; "#")

Keine endlosen @If-Wüsten.  :)
Titel: Re: Auswertung aus einer Dialogliste
Beitrag von: cebolina am 08.02.08 - 16:05:19
hui - das nenn' ich ja mal mega-elegant!!

Danke
Stefan

Ergänzung:
@m3
Funktioniert genau so wie ich es mir vorgestellt hatte. Du hast mir das Wochenende gerettet - Vielen Dank.
(Ich trau mich fast nicht zu sagen, dass ich heute mehrere Stunden mit diesem Problem verbraten habe, bis ich die Anfrage im Forum gestartet habe!)