Access Anfänger: Arbeit mit Feldern

Aus DBWiki
Wechseln zu: Navigation, Suche

Datenfelder (häufiger Arrays genannt) lassen sich 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)

Datenfelder können auch dynamische Größen haben. Dazu müssen sie wie üblich deklariert werden, allerdings ohne Dimensionsangaben. 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 Datenfeld

   '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, sein bisheriger Inhalt bleibt jedoch erhalten
   ReDim Preserve txtFeld(1 To 200)
Wiki hinweis.png

Anmerkung: In einem dynamischen Datenfeld kann man nur dessen Größe ändern, nicht den Datentyp, und ebenso nicht die Anzahl der Dimensionen (außer der letzten, wenn man die alten Daten beibehalten will).


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"


Weblinks