データベースにインポートする前の情報の「クリーニング」はかなり標準的です–結局のところ、あなたがしている理由のXNUMXつですtarデータベースを使用するのは、設定された基準についてそのデータベースに予測どおりにクエリを実行できるようにするためです。 したがって、たとえば、ある人が「$」を入力したファイルから情報をインポートする必要があるが、別の人はそれが金銭であることがわかっていると想定する外部の状況をどのように処理するかtary値–またはさらに悪いことに、誰かが「am」または「pm」を入力したが、別の人が24時間制を使用している場合。 いつものように、問題に取り組む方法はたくさんありますが、XNUMXつの方法は、文字列が単なる数字のセットであるかどうか、または文字列に「非数字」が含まれているかどうかを確認することです。 少しのVBAがあれば、この種のチェックは簡単です。この記事では、どれほど簡単かを説明します…
なぜこれを行う必要があるのですか?
入力または抽出の方法を制御できない種類の情報をインポートする場合、これまでに何度も(多くの場合!)この問題に遭遇することになります。人々はmの方法で詳細を入力します。ost 均一な方法ではなく、彼らにとって快適です。 これはあなたがしなければならない前にそれが時間の問題であることを意味します make インポートする前に均一にします。
この典型的な例は、データを数値フィールドにインポートする必要がある場合ですが、データを見ると、数千をコンマで区切っているもの、通貨記号を追加しているものがあり、他に何を知っているかがわかります。
注意の簡単な言葉!
データベースにクリーンアップされていないデータをインポートすると、かなり悲惨な結果になる可能性があります。せいぜいレポートが歪曲される可能性があり、最悪の場合、あらゆる種類のデータが破損する可能性があります。「ダーティ」なデータのインポートが理由にならないようにしてください。しようとしている アクセスの問題を修正 週末中!
アルファベット文字を「取り除く」方法
もちろん、手動で検索して置換することもできますが、時間がかかる可能性があり、何かを見逃す可能性があります(たとえば、ドル記号だけを検索している場合は、ユーロ記号やカンマ、スペースなどを見逃す可能性があります) 。 したがって、これを行う最も簡単で信頼性の高い方法は、以下のコードを使用してAccessにハードワークを実行させることです。
コードに…
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
コードの機能

あなたに合うようにコードを適応させる
ご覧のとおり、関数は「long」のデータ型を返します。整数や浮動小数点などを使用している場合は、それに応じて関数を変更して、データベースに適切な種類の値を返すようにします。
著者紹介:
Mitchell Pondは、のデータ復旧の専門家です。 DataNumen、Inc。は、以下を含むデータ復旧技術の世界的リーダーです。 修理 SQL Server データベース と優れた回復ソフトウェア製品。 詳細については、次のWebサイトをご覧ください。 WWW。datanumen.com