ACCESS ワイルドカードの使い方
ACCESSのクエリやVBAで抽出条件を書く際、完全一致ではなく部分一致(あいまい検索)で条件を書きたいときがありますよね。
そんな時はワイルドカードの出番です。
ワイルドカードを使用すれば、柔軟に抽出条件を設定できます。
今回は、ACCESSでのワイルドカードの使い方をご紹介します。
こんにちは。
はこにわガジェット (@hakoniwagadget) です。
ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは使いこなすために少しスキルが必要なものの、うまく活用すればExcelよりも業務の効率化が図れます。
この記事ではACCESSの基本的な使い方をご紹介していきます。
ワイルドカードとは
ワイルドカードとはクエリやVBAで抽出条件を記載する際に、部分一致での抽出条件を表現するために使用する記号です。
ワイルドカードを用いて表現することで、特定の文字パターンを表現することが可能です。
たとえば、以下の抽出条件を表現できます。
・住所に「東京都」を含むレコードのみを抽出する
・氏名が「田中」で始まるレコードのみを抽出する
・一の位が「9」の数値のレコードのみを抽出する
主なワイルドカード
以下が、ACCESSで使用する主なワイルドカードです。
種類が多くて使い分けが難しいと思うかもしれませんが、困ったときは「*(アスタリスク)」を使えば、ほぼ解決します。
文字 | 説明 | 使用例 | 合致 | 非合致 |
* | 任意の数の文字を表現します。 つまり、文字数、文字種別に関係なくすべての文字が条件に合致します。 | a* | access,accept | bay |
? | 任意の一文字を表現します。 | a? | at、an | aim |
[] | 角かっこ内のどれか1文字を表現します。 | a[in]d | aid,and | add |
! | 角かっこ内の文字以外を表現します。 | a[!in]d | add | aid,and |
– | 範囲内の任意の文字を表現します。 | a[a-i]d | add,aid | and |
# | 任意の数字1文字を表現します。 | 1#0 | 100,110 | 101,1a1 |
ワイルドカードの使用方法
ワイルドカードをACCESSで使用する際は、Like演算子と一緒に利用します。
具体的な利用例を記載しましょう。
「はこにわ」という文字が含まれるレコードのみを抽出したい場合
like “*はこにわ*”
Likeの後に、テキスト型を表すダブルクォーテーション(”)で文字を囲っています。
ここで、アスタリスク(*)が文字の前後に入っているのですが、これが先ほどご説明したワイルドカードによる部分一致です。
次に少し条件を変えてみましょう。
「はこにわ」から始まるレコードのみを抽出したい場合
like “はこにわ*”
違いは、最初の「*」がなくなったことです。
指定した文字の後方だけにワイルドカードを適用しています。
この条件ですと「はこにわガジェット」は条件に合致しますが、「ガジェットはこにわ」は条件に合致しません。
もう一パターンやってみましょう。
「はこにわ」で終わるレコードのみを抽出したい場合
like “*はこにわ”
今度は逆に最後の「*」がなくなりました。
この条件ですと「ガジェットはこにわ」は条件に合致しますが、「はこにわガジェット」は条件に合致しません。
このように、ワイルドカードを使いこなせば、自分のやりたい抽出方法を柔軟に実現することが可能です。
以上、ワイルドカードの使い方をご紹介しました。
ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。
そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。
ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。
最後までお読みいただき、ありがとうございました。