Domino 9 und frühere Versionen > ND7: Entwicklung

ForAll Schleife gibt nur letzten Wert aus

(1/2) > >>

Schorschi353:
Hey Leute,

ich bin am verzweifeln, bitte helft mir!

Ich habe in einem Dokument (currdoc) das Textfeld "phasen" mit verschiedenen Werten.
Nun will ich jeden Wert auslesen und in einem anderen Dokument (phasedoc) jeden Wert einzeln in dem Feld "elementname" speichern.

Mein Codeausschnitt:

Forall bereiche In currdoc.phasen
          Set phasedoc = db.createdocument
     phasedoc.form="Layer"
          phasedoc.elementname = bereiche
          Call phasedoc.save(True,False,True)
End Forall

Das läuft auch alles ganz prima, aber es tritt ein Fehler auf und ich weiß nicht wieso.
Im Feld phasen stehen beispielsweise Einkauf und Konstruktion, nun wird immer nur der letzte Wert gespeichert. Aber wieso??

Ich hoffe meine Infos reichen aus!

Danke für eure Hilfe!!

Viele Grüße,
Marius

dirk_2909:
Hallo

Weil Du dein Feld immer nur mit einem Wert befüllst:

  phasedoc.elementname = bereiche


Schau Dir mal in der Hilfe die Methode "AppendItemValue" (o.ä.) an.

Schorschi353:
Danke schonmal für den Tipp, aber irgendwie klappt es immer noch nicht.

Hab appendtotextlist folgendermaßen eingebaut:

statt            phasedoc.elementname = bereiche

hab ich        Call bereiche.appendtotextlist( phasedoc.elementname )

verwendet.

Trotzdem bekomme ich immer nur den letzten Wert des Feldes "phasen" angezeigt.  :'(

dirk_2909:
Hast Du die Designer-Hilfe auch gelesen ?!

Auf was für Objekte kann man "AppendToTextList" anwenden?
Was für ein "Objekt" ist "bereiche" ?

Ich könnte natürlich den fertigen Code posten, aber.....

Benutze die Hilfe. Vor allem die Beispiele sind gut ;-)


Wenn Du danach nicht weiterkommst. helfen wir natürlich ein wenig mehr.

thomson666:
wenn du alle Werte aus currdoc.phasen in das Feld reinschreiben willst, frage ich mich Wieso du es nicht
 so machst...
Set phasedoc = db.createdocument
call doc.ReplaceItemValue("Elementname",currdoc.phasen )
call doc.Save(true,false,true)

aber es geht auch so glaub ich...
    Set phasedoc = db.createdocument
    phasedoc.form="Layer"
    phasedoc.elementname = currdoc.phasen
    Call phasedoc.save(True,False,True)

das wäre der ganze Code, die forall schleife ist meiner Meinung nach um sonst...
ich Persönlich mache immer call doc.ReplaceItemValue... aber das ist Geschmackssache...

Anmerkung: die Forall Schleife brauchst du nur wenn du schauen willst ob bestimmte Werte drinnen stehen die du Filtern möchtest und das Ergebnisse(welches du in ein Array schreibst) erst dann ins Mehrfachwertefeld schreibst.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln