Discussion:
VBA Array mit Werten aus Tabellenfeld füllen
(zu alt für eine Antwort)
frieda beyer
2003-10-21 16:12:41 UTC
Permalink
Hallo,
ich habe bis jetzt in meinem code folgende Zeile:

MeineArrayVariable=Array(dies, das, jenes)

Funktioniert auch, wenn ich im Code jeweils die richtigen Werte in die
Klammern einfüge.

Nun möchte ich die Werte aller Datensätze aus einer Tabelle
"MeineTabelle" aus dem Feld "MeinFeld" in das Array bekommen. Die
Tabelle hat immer die gleiche Struktur, der Name ändert sich nicht, aber
die Datensätze werden immer vor Ausführung des Codes verändert, so dass
die Array-Werte immer anders sind, auch die Anzahl der Datensätze
differiert. Wie geht das?

AC97
Wäre dankbar für Eure Hilfe
Gruß, Frieda
Josef Poetzl
2003-10-21 16:28:50 UTC
Permalink
Hallo!
Post by frieda beyer
MeineArrayVariable=Array(dies, das, jenes)
Funktioniert auch, wenn ich im Code jeweils die richtigen Werte in die
Klammern einfüge.
Nun möchte ich die Werte aller Datensätze aus einer Tabelle
"MeineTabelle" aus dem Feld "MeinFeld" in das Array bekommen. Die
Tabelle hat immer die gleiche Struktur, der Name ändert sich nicht, aber
die Datensätze werden immer vor Ausführung des Codes verändert, so dass
die Array-Werte immer anders sind, auch die Anzahl der Datensätze
differiert. Wie geht das?
Wenn ich Dich richtig verstehe, möchtest Du die Array-Größe in
Abhängigkeit der DS-Anzahl ändern - Anschließend die Datensätze
durchlaufen und die Werte von einem Feld in die Array-Variable
einlesen.

Prinzip:
Dim varWertArray() as Variant
Dim rst as DAO.Recordset
set rst = ....
With rst
If Not .EOF Then
.MoveLast
ReDim varWertArray(.RecordCount)
intZaehler = 0
.MoveFirst
While Not .EOF
varWertArray(intZaehler) = .Fields("FeldName")
intZaehler = intZaehler + 1
.MoveNext
Wend
End If
.Close
End With
set rst = nothing

mfg
Josef
--
EPT: (Access Error Prevention Table) http://access.joposol.com/
FAQ: (Access-FAQ von Karl Donaubauer) http://www.donkarl.com/
frieda beyer
2003-10-21 16:45:25 UTC
Permalink
Post by Josef Poetzl
Hallo!
Post by frieda beyer
MeineArrayVariable=Array(dies, das, jenes)
Funktioniert auch, wenn ich im Code jeweils die richtigen Werte in die
Klammern einfüge.
Nun möchte ich die Werte aller Datensätze aus einer Tabelle
"MeineTabelle" aus dem Feld "MeinFeld" in das Array bekommen. Die
Tabelle hat immer die gleiche Struktur, der Name ändert sich nicht, aber
die Datensätze werden immer vor Ausführung des Codes verändert, so dass
die Array-Werte immer anders sind, auch die Anzahl der Datensätze
differiert. Wie geht das?
Wenn ich Dich richtig verstehe, möchtest Du die Array-Größe in
Abhängigkeit der DS-Anzahl ändern - Anschließend die Datensätze
durchlaufen und die Werte von einem Feld in die Array-Variable
einlesen.
Genau so. Ich glaub, ich hab's alles verstanden und puzzle das mal in
meinen Code ein. Herzlichen Dank Josef!
Frieda
Michel Fouquet
2003-10-21 17:30:33 UTC
Permalink
Post by frieda beyer
MeineArrayVariable=Array(dies, das, jenes)
Funktioniert auch, wenn ich im Code jeweils die richtigen Werte in die
Klammern einfüge.
Nun möchte ich die Werte aller Datensätze aus einer Tabelle
"MeineTabelle" aus dem Feld "MeinFeld" in das Array bekommen. Die
Tabelle hat immer die gleiche Struktur, der Name ändert sich nicht, aber
die Datensätze werden immer vor Ausführung des Codes verändert, so dass
die Array-Werte immer anders sind, auch die Anzahl der Datensätze
differiert. Wie geht das?
Am einfachsten geht das mit der GetRows-Methode des Recordset-Objekts.
Ob das in A97 schon funktioniert, kann ich nicht mit Bestimmtheit sagen,
ich glaube aber: ja.

Schau halt in der OH unter GetRwos nach.

mfg,
Michel

Loading...