プロが教える店舗&オフィスのセキュリティ対策術

Access2000以降について質問です。
顧客記録の電話番号フィールドについてお尋ねします。
異なるデータソース(テキスト形式)から各々に電話番号フィールドを含む2つのテーブルを作成したのですが、電話番号のフィールドがテーブル1では「ハイフンつき」の電話番号、テーブル2のほうでは「ハイフンなし」の電話番号になっています。また、いずれのフィールドもデータ型は「テキスト型」になっています。
やりたいことはテーブル1の電話番号にはないテーブル2の電話番号を含むレコードを不一致クエリを用いて抽出したいのですが、ハイフンがあるために全て不一致になってしまいます。
ハイフンを入れるのは地方の電話番号が多いため市外局番が3桁や4桁などで不揃いのためLEFT、RIGHT関数を用いて入れるのは不可能です。
そこでテーブル1のハイフンつき電話番号フィールドからハイフンを取り除きたいのですが、なにか方法はありませんか?VBAは分からないのでそれ以外でやる方法があれば教えて下さい。お願いします。

A 回答 (3件)

単純なやり方として、


(1) 電話番号フィールドをコピー
(2) Excelに貼り付け
(3) Excelでハイフンを取り除く(置換)
(4) (3)をコピー
(5) Accessの電話番号フィールドに貼り付け
ってのはどうでしょう?
    • good
    • 0
この回答へのお礼

これは非常に簡単なやり方でした。
フィールド全体をコピーしてExcelに貼り付けるなんて想像もしませんでしたよ。
どうもありがとうございました。

お礼日時:2005/11/30 11:31

選択クエリで、式1にReplace([電話番号],"-","")でやってみると


下記になりましたが、これが使えませんか。
ID氏名電話番号重複式1
1山田03-2345-6543a0323456543
2大島042-2345-234504223452345
3下田0720-34-3456a0720343456
4小出042-345-23450423452345
5中田07523-23456a0752323456
(たまたまあったテーブルを使っただけで、上記「重複」フィールドは意味ないので無視してください。)
    • good
    • 0
この回答へのお礼

Replaceという関数が使えたんですね。知りませんでした。
実際やってみると、うまくいきました。
どうもありがとうございました。

お礼日時:2005/11/30 11:30

#2のimogasiさんが回答していますがテーブル1のクエリを作り電話番号をReplace([電話番号],"-","")で-を除くようにしてそのクエリを更新クエリにしてテーブル1の電話番号を-抜きで更新してから不一致クエリを作って処理しても良いし。

テーブル1の電話番号の-は残しておきたければReplaceして-を除いたクエリとテーブル2を使って不一致クエリを作れば出来ます。
これが簡単です。
    • good
    • 0
この回答へのお礼

早速のお返事ありがとうございます。
確かにReplaceを利用したクエリでやったほうが便利そうです。
ありがとうございました。

お礼日時:2005/11/30 11:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています