Datumsbereiche auswählen, Version 2.0

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.

pic001.png

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.

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.

pic001.png

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.

Access im Unternehmen

Unser exklusives Angebot für Dich!

Access im Unternehmen
13,25 € im Monat*

(Gilt für den Abschluss eines Jahres-Abonnements im ersten Jahr, danach 189,-/Jahr)

Hier geht’s weiter →

Die ersten 4 Wochen kostenlos testen – voller Zugriff auf alle Artikel, vollständigen Code und Beispieldatenbanken. Kein Risiko: Wenn es nicht passt, kündigst Du einfach innerhalb der ersten vier Wochen.

PayPal VISA Mastercard SEPA
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 →