人生最悪の忘れ物

アクセスを使って名前や住所を管理しています。外字が含まれていることがあり、今は、クエリで?や・を探していますが、・でもクエリで検出できるものとできないものがあるみたいで、100%見つけることができず、結局目でチェックしています。
何か簡単に探す方法はないでしょうか?

A 回答 (4件)

フォーム>挿入>標準モジュールで、VBA の編集画面(VBE)が


開きます
そこに、先ほどのコードをコピペしてください
これで、外字を★に変換する test という関数がクエリ等で
利用できるようになります

新規にクエリを作り、例えば「住所」のフィールドを
表示させます
隣のフィールドの「フィールド」欄に
test([住所])
「抽出条件」欄を
Like "*★*"
としてデータシートビューに変更します

外字を含むレコードのみ、外字が含まれた箇所が
★に置換されて表示される筈です(多分)
上手く説明できませんので、尚不明な点があれば教えてください

>何か、文字以外は探すとか、記号を探すとかは無理なんでしょうか?
一旦 CSV などテキスト形式に変換して正規表現をつかう、とか?

#3さん、フォロー有難うございます
調べた限りでは unicode では E000~F8FF までの6400文字が
私用領域に充てられているようです。
    • good
    • 2
この回答へのお礼

できした。ありがとうございます。
できました。まさしく私がやりたかったことです。
モジュールの詳しい事は分からないですが参考になりました。これから、勉強します。

お礼日時:2006/05/06 15:45

外字とは、ユーザーが独自に作った文字フォントを伴い、文字コード付けがされているものです。

ここが文字画像と違うところです。そして文字コードの入力により、IME(フロントエンドプロセッサ)で文字コードを文書にセットできるものです。
そしてその文字コードは、(1)一般の文字コードとぶっつからないようにしなくてはならず、(2)また通常は決まった限定された領域に作る事を認めている場合が多い。
この(2)の性質に注目して(外字コード領域の文字を)、プログラム化して探しているのが、#2のご回答と思う。
(間違ってたら#2さんすみません)
未経験で、今時間がなくて調べてませんが、その外字コードのFrom
TOのコードを調べてください(一筋縄では行かないようだが)。
WEBで「外字 文字コード 領域」で照会してください。
#2の質問者の補足振りから、質問者が内容を理解されてないのではと思い、私も未熟ながら、書いております。
なお#2はユーザー関数化されているのですが、クエリでの使い方等
お分かりですか。
    • good
    • 0
この回答へのお礼

ありがとうございます。
できました。
私の勉強不足ですみませんでした。これからもっと勉強します。

お礼日時:2006/05/06 15:46

標準モジュールにコピペして、クエリで使ってみてください


抽出条件を Like "*★*" にして目視の上変更するのが
無難かと思います

Function test(aa) As String
Dim tmp As String

tmp = Nz(aa, "")
Dim i As Integer
Dim a As String
For i = 1 To Len(tmp)
a = Mid(tmp, i, 1)
If AscW(a) >= &HE000 And AscW(a) <= &HF8FF Then
Mid(tmp, i, 1) = "★"
End If
Next

test = tmp
End Function

この回答への補足

★が外字で文字化けしているものってことでしょうか?(ごめんなさい、知識なくてモジュール分からなくて)★を探すのができなくて、、、、見た目には同じ★でも、クエリで検索すると抽出できるものとできな物だあるんです。何か、文字以外は探すとか、記号を探すとかは無理なんでしょうか?

補足日時:2006/05/06 11:21
    • good
    • 0

テーブルを開いて 編集→検索 じゃダメ?

この回答への補足

化けてる物が分かれば検索できるのですが、同じ"・"でも検索できるものとできないものが出ていまします。(どうやら同じJISコードしか検索できないみたいです)

補足日時:2006/05/06 11:25
    • good
    • 0

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

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


おすすめ情報

このQ&Aを見た人がよく見るQ&A