対象:Access
Accessで単純に選択クエリを作成すると、全角と半角、大文字と小文字、ひらがなとカタカナは区別されません。
例えば「ランク」というフィールドを作って「AAa」「aaa」「Bbb」というようなデータが入力されているようなケースで、クエリの抽出条件に「AAA」と指定したとしても「AAa」「aaa」も抽出されてしまいます。これは大文字と小文字が区別されない例ですが、全角・半角、ひらがな・カタカナでも同様に区別されることはありません。
これを区別して抽出するにはどうすればいいでしょうか。
[スポンサードリンク]
文字列比較をするStrComp関数を利用して演算フィールドを作成することで、全角・半角、大文字・小文字、ひらがな・カタカナを区別して抽出をすることができます。
▼操作手順:全角・半角、大文字・小文字、ひらがな・カタカナを区別したクエリ
(「ランク」フィールドから「AAA」を抽出する例)
クエリをデザインビューで開く
↓
デザイングリッドの[フィールド]欄に
「条件: StrComp([ランク],"AAA",0)」
と入力
↓
[抽出条件]欄に「0」と入力
(「ランク」フィールドから「AAA」を抽出する例)
クエリをデザインビューで開く
↓
デザイングリッドの[フィールド]欄に
「条件: StrComp([ランク],"AAA",0)」
と入力
↓
[抽出条件]欄に「0」と入力
StrComp関数は、
第3引数で指定された方法(上記の場合は「0」=バイナリモード)で、
第1引数と第2引数を比較して、
等しい場合に「0」を等しくない場合には「-1」「1」を返す関数です。
上記の例では、[ランク]フィールドのデータと「AAA」という文字列を比較することで「条件」フィールドには「-1」「0」「1」という値が表示されるようになり、[条件]フィールドの[抽出条件]に「0」を指定することで「AAA」のレコードが抽出されることになります。
第2引数を「[抽出条件は?]」というように指定することで、パラメータクエリにすることもできます。
[スポンサードリンク]
- Newer:平成1年を平成元年と表示させたい−TEXT関数・IF関数
- Older:「@」アットマークを入力できない
Home » Access(アクセス)の使い方 » 全角・半角/大文字・小文字/ひらがな・カタカナを区別したクエリ−StrComp関数