• 締切済み

Access2000のテキスト型から数値型への変換

外部データベースで、電話番号がばらばらにテキスト型で入力されているのですが、 それをきれいな数値型に修正したいと思っています。 全角だったり半角だったり、()があったり、ハイフンがあったりなのですが、 すべて統一して数字のみにしたいです。 追加クエリで、そのようなばらばらなデータを、数値のみにして自分のDBに追加していきたいのですが、よい方法がありましたら、教えて下さい。

みんなの回答

  • tom777
  • ベストアンサー率77% (14/18)
回答No.2

ユーザ定義関数を作るのは同じですが、 Access2000なら、 Sub A()   Msgbox ChangeTelNumber("(03)123-1234") End Sub Public Function ChangeTelNumber(byref sBuf As String) As String   sBuf = StrConv(sBuf, vbNarrow)   sBuf = Replace(sBuf, "(", "")   sBuf = Replace(sBuf, ")", "")   sBuf = Replace(sBuf, "-", "")   ChangeTelNumber = sBuf End Function なんてどうでしょう。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

ユーザー定義関数を作ってみました。半角文字にして、指定した文字を削除します。 電話番号の先頭はゼロが多いので、下の結果は文字にしてあります。(03)123-4567は031234567 になります。 '半角の数値のみにする関数 Public Function Str2Numeric(Moji As String) As String   Dim L As Integer 'カウンタ   Dim LenMoji As Integer '電話番号の文字長   Moji = StrConv(Moji, vbNarrow) '半角にする   LenMoji = Len(Moji) '最初の電話番号の文字長   For L = LenMoji To 1 Step -1     Select Case Mid(Moji, L, 1)       Case "(", ")", "-" '削除する文字を登録する         Moji = Left(Moji, L - 1) & Right(Moji, Len(Moji) - L) '削除     End Select   Next   Str2Numeric = Moji End Function

関連するQ&A