- ベストアンサー
Accessの電話番号フィールド
Access2000以降について質問です。 顧客記録の電話番号フィールドについてお尋ねします。 異なるデータソース(テキスト形式)から各々に電話番号フィールドを含む2つのテーブルを作成したのですが、電話番号のフィールドがテーブル1では「ハイフンつき」の電話番号、テーブル2のほうでは「ハイフンなし」の電話番号になっています。また、いずれのフィールドもデータ型は「テキスト型」になっています。 やりたいことはテーブル1の電話番号にはないテーブル2の電話番号を含むレコードを不一致クエリを用いて抽出したいのですが、ハイフンがあるために全て不一致になってしまいます。 ハイフンを入れるのは地方の電話番号が多いため市外局番が3桁や4桁などで不揃いのためLEFT、RIGHT関数を用いて入れるのは不可能です。 そこでテーブル1のハイフンつき電話番号フィールドからハイフンを取り除きたいのですが、なにか方法はありませんか?VBAは分からないのでそれ以外でやる方法があれば教えて下さい。お願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
選択クエリで、式1にReplace([電話番号],"-","")でやってみると 下記になりましたが、これが使えませんか。 ID 氏名 電話番号 重複 式1 1 山田 03-2345-6543 a 0323456543 2 大島 042-2345-2345 04223452345 3 下田 0720-34-3456 a 0720343456 4 小出 042-345-2345 0423452345 5 中田 07523-23456 a 0752323456 (たまたまあったテーブルを使っただけで、上記「重複」フィールドは意味ないので無視してください。)
その他の回答 (2)
- O_cyan
- ベストアンサー率59% (745/1260)
#2のimogasiさんが回答していますがテーブル1のクエリを作り電話番号をReplace([電話番号],"-","")で-を除くようにしてそのクエリを更新クエリにしてテーブル1の電話番号を-抜きで更新してから不一致クエリを作って処理しても良いし。テーブル1の電話番号の-は残しておきたければReplaceして-を除いたクエリとテーブル2を使って不一致クエリを作れば出来ます。 これが簡単です。
お礼
早速のお返事ありがとうございます。 確かにReplaceを利用したクエリでやったほうが便利そうです。 ありがとうございました。
- s___o
- ベストアンサー率35% (108/306)
単純なやり方として、 (1) 電話番号フィールドをコピー (2) Excelに貼り付け (3) Excelでハイフンを取り除く(置換) (4) (3)をコピー (5) Accessの電話番号フィールドに貼り付け ってのはどうでしょう?
お礼
これは非常に簡単なやり方でした。 フィールド全体をコピーしてExcelに貼り付けるなんて想像もしませんでしたよ。 どうもありがとうございました。
お礼
Replaceという関数が使えたんですね。知りませんでした。 実際やってみると、うまくいきました。 どうもありがとうございました。