Beitrag aus SmartTools Access Weekly
Alle Nullen aus Datumsangaben in Berichten entfernen
Access 365 2024 2021 2019 2016 2013 2010
FRAGE Ich möchte in meiner Datenbank Datumsangaben wie "12.03.2025", "02.11.2025" oder "03.05.2025" ohne die Nullen in Berichten ausgeben, also als "12.3.2025", "2.11.2025" oder "3.5.2025". Wie kann ich dies erreichen? Die Nullen einfach per "Replace()" durch nichts zu ersetzen, funktioniert nicht, da dann auch Nullen in Monaten wie zum Beispiel bei "15.10." (= 15.1.) oder im Jahr "2025" (= 225) verschwinden.
Diverse Anfragen
ANTWORT Kopieren Sie die folgende Funktion in ein Modul Ihres VBA-Projektes:
Public Function RemoveDateNulls(dt As Variant) As String
Dim strResult As String
Dim tmp As Variant
On Error Resume Next
strResult = CStr(dt)
tmp = Split(strResult, ".")
If Left$(tmp(0), 1) = "0" Then tmp(0) = Mid$(tmp(0), 2)
If Left$(tmp(1), 1) = "0" Then tmp(1) = Mid$(tmp(1), 2)
RemoveDateNulls = Join(tmp, ".")
End Function
In Ihrem Bericht ändern Sie dann die Eigenschaft der betreffenden Datumsangaben auf folgenden Ausdruck:
=RemoveDateNulls([Feldname])
"Feldname" ersetzen Sie jeweils durch den Namen des Datumsfeldes in Ihrem Bericht. Die Funktion erwartet als Parameter "dt" ein Datum vom Datentyp "Text" oder "Datum/Zeit". Der Parameter wird zunächst generell in den Datentyp "Text" konvertiert, um Zeichenkettenfunktionen nutzen zu können. Diese zerlegen das Datum in ein Array "tmp", das anschließend den Tag im Element "0" und den Monat im Element "1" enthält. In diesen beiden Elementen wird dann geprüft, ob sie führende Nullen enthalten und diese ggf. eliminiert. Mit "Join()" fügen wir das Ergebnis - nun ein um Nullen bereinigtes Datum - wieder mit dem Punkt "." als Trennzeichen zusammen, so dass beispielsweise aus "12.03.2025" die Zeichenkette "12.3.2025" entsteht.