このブログで言いたいことは、

ワイルドカードの * と % を、使い分けるということです。

〇〇を含むデータを抽出しろと言われたら?

こんにちは。伊川(@naonaoke)です。

今回は、データベースを作成して、上司から、〇〇を含むデータを抽出してほしいと言われた時のお話です。

都道府県は、データベースを作成する際に、決めたほうがいいです。

結局、Excelでも、IF関数や、PowerQuery等で、抽出はできます。

しかし、予め決めておけば、無駄な労力を使わなくて済むからです。

データベースを作成していると、どうしても○○を含むデータを抽出することがあります。

しかも、そのデータをExcelで確認したい・・・・・・・・

ACCESSでクエリを作成して、Excelに貼ってよ、って思います。

しかし、ここは、上司の望みを叶えましょう。

なぜならば、それこそが、あなたのスキルになるからです。

このブログはこんな人にお勧め

今回のテーマ
  • SQL文でワイルドカードの書き方がわからない人
  • いつも、上司の無茶な命令に従っている人
  • ExcelとACCESSの連携を勉強している人

このブログを、読み終わるころには・・・・

ExcelとACCESSの転送の際に、ワイルドカードの書き方を理解することができます。ACCESSで利用するワイルドカードと、ExcelとACCESSの転送時に使うワイルドカードは少し違います。

ワイルドカードは、VBAだけではなく、ExcelのworkSheet関数でも使えます。

ExcelのworkSheet関数でも結構紹介していますので、ぜひ、あなたのスキルにしてください。

ワイルドカード

このブログでも、動画でも何度も説明しておきます。

一言でいうなら、あいまいな検索や、抽出ということができます。

初心者の頃は、ワイルドカードと聴くだけで、びっくりしますが、用語の1つです。

〇〇を含むデータを抽出 作業手順 その1 データベース確認


前回の使いまわしで申し訳ないです。

このデータベースに関して、「川」を含むデータを抽出しなさいと上司から依頼されたとします。

クエリで抽出するなら、Like “*川*” と書きます。


〇〇を含むデータ抽出 作業手順 その2 ACCESSからExcelへの転送の時にぶつかる壁

では、○○を含むクエリを作成してから、Excelへ転送すれば、いいのではないか?

必ずこのように思います。

ワイルドカードで作成したクエリは、転送できません。

理由はわかりません。

○○を含むというコードをExcel側のVBAで指定する必要があります。

ここが、少し難しいところです。

〇〇を含むデータ抽出 作業手順 その3 転送時のVBAのSQL文

SQL = “SELECT * FROM MT_test Where [名前] Like ‘%川%'”

このように記載します。

ACCESSのワイルドカードは、[*]です。

しかし、転送時のワイルドカードは、[%]で指定します。

この部分は、知っているか、知らないかの問題です。

ACCESSと同じように[*]で記載してもエラーになりますので、気を付けてください。

そして、この違いを知らない人は、覚えてください。

〇〇を含むデータ抽出 作業手順 その4 完成のコード


ここがポイント

ここがポイント
Function8.png
今回は、ワイルドカードの書き方について、紹介しました。しかし、重要なのは、ワイルドカードを使わなくても、データ抽出できるようなデータベースを作成することです。

ここが肝心なとこです。

ACCESSは、大工道具なのです。

その職人の色が際立つシステムです。

データベースを作成するときの、設計図をおろそかにしてはいけません。

動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

よく、実務であるあるのことを紹介しました。

上司の命令に負けないようにスキルアップを目指しましょう。

今回も最後まで読んでいただきありがとうございました。

今回のサンプルファイルは、No208です。

サンプルファイルを購入希望の方はココをクリック
毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事