DAO GetRows in variable Arrays erzeugen, wie ?

27/03/2008 - 02:15 von Klaus Oberdalhoff | Report spam
Hi,

(Office Pro 2003 SP max, Win XP Sp max - deutsch)

ich möchte eigentlich einfach mittels einer Schleife

Dim DAOArray0 As Variant
Dim DAOArray1 As Variant
Dim DAOArray2 As Variant
Dim DAOArray3 As Variant
Dim DAOArray4 As Variant

...

For J = istufeMin To iStufeMax

'normalerweise eine Zeile, eingerückt

Set rst = DB.OpenRecordset("SELECT * FROM " & _
"tblTreeViewProjekt WHERE Stufe = " & J & _
" ORDER BY Vater, Position, ID;")

rst.MoveLast
i = rst.RecordCount
rst.MoveFirst

strArrNam = "DAOArray" & J
Eval(strArrNam) = rst.GetRows(i)
' alles mögliche probiert, z.B auch:
' Eval("DAOArray" & J & " = rst.GetRows(i)")

rst.Close
Next J

...

mehrere Arrays erzeugen.

Ich scheitere an der Zuweisung der variablen Arraynamen.

Problem ist die Zuweisung von GetRows zu dem Array.
Lt. Definition muss man ein
Dim VarIrgendwas as Variant
erzeugen und diesen Variant dann mittels
VarIrgendwas = rst.Getrows(i)
in ein Array umwandeln.

Funktioniert auch, aber nur für fix definierte Namen

Ich hab' das mal mit Eval probiert, aber dann meint er, die Variable
DAOArray0 würde noch nicht existieren... Mhm, ich dachte immer, dafür sei
Eval da ?

Geht das irgendwie, oder kann ich diesen Weg vergessen ?

Hat da jemand eine Idee ?

Danke im Voraus


mit freundlichen Grüßen aus Nürnberg

Klaus Oberdalhoff KObd@gmx.de
Ich unterstütze PASS Deutschland e.V. (http://www.sqlpass.de)
Nàchstes Treffen in Nürnberg am 06.05.2008
 

Lesen sie die antworten

#1 Henry Habermacher
27/03/2008 - 07:05 | Warnen spam
Hallo Klaus

"Klaus Oberdalhoff" wrote in message
news:fsesev$kgs$03$
Dim DAOArray0 As Variant



Versuch's mal so:
Dim DAPArray(0 to 4) AS Variant

Dann kannst Du die Variable über den Index bestimmen. Gibt dann halt einfach
ein Array in einem Array (ein Mehrdimensionales Array würde auch gehen).

Gruss
Henry

Ähnliche fragen