AW: Datenfeld in Listbox anzeigen
18.11.2005 20:03:54
Jambo
Hallo,
so etwas:
Verwenden von Datenfeldern
Sie können ein Datenfeld deklarieren, das mit einer Gruppe von Werten des gleichen Datentyps arbeitet. Ein Datenfeld ist eine einzelne Variable mit mehreren Feldern, in denen Werte gespeichert werden, während eine typische Variable nur über ein Speicherfeld verfügt, in dem nur ein Wert gespeichert werden kann. Sie können auf das Datenfeld als Ganzes verweisen, wenn Sie auf alle darin befindlichen Werte verweisen möchten, oder auf die einzelnen Elemente.
Damit Sie z.B. die täglichen Kosten für jeden Tag des Jahres speichern können, deklarieren Sie eine Datenfeldvariable mit 365 Elementen anstelle von 365 Variablen. Jedes Element in einem Datenfeld enthält einen Wert. Die folgende Anweisung deklariert die Datenfeldvariable curKosten mit 365 Elementen. Standardmäßig wird ein Datenfeld beginnend mit Null (0) indiziert, so daß die obere Grenze des Datenfeldes statt 365 nur 364 entspricht.
Dim curKosten (364) As Currency
Damit Sie den Wert eines einzelnen Elements festlegen können, geben Sie den Index des Elements an. Das folgende Beispiel weist jedem Element im Datenfeld den Anfangswert 20 zu.
Sub FülleDatenfeld ()
Dim curKosten (364) As Currency
Dim intI As Integer
For intI = 0 to 364
curKosten (intI) = 20
Next
End Sub
Ändern der unteren Grenze
Sie können die Option Base-Anweisung am Anfang eines Moduls dazu verwenden, den Standardindex des ersten Elements von 0 auf 1 zu ändern. Im folgenden Beispiel ändert die Option Base-Anweisung den Index für das erste Element und die Dim-Anweisung deklariert die Datenfeldvariable curKosten mit 365 Elementen.
Option Base 1
Dim curKosten(365) As Currency
Sie können auch explizit die untere Grenze eines Datenfelds über den To-Abschnitt festlegen. Beispiel:
Dim curKosten(1 To 365) As Currency
Dim strWochentag(7 To 13) As String
Speichern von Variant-Werten in Datenfeldern
Es gibt zwei Möglichkeiten, Datenfelder für Werte des Typs Variant zu erstellen. Sie können ein Datenfeld als Datentyp Variant deklarieren. Beispiel:
Dim varDaten(3) As Variant
varDaten(0) = "Christine Müller"
varDaten(1) = "44137 Dortmund"
varDaten(2) = 38
varDaten(3) = Format("06-09-1952", "General Date")
Sie können aber auch das von der Array-Funktion zurückgegebene Datenfeld einer Variant-Variablen zuweisen. Beispiel:
Dim varDaten As Variant
varDaten = Array("Christine Müller", "44137 Dortmund", 38, _
Format("06-09-1952", "Allgemeines Datum"))
Sie kennzeichnen die Elemente in einem Datenfeld von Variant-Werten über den Index, unabhängig von der bei der Erstellung des Datenfeldes verwendeten Methode. Die folgende Anweisung kann z.B. zu jedem der vorhergehenden Beispiele hinzugefügt werden.
MsgBox "Daten für " & varDaten(0) & " wurden aufgezeichnet."
Verwenden mehrdimensionaler Datenfelder
In Visual Basic können Sie Datenfelder mit bis zu 60 Dimensionen deklarieren. Die folgende Anweisung deklariert z.B. ein zweidimensionales, 5-zu-10-Datenfeld.
Dim sngMulti(1 To 5, 1 To 10) As Single
Wenn Sie sich das Datenfeld als Matrix vorstellen, so stellt das erste Argument die Zeilen und das zweite Argument die Spalten dar.
Verwenden Sie verschachtelte For...Next-Anweisungen für die Verarbeitung mehrdimensionaler Datenfelder. Die folgende Prozedur füllt ein zweidimensionales Datenfeld mit Single-Werten.
Sub FülleDatenfeldMulti ()
Dim intI As Integer, intJ As Integer
Dim sngMulti(1 To 5, 1 To 10) As Single
' Aufüllen des Datenfeldes mit Werten.
For intI = 1 To 5
For intJ = 1 To 10
sngMulti(intI, intJ) = intI * intJ
Debug.Print sngMulti(intI, intJ)
Next intJ
Next intI
End Sub
Steht so in der Hilfe von MS-Excel
MFG
J.Jambo