Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
In Ausgabe 4/2010 haben wir unser Tool zur einfachen Auswahl von Datumsbereichen vorgestellt. Dieses haben wir nun überarbeitet und um eine neue Methode zum Aufrufen des Formulars erweitert. Welche änderungen nötig sind und wie Sie das Formular zum Auswählen von Datumsbereichen nun nutzen, erfahren Sie im vorliegenden Beitrag.
Das Formular zur Datumsauswahl zeigt die Daten eines kompletten Jahres an und ermöglicht es, bei gedrückter Maustaste einen Datumsbereich zu markieren. Dies ist insbesondere interessant, wenn Sie einen Zeitraum markieren und das Start- und das Enddatum weiterverarbeiten möchten.
In der ersten Version des Auswahldialogs für Datumsbereiche (siehe Datumsbereiche auswählen, www.access-im-unternehmen.de/729) konnten Sie dazu ausschließlich zwei Textfelder angeben, die dann mit den ausgewählten Datumsangaben gefüllt wurden.
Die Klasse clsDatumsauswahl brachte dazu alles Nötige mit – Sie brauchten nur noch ein Objekt auf Basis der Klasse zu deklarieren, diese zu instanzieren und das Formular und die beiden zu verwendenden Textfelder anzugeben – schon funktionierte die Datumsauswahl.
In diesem Beitrag fügen wir der Lösung noch weitere Features hinzu. Das erste ist die Möglichkeit, die Klasse auch von VBA-Code aus aufzurufen, ohne gleich ein Formular oder die zu füllenden Textfelder anzugeben.
Die gewählten Datumsangaben können dann einfach per Eigenschaft der Klasse ausgelesen und weiterverwendet werden.
Außerdem ergänzen wir das Formular zur Auswahl der Zeiträume um Schaltflächen, mit denen Sie um jeweils einen Monat beziehungsweise ein Jahr vor- oder zurückspringen können. Bild 1 zeigt die neue Version des Formulars mit den vier Schaltflächen zum ändern des angezeigten Zeitraums.

Bild 1: Formular zur Auswahl von Datumsbereichen
Aufruf per VBA
Zum Start zeigen wir Ihnen, wie Sie den Dialog zur Datumsauswahl – neben der bereits vorhandenen Möglichkeit – auch noch per VBA aufrufen können.
Dies gelingt wie in der folgenden Beispielprozedur, die Sie in der Beispieldatenbank im Modul mdlSample finden:
Public Sub Sample()
Dim objDatumsauswahl As clsDatumsauswahl
Dim datStart As Date
Dim datEnde As Date
Set objDatumsauswahl = New clsDatumsauswahl
With objDatumsauswahl
.Startdate = Date
.Enddate = Date + 10
.DatumsauswahlStarten
datStart = .Startdate
datEnde = .Enddate
End With
Debug.Print datStart, datEnde
End Sub
Die Prozedur deklariert zunächst ein Objekt des Typs clsDatumsauswahl sowie zwei Variablen zum Speichern des Start- und des Enddatums, das mit dem Dialog zur Datumsauswahl ermittelt wurde. Danach instanziert die Prozedur ein neues Objekt auf Basis der Klasse clsDatumsauswahl.
Nur für Abonnenten
Ab hier wird’s wirklich spannend – der Rest ist exklusiv für Abonnenten.
Mit dem Abo von Access im Unternehmen bekommst du den kompletten Artikel – inklusive vollständigem Code, Beispieldatenbank und Schritt-für-Schritt-Erklärung.
So sparst du dir stundenlanges Herumprobieren, vermeidest teure Fehler in deiner Access-Anwendung und kannst Lösungen direkt in deinem Unternehmen einsetzen, statt nur darüber zu lesen.
Teste Access im Unternehmen jetzt 4 Wochen lang kostenlos: Voller Zugriff auf alle Artikel, Downloads und Beispieldatenbanken. Kein Risiko – wenn es für dich nicht passt, kündigst du einfach innerhalb der ersten vier Wochen.
Bereits Abonnent? Hier einloggen
Kostenlos & unverbindlich
Oder hast Du eine konkrete Frage zu Deiner eigenen Access-Anwendung?
Vielleicht stellt Deine Anwendung Dich vor eine Herausforderung, zu der Du bisher keine Lösung findest. Schlechte Performance, kein ausreichender Zugriffsschutz, Du bist unsicher über Dein Datenmodell oder Dein Code liefert unerklärliche Fehler?
In unserem kostenlosen Access-Audit schaut sich André Minhorst persönlich gemeinsam mit Dir Deine Lösung per Zoom an – und zeigt Dir, wo Datenmodell, VBA-Code, Ergonomie und Sicherheit Optimierungspotenzial bieten.
Jetzt kostenloses Access-Audit anfordern →