Microsoft Access 掲示板

INで全角と半角を区別したい

4 コメント
views
4 フォロー

以前、AccessClubでお世話になりました、kitasueと申します。
早速ですが、INで全角と半角を区別して判定するには、どうしたらよいでしょう。
例えば、
'A' IN('A', 'B')ならばFalse(先頭の'A'は全角です)
'A' IN('A', 'B')ならばTrue(先頭の'A'は半角です)
としたいのです。
よろしくお願いいたします。

kitasue
作成: 2020/07/01 (水) 17:49:26
通報 ...
1
kitasue 2020/07/01 (水) 18:37:30 ce705@a68b2

一応、自己解決しましたので報告します。
INのカッコの中はSELECT文になってまして、

試験値 IN(SELECT 候補値 FROM テーブル)

という式になっていました。そこで、

NOT EXISTS(SELECT 0 FROM テーブル WHERE StrComp(試験値,候補値,0)=0)

とすることでしのぎました。
どうもお騒がせ致しました。

2
kitasue 2020/07/01 (水) 18:42:54 ce705@a68b2

ごめんなさい。先頭のNOTは不要です。
スレを汚してすみません。。。

3

自己解決できてよかったですね。
関連するブログ記事を紹介しておきます。

【Access】クエリで大文字/小文字、全角/半角、ひらがな/カタカナを区別して文字列比較したい | hatena chips

4
kitasue 2020/07/01 (水) 20:21:01 ce705@a68b2

hatenaさんありがとうございます。
ブログ記事拝見しました。
InStrでもバイナリ比較できるんですね。
勉強になりました。