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

Access2003, WindowsXP

AccessVBAで以下のような比較を書いていたのですが、こちらの意図と違う動作をしていることに気づきました。

Dim strA as String
Dim strB as String
strA = "123abc" '半角英数
strB = "123abc" '全角英数

If strA = strB then
 Msgbox("strAとstrBは同じです")
Endif

上のコードをそのまま実行すると、strAとstrBは同じであると判断されてしまいます。
こちらの意図としては、比較した2つの変数は「全角英数」と「半角英数」という点で違う値として認識して欲しいのですが、上のような表記方法ではダメなのでしょうか。

正しい比較方法などがあるようでしたら、教えていただきたいです。よろしくお願いします。

A 回答 (1件)

[イミディエイト]


? "123abc" = "123abc"
True
? StrConv("123abc", vbFromUnicode)=StrConv("123abc", vbFromUnicode)
False
? StrConv("123abc", vbFromUnicode)=StrConv("123abc", vbFromUnicode)
True
? StrComp("123abc", "123abc", 0)=0
True
? strComp("123abc", "123abc", 0)=0
False

こんな感じで比較します。
    • good
    • 0
この回答へのお礼

なるほど・・・
できました。ありがとうございます!

お礼日時:2008/09/08 18:30

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