Autor Thema: Feld per LS in Array schreiben  (Gelesen 2066 mal)

Offline LordKiri

  • Senior Mitglied
  • ****
  • Beiträge: 252
  • aka Andreas
Feld per LS in Array schreiben
« am: 16.10.08 - 16:36:41 »
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

Offline DAU-in

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.129
  • Geschlecht: Weiblich
  • - unterwegs -
Re: Feld per LS in Array schreiben
« Antwort #1 am: 16.10.08 - 16:51:27 »
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

mühsam ernährt sich das Eichhörnchen

aktuelle Tätigkeit: Feldschubse

Offline Fedaykin

  • Aktives Mitglied
  • ***
  • Beiträge: 229
  • Geschlecht: Männlich
  • Ya Hya Chouhada!
Re: Feld per LS in Array schreiben
« Antwort #2 am: 16.10.08 - 16:56:24 »
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
Ich sage Euch: "Man muss noch Chaos in sich haben, um einen tanzenden Stern gebären zu können."

Offline LordKiri

  • Senior Mitglied
  • ****
  • Beiträge: 252
  • aka Andreas
Re: Feld per LS in Array schreiben
« Antwort #3 am: 17.10.08 - 13:06:47 »
Vielen Dank für die Hilfe.... Hab alles für meine Zwecke abgeändert und es funktioniert einwandfrei....


Gruß

Andreas

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz