Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Schorschi353 am 19.02.08 - 11:39:16
-
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
-
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.
-
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. :'(
-
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.
-
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.
-
Also..
Letztendlich hat es doch so wie am Anfang geklappt:
Forall bereiche In currdoc.phasen
Set phasedoc = db.createdocument
phasedoc.form="Layer"
phasedoc.elementname = bereiche
Call phasedoc.save(True,False,True)
End Forall
Ich nehme an es lag an dem Feld "phasen", weil ich dort am Anfang die Werte nicht durch einen Doppelpunkt getrennt habe.
Das habe ich nun gemacht und siehe da, es funktioniert!
Vielen Dank für eure Antworten, wie immer konnte ich mich auf schnelle und kompetente Hilfe von euch verlassen!!!
PS:
Hast Du die Designer-Hilfe auch gelesen ?!
Natürlich schaue ich vorher in die Hilfe, ist doch wohl selbstverständlich ;)
Danke, Marius