Warum noch ein Access-Buch?
Für wen ist das Buch?
Jetzt bestellen
+ direkter Download des eBooks!
Nur EUR 59,95!
Fehler gefunden?
Bitte melden!
Wünsche an das Buch?
Her damit!
Was denken die Leser über dieses Buch?
Lesen Sie aktuelle Rezensionen!
Kapitel des noch nicht veröffentlichten Buchs zum Downloaden, Probelesen und Kommentieren
Beispieldatenbanken
Zusätzliches Material

Das Buch im HTML-Format

Für unbestimmte Zeit bieten Addison-Wesley und André Minhorst den kompletten Inhalt des Buchs als Download an. Schauen Sie rein und informieren Sie sich über den Inhalt! Und wenn Ihnen das Buch nützlich erscheint und Sie glauben, dass Sie etwas gelernt haben oder durch das Gelesene sogar etwas Zeit und somit Geld bei Ihrer Arbeit einsparen konnten, können Sie sich ja beim Autor und beim Verlag revanchieren - beispielsweise durch den Kauf dieses Buchs.

Am schönsten wäre es natürlich, wenn Sie das Buch direkt hier bestellen - Sie erhalten das Buch dann direkt vom Verlag, und der Autor und Verlag haben dann noch mehr davon, als wenn Sie es anderswo kaufen.

Danke für Ihr Interesse!

16.3.9 Aufruf der Methode GetPersons der Business-Schicht

16.3.10 Zugriff des Datenzugriffsobjekts auf die Datenschicht

Die Find-Methode stellt nach einigem Weiterreichen den ersten Zugriff auf die Daten dar. Sie verwendet Objekte, Methoden und Eigenschaften des DAO-Objektmodells für den Zugriff auf die Tabelle tblPersonen.

Die Methode hat einen optionalen Parameter namens varSearch - hier können Sie eine beliebige WHERE-Bedingung übergeben. Dieser Parameter wird im vorliegenden Beispiel nicht verwendet. Deshalb setzt die Prozedur die Zeichenkette strSQL lediglich aus dem SQL-Ausdruck SELECT * FROM tblPersonen zusammen.

Neben dem Database- und dem Recordset-Objekt für den Zugriff auf die Daten deklariert die Methode noch ein Personen-Objekt und ein Collection-Objekt, das später die eingelesenen Personen-Objekte enthalten wird.

Nach dem Öffnen der Datensatzgruppe rst durchläuft die Routine alle enthaltenen Datensätze und legt jeweils ein neues Objekt des Typs clsPerson an (Beschreibung siehe weiter unten) und füllt dessen Eigenschaften mit den Inhalten der entsprechenden Tabellenfelder. Nach dem Einlesen der Daten wird das fertige Objekt mit dem Wert der Eigenschaft PersonID als Schlüssel an die Auflistung objPersonen angehängt. Diesen Schlüssel verwenden Sie später, um auf einzelne Personen-Objekte der Collection zugreifen zu können.

Nachdem auf diese Weise alle Datensätze der Auflistung objPersonen in Form eines Personen-Objekts zugewiesen wurden, gibt die Funktion das Collection-Objekt mit den Personen-Objekten an die aufrufende Prozedur zurück.

Public Function Find(Optional varSearch As Variant) As Collection

    On Error GoTo Find_Err

    Dim db As DAO.Database
    Dim rst As DAO.Recordset
    Dim strSQL As String
    Dim objPerson As clsPerson
    Dim objPersonen As Collection

    Set db = CurrentDb
    strSQL = "SELECT * FROM tblPersonen"

    If Not IsMissing(varSearch) Then
        strSQL = strSQL & " WHERE " & varSearch
    End If

    Set rst = db.OpenRecordset(strSQL, dbOpenDynaset)
    Set objPersonen = New Collection

    Do While Not rst.EOF
        Set objPerson = New clsPerson
        With objPerson
            .PersonID = rst!PersonID
            .Vorname = rst!Vorname
            .Nachname = rst!Nachname
            .Strasse = rst!Strasse
            .PLZ = rst!PLZ
            .Ort = rst!Ort
        End With
        objPersonen.Add objPerson, CStr(objPerson.PersonID)
        rst.MoveNext
    Loop

    Set Find = objPersonen

Find_Exit:
    On Error Resume Next
    Set db = Nothing
    Exit Function

Find_Err:
    GoTo Find_Exit

End Function

Listing 16.37: Die Find-Methode des Datenzugriffsobjekts clsPersonDAO_DAO

Ab nach oben

Als Rückgabewert der Funktion Find wird das Collection-Objekt zunächst an die aufrufende Prozedur GetPersons der Business-Schicht weitergegeben, die es für weitere Zugriffe zwischenspeichert und es ihrerseits an die Routine cboSchnellsucheAktualisieren des Formulars zurückgibt.

Diese wiederum wertet die Collection mit den Personen-Objekten derart aus, dass jeweils der Wert der Eigenschaft PersonID und Vor- und Nachname in der Form , im Kombinationsfeld cboSchnellsuche angezeigt werden können. Dazu müssen Sie noch die Eigenschaft Herkunftsart auf Wertliste und die Eigenschaften Spaltenanzahl und Spaltenbreite auf die Werte 2 und 0cm einstellen (siehe Abbildung 16.9).

Abbildung 16.9: Kombinationsfeld mit Daten aus einer Collection von Personen-Objekten

Nächster Abschnitt:

16.3.11 Die Klasse clsPerson

© 2006-2008 André Minhorst Alle Rechte vorbehalten.