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!

4.7 Besonderheiten von Unterformularen

4.7.1 Eingabe von Daten ohne Detaildatensatz

In Abschnitt 4.5.10 haben Sie ein Formular mit Unterformular zur Eingabe von Projekten und Projektzeiten kennen gelernt. Wenn Sie dort im Hauptformular auf einen neuen Datensatz springen und im Unterformular Daten anlegen, bekommen Sie folgendes Problem: Die Datensätze im Unterformular sind dann nicht mit einem Datensatz im Hauptformular verknüpft und verschwinden in die ewigen Jagdgründe - zumindest aus Sicht dieses Formulars, denn es zeigt im Unterformular nur Datensätze an, die mit dem im Hauptformular befindlichen Datensatz verknüpft sind (siehe Abbildung 4.58).

Das ist zumindest das Standardverhalten: Seit Access 2007 können Sie mit der Eigenschaft Leeren Hauptentwurf filtern (VBA: FilterOnEmptyMaster) des Unterformular-Steuerelements festlegen, ob im Falle eines leeren Datensatzes im Hauptformular alle Datensätze der Datensatzquelle des Unterformulars oder keiner angezeigt werden soll.

Abbildung 4.58: Eingabe von Daten in ein Unterformular ohne verknüpften Datensatz im Hauptformular (»frmProjektzeiten«)

Um diese Probleme zu vermeiden, sollten Sie verhindern, dass der Benutzer mit der Bearbeitung von Daten im Unterformular beginnt, bevor er nicht mindestens ein Feld im Hauptdatensatz ausgefüllt hat. Dazu legen Sie für die Ereigniseigenschaft Beim Hingehen die folgende Prozedur an:

Private Sub sfmProjektzeiten_Enter()
    If Me. NewRecord Then
        If Not Me. Dirty Then
            MsgBox "Bitte legen Sie zuerst einen Projektnamen an."
            Me!Projekt.SetFocus
        End If
    End If
End Sub

Listing 4.29: Kein Datensatz im Unterformular ohne Pendant im Hauptformular

Die Prozedur prüft, ob das Hauptformular einen neuen Datensatz enthält und ob dieser gegebenenfalls bereits bearbeitet wurde - womit der benötigte Primärschlüsselwert vorhanden wäre. Falls nicht, fordert die Routine den Benutzer auf, zunächst ein Projekt im Hauptformular anzulegen.

Nächster Abschnitt:

4.7.2 Undo in Haupt- und Unterformular

© 2006-2008 André Minhorst Alle Rechte vorbehalten.