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.
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