Autor Thema: ForAll Schleife gibt nur letzten Wert aus  (Gelesen 2081 mal)

Offline Schorschi353

  • Frischling
  • *
  • Beiträge: 43
  • Geschlecht: Männlich
ForAll Schleife gibt nur letzten Wert aus
« 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
« Letzte Änderung: 19.02.08 - 11:41:31 von Schorschi353 »
Gruß, Marius

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: ForAll Schleife gibt nur letzten Wert aus
« Antwort #1 am: 19.02.08 - 11:42:07 »
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.
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline Schorschi353

  • Frischling
  • *
  • Beiträge: 43
  • Geschlecht: Männlich
Re: ForAll Schleife gibt nur letzten Wert aus
« Antwort #2 am: 19.02.08 - 13:18:39 »
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.  :'(
Gruß, Marius

Offline dirk_2909

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.173
  • Geschlecht: Männlich
  • Expand your Notes Client with ECM functionality..
    • d.velop
Re: ForAll Schleife gibt nur letzten Wert aus
« Antwort #3 am: 19.02.08 - 13:47:09 »
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.
Dirk

[IBM CLP R5]
[IBM CAD 6/6.5]
[IBM CAD 7]
[IBM CAD 8]


"Nein!! … Es genügt nicht Mails in einen anderen Ordner oder Datenbank zu verschieben, um sie zu archivieren!"

   
Disclaimer:
Ich Antworte nach besten Wissen und Gewissen. Sollte sich jemand durch meine Antwort persönlich angegriffen fühlen, ist dies nicht meine Absicht!
Ich bin auch nur ein Mensch, der Fehler machen kann. ....

Offline thomson666

  • Senior Mitglied
  • ****
  • Beiträge: 285
  • Geschlecht: Männlich
  • niemand hats leicht, aber leicht hats oan...
Re: ForAll Schleife gibt nur letzten Wert aus
« Antwort #4 am: 19.02.08 - 14:17:57 »
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.
« Letzte Änderung: 19.02.08 - 14:47:13 von thomson666 »

Offline Schorschi353

  • Frischling
  • *
  • Beiträge: 43
  • Geschlecht: Männlich
Re: ForAll Schleife gibt nur letzten Wert aus
« Antwort #5 am: 19.02.08 - 15:31:58 »
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
Gruß, Marius

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz