Eigene Controls mit Access entwickeln

Christoph Spielmann, Düsseldorf

Zu einer guten Entwicklungsumgebung gehört normalerweise die Möglichkeit, dass sich die zur Verfügung gestellten Bausteine wie Klassen, Objekte und Steuerelemente mit den Bordmitteln beliebig erweitern und ergänzen lassen. Leider ist Access hier insbesondere im Bereich der Steuerelemente gravierend eingeschränkt. Dieser Artikel zeigt Ihnen, wie Sie trotzdem neue Controls mit Access entwickeln und einsetzen können.

Eine besondere Eigenschaft von Steuerelementen ist, dass Sie ein einziges Mal programmiert bzw. definiert werden und dann in unterschiedlichen Formularen beliebig oft eingesetzt werden können.

Eine weitere Eigenschaft ist, dass sie universell einsetzbar sind und sich je nach Einsatzgebiet ggf. an die besonderen Bedingungen anpassen lassen. Solche Eigenschaften stellen unter Access im Prinzip alle eingebauten Steuerelemente zur Verfügung, jedoch bietet nur ein Steuerelement die Möglichkeit zur individuellen Programmierung. Hierbei handelt es sich um das Unterformular-Steuerelement.

Die Besonderheit dieses Steuerelements ist, dass Sie hier ein beliebiges Formular innerhalb eines anderen Formulars anzeigen können. Dies funktioniert natürlich auch mehrfach.

So kann beispielsweise ein Unterformular innerhalb eines Formulars auch mehrmals angezeigt werden.

Das Unterformular-Steuerelement sorgt hierbei automatisch dafür, dass von dem betreffenden Formular mehrere Instanzen erzeugt werden, die zwar auf der gleichen Formulardefinition basieren, aber ansonsten unabhängig sind. Beispielsweise kann der Wert einer privaten Variablen in den unterschiedlichen Instanzen auch unterschiedliche Werte annehmen, obwohl diese Variable nur ein einziges Mal definiert ist.

In diesem Zusammenhang verwendet man häufig die beiden Begriffe Klasse und Objekt. Eine Klasse ist eine Schema-Definition, also quasi eine Bauanleitung. Auf der Basis einer Klasse können dann mehrere Objekte (oder Objektinstanzen) erzeugt werden.

Bei einem Formular innerhalb des Datenbankfensters von Access handelt es sich immer um eine Klasse. Erst wenn Sie das Formular öffnen, wird ein entsprechendes Objekt erzeugt.

Mit Hilfe von VBA-Programmcode ist es sogar möglich, mehrere Objektinstanzen eines Formulars zu erzeugen.

Das Formular erscheint in diesem Fall mehrfach auf dem Bildschirm, was zum Beispiel bei der gleichzeitigen Bearbeitung mehrerer Datensätze Sinn machen könnte.

Einen ähnlichen Effekt erzielen Sie, wenn Sie ein Formular mehrmals als Unterformular in ein Hauptformular einbetten.

Um die Anlage der einzelnen Objektinstanzen kümmert sich in diesem Fall Access selbst.

Abb. 1: Die PickList im Einsatz

Abb. 2: Aufbau der Tabelle tblAdressen

Abb. 3: Das Formular frmTest in der Entwurfsansicht

Das hier vorgestellte Beispiel zeigt Ihnen, wie Sie eine so genannte “Pick-List” als Steuerelement realisieren. Hierbei handelt es sich um zwei Listenfelder, zwischen denen Sie Einträge durch Doppelklicks von links nach rechts übernehmen können (s. Abb. 1).

Solche Steuerelemente werden z. B. dann eingesetzt, wenn Sie aus einer Tabelle mehrere Einträge selektieren möchten.

Eine wichtige Anforderung an dieses Steuerelement ist, dass es möglichst universell und ohne viel Programmieraufwand eingesetzt werden kann.

Dementsprechend greift das Steuerelement nicht direkt auf eine bestimmte Access-Tabelle zu, sondern erwartet die Angabe der Tabelle als Konfigurationsparameter. Einzige Anforderung ist, dass die zugrunde liegende Tabelle ein aktualisierbares Ja/Nein-Feld enthält.

In der Beispieldatenbank Control.mdb finden Sie eine entsprechende Tabelle namens tblAdressen (s. Abb. 2). Das Ja/Nein-Feld IstAusgewählt bestimmt hierbei, ob die Adresse (z. B. für einen Serienbrief) selektiert ist.

Sie haben das Ende des frei verfügbaren Textes erreicht. Möchten Sie ...

Workplace

Jahresabonnement TestzugangOder haben Sie bereits Zugangsdaten? Dann loggen Sie sich gleich hier ein:

Schreibe einen Kommentar