Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Funktionen mit mehreren Rckgabewerten, Teil II

Im zweiten Teil dieser Beitragsreihe erfahren Sie, wie Sie mit einer Funktion mehrere Werte mit Hilfe eines Arrays zurckgeben. Der einzige Haken an dieser Methode ist, dass alle zurckgegebenen Werte den gleichen Datentyp haben mssen.

Funktionsergebnis als Array zurckgeben

Wenn Sie mit einer Funktion mehrere Werte gleichen Datentyps ermitteln mchten, knnen Sie fr die Rckgabe des Ergebnisses ein Array verwenden.

Ein praktisches Beispiel ist die Rckgabe des Inhalts eines Feldes von mehreren Datenstzen. Wenn Sie beispielsweise die Tabelle Kategorien aus der Nordwinddatenbank verwenden, knnen Sie mit der folgenden Funktion ein Array zurckgeben, dass alle in der Tabelle enthaltenen Kategorienamen enthlt:

Public Function Kategorienliste()

    Dim cnn As ADODB.Connection

    Dim rst As New ADODB.Recordset

    Dim Liste() As String

    Dim i As Integer

    i = 0

    Set cnn = CurrentProject.Connection

    rst.Open "Kategorien", cnn, adOpenDynamic, adLockOptimistic

    Do While Not rst.EOF

        ReDim Preserve Liste(i)

        Liste(i) = rst!Kategoriename

        i = i + 1

        rst.MoveNext

    Loop

    Kategorienliste = Liste

End Function

Dabei wird die Gre des dynamisch deklarierten Feldes Liste mit jedem Datensatz um eins erhht. Die folgende Funktion ruft die Funktion Kategorienliste auf und gibt die in dem Array enthaltenen Kategorienamen in das Testfenster aus. Dabei fragt die Funktion mit den beiden Funktionen UBound und LBound den Index des ersten und des letzten Wertes des Array ab:

Public Function KategorienAusgeben()

    Dim Liste() As String

    Liste = Kategorienliste

    For i = LBound(Liste) To UBound(Liste)

        Debug.Print Liste(i)

    Next i

End Function

© 2003-2015 André Minhorst Alle Rechte vorbehalten.