Universelle Unterformulare (Access 97, 2000)
Veröffentlicht am 30.12.2003
Unterformulare lassen sich gleichzeitig in verschiedene Hauptformulare einfügen.
Wenn Sie bei dem Entwurf von Unterformularen einige Regeln beachten, können Sie diese universell einsetzen.
Die wichtigste Regel ist hierbei, dass Sie beim Verweis vom Unterformular aus auf das Hauptformular nie den Namen des Hauptformulars angeben dürfen. Dies ist erforderlich, da der Name natürlich davon abhängig ist, wo Sie das Unterformular einfügen. Als Ersatz stellt Access die Parent-Eigenschaft zur Verfügung, die zu einem bestimmten Unterformular einen Verweis auf das Hauptformular zurückliefert.
Ein gutes Beispiel für ein universelles Unterformular sind selbsterstellte Navigationsschaltflächen. Legen Sie einfach ein neues leeres Formular an, bei dem Sie die Navigationsschaltflächen, den Datensatzmarkierer sowie die beide Bildlaufleisten ausblenden. Platzieren Sie auf dem Formular zwei Schaltflächen mit den Namen btnNächster und btnVorheriger. Der BeimKlicken-Ereigniseigenschaft der ersten Schaltfläche weisen Sie folgende Prozedur zu:
Private Sub btnNächster_Click()
On Error Resume Next
Dim R As DAO.Recordset
'Auf Hauptformular verweisen
Set R = Me.Parent.RecordsetClone
'Gleichen Datensatz auswählen
R.Bookmark = Me.Parent.Bookmark
R.MoveNext
Me.Parent.Bookmark = R.Bookmark
End Sub
Die Ereignisprozedur der zweiten Schaltfläche hat einen identischen Aufbau. Ersetzen Sie lediglich die MoveNext-Eigenschaft durch die MovePrevious-Eigenschaft. Speichern Sie das fertige Formular unter den Namen Navigationsschaltflächen.
Sie können das neue Formular nun in jedes beliebige Hauptformular per Drag&Drop aus dem Datenbankfenster einfügen. Wenn Sie im Hauptformular die Rahmenart-Eigenschaft des Unterformular-Steuerelements auf Transparent einstellen, ist das Unterformular noch nicht einmal als solches zu erkennen. Nach dem Umschalten in die Formularansicht können Sie die Navigationsschaltflächen direkt einsetzen.
