Das Bereinigen von Daten vor dem Import in Ihre Datenbank ist Standard – schließlich nutzen Sie eine Datenbank ja gerade, um sie anhand festgelegter Kriterien gezielt abfragen zu können, oder? Wie gehen Sie also mit externen Situationen um, in denen Sie beispielsweise Daten aus einer Datei importieren müssen, in der eine Person „$“ eingibt, eine andere aber annimmt, dass es sich um einen Geldwert handelt? Oder noch schlimmer: Jemand gibt „am“ oder „pm“ ein, eine andere Person verwendet aber die 24-Stunden-Uhr? Wie üblich gibt es viele Lösungsansätze. Ein Ansatz besteht darin, zu prüfen, ob eine Zeichenkette nur aus Zahlen besteht oder auch andere Zeichen enthält. Mit etwas VBA ist diese Prüfung einfach – und dieser Artikel zeigt Ihnen, wie einfach.
Warum müssen wir das tun?
Wenn Sie Informationen importieren, deren Eingabe oder Extraktion Sie nicht kontrollieren können, sind Sie diesem Problem sicherlich schon oft begegnet: Nutzer geben Daten so ein, wie es ihnen am besten passt, nicht einheitlich. Das bedeutet, dass es nur eine Frage der Zeit ist, bis Sie … um es einheitlich, bevor Sie es importieren können.
Ein typisches Beispiel hierfür ist, dass Sie Daten in ein numerisches Feld importieren müssen. Wenn Sie sich jedoch die Daten ansehen, sehen Sie, dass einige Tausende durch Kommas getrennt haben, andere ein Währungszeichen hinzugefügt haben - und wer weiß was noch.
Ein kurzes Wort zur Vorsicht!
Das Importieren von Daten, die nicht in Ihre Datenbank bereinigt wurden, kann ziemlich katastrophal sein - im besten Fall kann es Ihre Berichterstellung verzerren, schlimmer noch, Sie könnten alle möglichen Probleme haben - lassen Sie sich nicht von „schmutzigen“ Datenimporten leiten versuche es Zugriffsproblem beheben jedes Wochenende!
Wie man alphabetische Zeichen „loswird“
Sie können natürlich manuell suchen und ersetzen, aber dies kann einige Zeit dauern und Sie können etwas verpassen (wenn Sie beispielsweise nur nach Dollarzeichen suchen, verpassen Sie möglicherweise das Eurozeichen oder Kommas, Leerzeichen usw.). . Der einfachste und zuverlässigste Weg, dies zu tun, besteht darin, Access die harte Arbeit mit dem folgenden Code ausführen zu lassen.
Auf den Code…
Public Function removeNonNumeric(inString As String) As Long Dim outputString, chrString As String Dim strPos As Integer For strPos = 1 To Len(inString) chrString = Mid(inString, strPos, 1) If IsNumeric(chrString) Then outputString = outputString & chrString Next removeNonNumeric = CLng(outputString) End Function
Was der Code macht

Passen Sie den Code an Ihre Bedürfnisse an
Wie Sie sehen können, gibt die Funktion den Datentyp "long" zurück. Wenn Sie mit Ganzzahlen, Gleitkommazahlen usw. arbeiten, sollten Sie die Funktion entsprechend ändern, damit sie den richtigen Werttyp für Ihre Datenbank zurückgibt.
Einführung des Autors:
Mitchell Pond ist ein Datenrettungsexperte in DataNumen, Inc., das weltweit führend bei Datenwiederherstellungstechnologien ist, einschließlich Reparatur- SQL Server Datenbank und Excel-Wiederherstellungssoftwareprodukte. Für weitere Informationen besuchen Sie www.datanumen.com €XNUMX