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.11 Die Klasse clsPerson

16.3.12 Auswählen und Anzeigen eines Datensatzes

Nach dem Füllen des Kombinationsfeldes zur Schnellauswahl von Personen kümmern Sie sich nun um die Funktionalität des Kombinationsfeldes. Dieses soll nach der Auswahl den gewählten Datensatz im Formular anzeigen.

Hier kommt wiederum die Klasse clsPerson ins Spiel. Sie dient als Transportmittel der Daten aus der immer noch in der Klasse objController befindlichen Collection objPersonen. Ja, genau: Nach der Auswahl des anzuzeigenden Datensatzes aus dem Kombinationsfeld greift die Anwendung nicht etwa über die Zwischenschichten auf die Datenschicht zu, sondern bezieht die Informationen aus der im Controller zwischengespeicherten Collection, die alle im Kombinationsfeld auswählbaren Personen in Form von Objekten des Typs clsPerson enthält.

Und das sieht so aus: Nach dem Deklarieren der Objektvariablen objPerson wird diese mit Hilfe der Methode LoadPerson des Controller-Objekts gefüllt. Als Parameter wird dabei das gebundene Feld des Kombinationsfeldes übergeben, das die PersonID der anzuzeigenden Person enthält.

Private Sub cboSchnellsuche_AfterUpdate()

    Dim objPerson As clsPerson

    Set objPerson = objController.LoadPerson(Me.cboSchnellsuche)

    With objPerson
        Me!txtPersonID = .PersonID
        Me!txtVorname = .Vorname
        Me!txtNachname = .Nachname
        Me!txtStrasse = .Strasse
        Me!txtPLZ = .PLZ
        Me!txtOrt = .Ort
    End With

End Sub

Listing 16.39: Diese Routine wird nach der Auswahl eines Eintrags des Kombinationsfelds aufgerufen

Für das Füllen der Eigenschaften mit den Inhalten der Felder des Datensatzes mit der gesuchten PersonID ist die Methode LoadPerson des Controller-Objekts zuständig. Diese Methode deklariert zunächst ein Objekt des Typs clsPersonen und weist diesem das Objekt aus der Collection objPersonen mit dem passenden Wert der Eigenschaft PersonID zu, der in der Collection als Schlüsselwert eines jeden Elements gespeichert ist. Sollte ein solches Objekt einmal nicht in der Collection zu finden sein, greift die Funktion über die Methode Read des Objekts objPersonDAO auf die in der Datenschicht beziehungsweise der Datenbank enthaltenen Daten zu. Anderenfalls dient die in der Auflistung vorgefundene Instanz des gesuchten Personen-Objekts als Rückgabewert der Methode.

Public Function LoadPerson(lngPersonID As Long) As clsPerson

    Dim objPerson As clsPerson

    Set objPerson = objPersonen(CStr(lngPersonID))

    If objPerson Is Nothing Then
        Set LoadPerson = objPersonDAO.Read(lngPersonID)
    Else
        Set LoadPerson = objPerson
    End If

End Function

Listing 16.40: Weiterdelegieren des Ladens von Personendaten in das entsprechende Objekt

Nächster Abschnitt:

16.3.13 Einlesen von Personen, die nicht in der Collection enthalten sind

© 2006-2008 André Minhorst Alle Rechte vorbehalten.