Unsere Webseiten benötigen JavaScript. Dies scheint in Ihrem Browser jedoch deaktiviert zu sein.

News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

Beitrag aus SmartTools Access Weekly

Führende Nullen in Feldern löschen

Access 365 2024 2021 2019 2016 2013 2010

FRAGE Wir importieren Daten aus verschiedenen Quellen. Dabei kommen Felder unterschiedlicher Länge mit führenden Nullen, also beispielsweise Inhalte wie "000123", "0000045", "006789" vor. Wir möchten die führenden Nullen löschen, kommen hier aber zum Beispiel mit strInhalt = Mid$(Feld, 4) nicht weiter, da mal 3, mal 5 oder mal 2 Nullen vorangestellt sind. Wie lässt sich dieses Problem am elegantesten lösen?

A. Möllmann

ANTWORT Verwenden Sie dazu die folgende Funktion:

Function FuehrendeNullenLoeschen(aStr As String) As String

  While Left$(aStr, 1)= "0"
    DoEvents
    aStr = Mid$(aStr, 2)
  Wend
  FuehrendeNullenLoeschen = aStr

End Function

Solange die als Parameter übergebene Zeichenkette mit "0" beginnt, extrahiert die Funktion den Inhalt ab der 2. Position, überspringt also die jeweils erste führende Null. Beginnt die Zeichenkette nicht mehr mit einer Null, wird die bereinigte Zeichenkette als Funktionsergebnis gesetzt und Sie erhalten die reinen Werte wie "123", "45" oder "6789". Benötigen Sie diese Ergebnisse direkt als numerische Werte, verwenden Sie folgende Funktion:

Function FuehrendeNullenLoeschen(aStr As String) As Long

  While Left$(aStr, 1)= "0"
    DoEvents
    aStr = Mid$(aStr, 2)
  Wend
  FuehrendeNullenLoeschen = CLng(aStr)

End Function

Hier wird das Funktionsergebnis nach der Bereinigung direkt in den Datentyp "Long" konvertiert.