Domino 9 und frühere Versionen > ND8: Entwicklung
Feld per LS in Array schreiben
(1/1)
LordKiri:
Hallo,
mal wieder ein Problem... Ich habe ein Feld in einer Maske mit mehrfachwerten und möchte jetzt dieses Feld auslesen und einem array zuweisen.
Mein Problem ich krieg immer "Subscript out of Range" als Fehlermeldung.... Vermutlich sehe ich heute mal wieder den Wald vor lauter Bäumen nicht, aber dennoch helft mir bitte.
--- Code: --- Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim adressen() As Variant
Dim i As Integer
i = 0
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
While Not (doc.GetItemValue("Adressen")(i) = "")
adressen(i) = doc.GetItemValue("Adressen")(i)
i = i + 1
Wend
--- Ende Code ---
DAU-in:
Warum machst du nicht
dim adressen as Variant
adressen = doc.Adressen
wenn du ein Array bildest musst du das auch richtig aufbauen, entweder die Grösse am Anfang zuweisen oder den Array mit redim preserve für jeden neuen Wert erweitern, sonst ist der halt sofort 'out of range'
Grüsse
Dau-in
Fedaykin:
Hallo LordKiri (hast Du auch Vorname)
DAU-in hat recht wenn eh in Variant schiebst kannst gleich so schreiben.
Wenn wirklich in Stringarray brauchst.
Knallt weil Du schaust ob z.B. Arraywert 5 leer "" ist obwohl der gar nicht existiert. Ausserdem fehlt der Redim.
So klappt es. Habe mir noch den Wert in Variable value gespeichert damit ich nicht immer wieder hole.
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim value As Variant
Dim adressen() As String
Dim i As Integer
i = 0
Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
value=doc.GetItemValue("Adressen")
Redim adressen(Ubound(value))
For i=Lbound(value) To Ubound(value)
adressen(i)=value(i)
Next
Gruss
Remo
LordKiri:
Vielen Dank für die Hilfe.... Hab alles für meine Zwecke abgeändert und es funktioniert einwandfrei....
Gruß
Andreas
Navigation
[0] Themen-Index
Zur normalen Ansicht wechseln