Steuerelemente im Eigenbau: Range Control

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Der Fundus an Access-Steuerelementen fällt aus heutiger Sicht, gerade im Vergleich zu anderen visuellen Entwicklungsumgebungen, etwas bescheiden aus. Zwar lassen sich allerlei ActiveX-Steuerelemente in Formulare integrieren, doch beliebt ist dies bei vielen Entwicklern wegen der externen, unter Admin-Rechten zu registrierenden, Komponenten nicht besonders. Abhilfe schaffen können aber Steuerelemente, die Sie mit Bordmitteln einfach selbst erstellen. Wir stellen hier ein Beispiel vor: das Range Control.

Beispieldatenbank

Die Beispiele dieses Artikels finden Sie in der Datenbank 1609_RangeCtl.accdb.

Was ist denn ein Range Control

Eine übersetzung des Begriffs wäre Bereichssteuerelement. Sie kennen solche Regler etwa von Webshops oder Shopping-Portalen, wo Ihnen angeboten wird, die angezeigten Produkte über eine Preisspanne zu filtern. Dabei können Unter- und Obergrenzen mit der Maus und den Ziehpunkten des Elements eingestellt werden. Bild 1 zeigt unsere Umsetzung in einem Testformular. Mit vier Range Controls stellen sie dort visuell Wertebereiche ein.

Unterschiedliche Wertebereiche können im Testformular mithilfe der vier Range Controls mit der Maus über Ziehpunkte eingestellt werden

Bild 1: Unterschiedliche Wertebereiche können im Testformular mithilfe der vier Range Controls mit der Maus über Ziehpunkte eingestellt werden

Ein Anwendungsfall für derartige Steuerelemente wäre etwa die Filterung von Datensätzen. Im Datenblatt von Access können Sie bereits, je nach Felddatentyp, Wertebereiche zur Filterung der Anzeige bestimmen. Klicken Sie etwa, wie im Datenblatt zur Tabelle tblArtikel in Bild 2, auf den Dropdown-Pfeil des Spaltenkopfs zu Einzelpreisen. Es öffnet sich das Filtermenü mit diversen Möglichkeiten. Um einen Zahlenbereich festzulegen navigieren Sie über Zahlenfilter auf den Untermenüeintrag Zwischen…. Es erscheint ein einfaches Dialogfenster zur manuellen Eingabe der Bereichsgrenzen für die Preise, nach dessen Bestätigung sich die Datensätze entsprechend filtern. Während dieses Feature im Datenblatt noch ganz praktisch ist, verhielte es sich in Formularen wegen der Menüverschachtelung etwas undurchsichtig. Hier käme man mit einem Range Control schneller zum Ziel.

Menü und Dialog für das Filtern nach Wertebereich in einem Datenblatt

Bild 2: Menü und Dialog für das Filtern nach Wertebereich in einem Datenblatt

Formular als Steuerelement

Wenn Sie ein neues virtuelles Steuerelement entwickeln, werden Sie dieses in der Regel aus mehreren verfügbaren Access-Steuerelementen zusammensetzen wollen. Das könnten Sie direkt in jenem Formular tun, in dem dieses zum Einsatz kommen soll. Sobald dies jedoch in mehreren Formularen geschehen soll oder Sie das neue Element in andere Datenbanken importieren möchten, wird der Aufwand zu groß.

Die beteiligten Steuerelemente müssten alle kopiert werden und die zugehörigen Code-Abschnitte ebenso. Bequemer kommen Sie weg, wenn Sie die Steuerelemente und den Code in einem eigenen Formular anlegen, welches Sie dann schließlich nur als Unterformular in andere einsetzen. Zudem lässt sich dieses dann als Objekt auch in andere Datenbanken exportieren.

Eigenes Range Control

In der Beispieldatenbank finden Sie das neue Steuerelement in Gestalt des Formulars sfrmRanger. Sein Entwurf zeigt sich in Bild 3. Sie können es auch unmittelbar öffnen und bedienen, wie in Bild 4 dargestellt. Die Breite des virtuellen Steuerelements passt sich dabei der Größe des Formulars an, dessen Rahmen auf Veränderbar eingestellt ist, wodurch es mit der Maus dimensioniert werden kann. Dies wirkt sich später auch aus, wenn Sie es als Unterformular dimensionieren.

Entwurfsansicht des Range Control-Formulars

Bild 3: Entwurfsansicht des Range Control-Formulars

Das Range Control-Formular zur Laufzeit nach dem öffnen

Bild 4: Das Range Control-Formular zur Laufzeit nach dem öffnen

Die weiteren relevanten Einstellungen des Formulars: Der Datenbankmarkierer ist ausgeschaltet und ebenso die Navigationsschaltflächen. Die Standardansicht ist Einzelnes Formular. Gleichzeitig ist dies die einzige zugelassene Ansicht. Es gibt auch keine Trennlinien oder Bildlaufleisten.

Sieben Steuerelemente ergeben zusammen das Range Control. Die beiden Ziehpunkte sind Schaltflächen, die über deren Design-Eigenschaften auf blaue und violette Hintergrundfarbe mit Verlauf eingestellt sind (Bild 5). Außerdem ist ihr Rahmen rund (Bild 6). Sie erreichen diese Layout-Steuerung bei markiertem Button über den Ribbon Format | Steuerelementformatierung und das Menü zu Fülleffekt, sowie die Schaltfläche Form ändern.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar