Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Manolo am 05.08.04 - 16:08:01
Titel: Frage zur Schleifekunde komm nicht weiter
Beitrag von: Manolo am 05.08.04 - 16:08:01
Hallo ;D
Nun ich habe wieder mal script Problem und habe mit das Schleidenkunde.pdf runtergeladen, damit ich was lernen kann. Und ich muss sagen es hat mir schon sehr geholfen.
Nun meine frage ist.
Ich habe ein Variant die ein multiwert drin hat(das ich mit doc.getitemvalue("Selection),)hole.
Nun in der Seletion habe ich folgenden wert=> 75,123,23423,43534,5646,46,456,46,45646,45646,456677,
Was für eine schlaufe muss ich machen damit ich die einzelne werte hole, von links nach recht. Danach will ich mit diesem wert ein lookup machen, und fals der wert in der erster colum von der view vorhanden ist, den Wert nehmen und die restlichen Felder befühlen.
Und das mit jeder Zahl, und alles ins gleiche dokument.
Was meint ihr ist es einfacher das ganze mit LotusScript oder mit @Formula(ich dachte da an @word zum befühlen der Restlichen Felder.)
Und ich bin für jede Idee offen,
Gruss Manolo
Titel: Re:Frage zur Schleifekunde komm nicht weiter
Beitrag von: umi am 05.08.04 - 16:13:58
für R6: zuerst mit Split den Multivalue Wert in einen Array umwandeln und dann mit forall den Array abarbeiten
Code
arr = Split(Multivalue,",")
forall arrItem in arr
end forall
PS: mich nimmts wunder, wie man eigentlich ein Feld befühlt ;D
Titel: Re:Frage zur Schleifekunde komm nicht weiter
Beitrag von: Manolo am 05.08.04 - 16:47:07
Und wenn ich das ganze mit Formula machen will.
Gibt es da eine schlaufe die das macht.
Danke für den Tipp mit splitt den kannte ich gar nicht.
Ich habe es eben bis anhin mit @Explode gemacht.
Titel: Re:Frage zur Schleifekunde komm nicht weiter
Beitrag von: Thomas Schulte am 05.08.04 - 17:03:31
in der Formelsprache könntest du es mit den neuen Schleifenfunktionen wie @for @dowhile und @while versuchen. Die Konstruktion dann alles in ein Dokument reinzuschreiben müsste dann vielleicht so ausschauen: n := 1; @DoWhile( key := @word(Variable;n); @if(@dblookup(Wasauchimmer mit deinem Key) ergibt ein Ergebnis;Schreib in dein Dokument;""); n := n + 1; )
geht bis zu maximal 254 Anweisungen.
Thomas
Titel: Re:Frage zur Schleifekunde komm nicht weiter
Beitrag von: Manolo am 06.08.04 - 13:26:54
@Thomas Schulte & umi
Vielen dank für die hilfe, es hat mir sehr geholfen und hier ist der Code:
@If(@Elements(Selection) = 0; @Return(0); "");
n := 1; @DoWhile( key := Selection[n]; keylu := @DbLookup("Notes" : "NoCache";Server:DB; view; key ; 6); nr := @TextToNumber(@Word(keylu;"$";1)); @If( key = nr ; @If(PName = ""; FIELD PName := @Word(keylu;"$";2); FIELD PName := PName + "," + @Word(keylu;"$";2));"") ; @If( key = nr ; @If(PVorname = ""; FIELD PVorname := @Word(keylu;"$";3); FIELD PVorname := PVorname + "," + @Word(keylu;"$";3));"") ; @If( key = nr ; @If(POrt = ""; FIELD POrt := @Word(keylu;"$";4); FIELD POrt := POrt + "," + @Word(keylu;"$";4));"") ; @If( key = nr ; @If(PEMail = ""; FIELD PEMail := @Word(keylu;"$";5); FIELD PEMail2 := PEMail + "," + @Word(keylu;"$";5));""); n := n + 1; n <= @Elements(Selection) );