Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Lancelot am 20.11.08 - 15:12:54
-
Hi Leute,
ich bekomme diese Meldung wenn ich per LS eine Listenvariabele mit mehreren Werten
in ein normales Textfeld "Mehrfachwerte erlaubt und Trennung wie Anzeige auf Leere Zeile"
eintragen möchte.
Auf der IBM Seite steht was von einer Größe von 64, aber ich komme nicht an diese Grenze hin.
Bei den Werten der Variabelen handelt es sich um Textstring mit max 10 Zeichen.
Hier mein Script:
i = 0
y = coll.Count
Redim vlieferant(y-1)
Redim vwarenbereich(y-1)
While Not (doc Is Nothing)
For x = 1 To coll.Count
vlieferant(i) = doc.LieferKuBz
vwarenbereich(i) = doc.modell
i = i + 1
Set doc = coll.GetNextDocument(doc)
Next
Wend
newdoc.form = "sk"
newdoc.lieferant = vlieferant
newdoc.warenbereich = vwarenbereich
Hoffe jemand kann mir helfen.
-
For x=0 to (y-1) .....
Und "doc.LieferKuBz" sowie "doc.modell" liefern Dir NICHT den String zurück, der in dem Feld steht. Bitte schau dir NotesDocument.GetItemValue in der Designer-Hilfe an.
-
Du solltest Deine Variablen erst einmal ordentlich deklarieren.
Dann dem Array nur die einzelen STrings zuweisen. Momentan sind deine Arrays vom Typ Variant und DU weißt jedem Arrayindex ein Variant (Array) zu. Das kann bei der Zuweisung nicht gut gehen (2 DImensional).
Das Sollte gehen (ohne Test):
i = 0
y = coll.Count
dim vlieferant(y-1) as String
dim vwarenbereich(y-1) String
While Not (doc Is Nothing)
For x = 1 To coll.Count
vlieferant(i) = doc.LieferKuBz(0)
vwarenbereich(i) = doc.modell(0)
i = i + 1
Set doc = coll.GetNextDocument(doc)
Next
Wend
newdoc.form = "sk"
call newdoc.ReplaceItemValue( "lieferant , vlieferant )
newdoc.ReplaceItemValue( "warenbereich" , vwarenbereich )
-
Dirk, die "for x" Schleife wirds aufhauen, wenn Du bei 1 anfangst, bis coll.Count (==y) zählst, das Array aber nur bis y-1 (also coll.Count-1) definiert ist. OK, ich lass es bis heute. Ich kann nicht mal mehr grad schaun. Sorry, passt so schon.
-
Dirk, die "for x" Schleife wirds aufhauen, wenn Du bei 1 anfangst, bis coll.Count (==y) zählst, das Array aber nur bis y-1 (also coll.Count-1) definiert ist.
Ich habe mich mehr auf das eigentliche Problem des Fragenstellers bezogen, und habe nicht den gesamten Code analysiert.
Ich habe lediglich die betroffenen Zeilen angepasst.
Hab ja auch was anderes zu tun....
-
Danke an alle jetzt klappt es prima.
Das Script von Dirk hat mir die Augen geöffnet und so habe ich das Problem in den Griff bekommen.
@Dirk: Ich habe gesehen das Du nur die Zeilen angepasst hast. ;)
Ich erwarte hier auch nicht das jemand den gesamten Code für einen ausprogrammiert.
In meine Augen sollte es nur immer ein kleiner Schubs in die richtige Richtung sein, den Rest soll man ruhig selber erarbeiten.
Also nochmals Danke für den Schubs und ein schöne We an alle. :)