Access Anfänger: Arbeit mit Feldern

Aus DBWiki
Wechseln zu: Navigation, Suche

Datenfelder kann man immer dann sehr sinnvoll einsetzen, wenn mehrere Variablen vom gleichen Datentyp über einen Index angesprochen werden sollen. Ein Index beginnt standardmäßig bei 0 (s. Option Base-Anweisung). Das ist praktisch, wenn man z.B. den Index errechnet.

Felder können bis zu 60 Dimensionen haben.

Beispiele

' ein Integer-Feld für die Aufnahme von 10 Elementen
Dim intFeld(9) As Integer
 
' ein Feld für 100 (beliebig) lange Zeichenketten
Dim Benutzer(1 To 100) As String
 
Benutzer(22) = "Hutschenreuther"
 
' ein mehrdimensionales Feld
Dim dblWerte(9, 99, 1 To 12) As Double
 
' so kann man Indexe "lesbar" machen
Dim Budget(1995 To 2005) As Currency
 
MsgBox Budget(2004)

Felder können auch variable Größen haben. Dazu müssen sie wie üblich deklariert werden, allerdings ohne Indexangaben. Das erfolgt dann beliebig oft zur Laufzeit. Dann entscheidet man auch, ob z.B. ein größer werdendes Feld bereits gespeicherte Daten behalten soll.

Beispiel für ein dynamisches Feld

' hier ein dynamisches Feld
Dim txtFeld() As String
 
' die Größe des Feldes wird festgelegt
ReDim txtFeld(1 To 100)
 
' das Feld wird vergrößert, Inhalt bleibt erhalten
ReDim Preserve txtFeld(1 To 200)
Wiki hinweis.png Anmerkung: In einem dynamischen Feld kann man nur die Größe ändern, nicht den Datentyp und ebenso nicht die Anzahl der Dimensionen.


Die Array-Funktion

Datenfelder kann man auch mit der so genannten Array-Funktion erstellen.

Dim arFarben as Variant
 
arFarben = Array("Rot", "Grün", "Blau", "Gelb")
Debug.Print arFarben(2)
' liefert "Blau"