Access入門(22)クエリでの文字列データの抽出

今回は、クエリのテキストデータの検索について説明をします。
本稿では、以下の内容について解説を行っております。
1)クエリのコピー
2)文字列検索とは
3)固定文字での検索
4)曖昧検索
5)指定の文字以外のデータを抽出

前回は「限度額」項目という数値項目についてある値より大きい値や以上の値といった形でデータの抽出を行いました。今回は、文字列に対してデータを抽出するというテーマでご説明をします。

1)クエリのコピー
前回はクエリを新規で作成する方法について説明をしました。今回は、前回に作成をしたクエリをコピー&ペーストすることによって、作成をします。

下図の通り、ナビゲーションウィンドウのクエリ欄から該当のクエリを選択してマウスの右クリックでコピーを選択します。

下図の通り、ナビゲーションウィンドウのクエリ欄から該当のクエリを選択してマウスの右クリックで貼り付けを選択します。

下図の通り、「貼り付け」というダイアログが表示されるので、クエリ名欄に適切な名前を入力して「OK」ボタンを押して保存します。今回はクエリ名欄に「文字列検索」と入力したいと思います。

クエリを作成する際には、以前に制作したクエリと同じような条件や同じような表示項目のクエリを作成することがあるかと思います。そのような場合に、新規で制作するのではなくコピー&ペーストにてすでに作成しているクエリをコピーしてくるのも一案かと思います。

2)文字列検索とは
下図の通り、今回作成した「文字列検索」というクエリをデザインビューで開きます。デザインビューにてクエリを開くことによって、設計情報を修正できます。

「顧客管理」の各項目の定義情報を確認します。
下図の通り、「顧客管理」テーブルをデザインビューで開きます。ナビゲーションウィンドウの「顧客管理」テーブルを選択してマウスの右クリックでデザインビューを選択します。

下図の通り、テーブルをデザインモードで開くと各フィールドのデータ型を確認することができます。例えば、顧客名は「短いテキスト」で定義されています。

「短いテキスト」という型は文字型で英数字や日本語が255文字まで入力することができます。255文字以上の文字を入力する可能性がある項目は「長いテキスト」という型を選択して下さい。こちらは64000文字まで入力することが可能です。

下図の通り、「限度額」項目の抽出条件に「>=[限度額を入力してください]」という抽出条件が入力されています。一旦、この条件を削除します。下図の通り、抽出条件を選択して「del」キーでデータを削除することができます。

3)固定文字での検索
固定文字で検索したい場合は、下図の通り抽出条件欄に固定文字を入力します。今回は、顧客名欄に「内藤」という文字が入力されているデータを抽出します。

下図の通り、抽出条件欄に「内藤」と入力して、別の箇所にカーソルを移すと、抽出条件欄は「”内藤”」とダブルクォーテーションで抽出条件が囲まれます。

本来なら、文字での抽出の場合には、抽出条件を「”内藤”」というように文字をダブルクォーテーションで囲う必要があります。しかし、Access側が勝手にダブルクォーテーションを追加してくれるので、入力の際にはダブルクォーテーションなしで入力しました。

下図の通り、左上の「×」ボタンを押すと何かしらの修正をクエリに加えていた場合には「‘文字列検索’クエリの変更を保存しますか?」ダイアログボックスが表示され、クエリ保存の有無を確認してくれます。今はクエリに変更を反映したいので「はい」ボタンを押します。

下図の通り、クエリの「文字列検索」をダブルクリックすると結果が表示されます。

下図の通り、クエリの抽出対象となっているテーブルを確認します。顧客名欄の「内藤」は抽出対象となっていますが、その下の「内藤3」は抽出対象となっていません。つまり今回の抽出条件は文字列が完全に一致していないと抽出対象とならないことが確認できます。

4)曖昧検索
例えば、顧客名を検索したい場合に名前を完全に覚えていない場合などもあるかと思います。そのような場合には、上記のような完全一致ではなく曖昧検索ができると便利です。

今回は、顧客名に「内」が含まれているデータを抽出したいと思います。下図の通り、抽出条件欄に「Like “*内*”」と入力します。

アスタリスク「*」は、任意の文字が入ることを表しています。つまり「Like “*内*”」は「中垣内」「寺内」「内海」「内123」なども抽出されます。

前方一致にて検索を行いたい場合、例えば、「内」から始まる文字を抽出したい場合には、抽出条件欄に「Like “内*”」と入力します。すると、「内海」「内123」は抽出されますが、「中垣内」「寺内」のデータは抽出されません。

後方一致にて検索を行いたい場合は、抽出条件欄に「Like “*内”」と入力します。すると、今度は「中垣内」「寺内」は抽出されますが、「内海」「内123」のデータは抽出されません。

5)指定の文字以外のデータを抽出
指定の文字以外のデータを抽出したい場合には、下図の通り、抽出条件欄に「<>”内藤”」と入力します。すると、顧客名欄に「内藤」と入力されていないデータが抽出されます。

クエリの実行結果は、下図の通りになります。「内藤3」が抽出されている通り、顧客名欄が「内藤」に完全一致するものではないデータが抽出されていることが分かります。


ニコニコチャンネル(月額固定で見放題)
http://ch.nicovideo.jp/ai-light
本記事に関連する動画講座を閲覧できます。一部の動画は無料でも閲覧できます。

YouTubeチャンネル(無料動画配信中)
https://www.youtube.com/user/ailightcom
ITと経営に関する動画を配信しております。
よろしければ、チャンネル登録をお願い致します。

無料から学べる講座
https://www.ai-light.com/itkeiei/
本記事に関連する動画講座をセット販売しております。
その他、ITと経営に関する動画もセット販売しております。

格安ホームページ制作所
https://www.ai-light.com/hp2
インターネットマーケティングに関する記事が無料で閲覧可能です。

株式会社アイライト公式HP
https://www.ai-light.com/
(Access・Excelでシステム開発会社を探されている法人様はこちら)

ITでお困りのことがございましたら、まずはご相談(コンサルティング)
https://www.ai-light.com/itconsulting.html


弊社は、主に中小企業様向けの業務システム開発ホームページ制作パソコンサポートコンサルティングなど、ITに関する様々なサービスを格安で提供しております。
特に小規模な業務システム開発の分野では、主にAccess(アクセス)を利用した柔軟で効率的な開発を得意としており、関西でダントツの実績があります。

業務システム開発に関しては、以下のような内容で対応しております。
・顧客管理などの単機能なシステムは20万円~50万円が多い。
・受注から入金まで業務全体システムで100万円~350万円ぐらいが多い。
・Access(アクセス)-SQLserverで大規模システム開発は350万円~1500万円が多い。

詳細は、Access(アクセス)、Excel(エクセル)、WEBサイト製作による小規模システム開発のページをご参考ください。

大阪商工会議所からの推薦を受けて、中小企業庁運営の中小企業支援事業に専門家として登録されました。
通称ミラサポ。3回まで無料でのコンサルティングが可能です。ご興味がある方はご連絡ください。
https://www.mirasapo.jp/


(近畿大学にて非常勤講師も務めたバリバリの技術屋が経営する会社)

Access(アクセス)Excel(エクセル)SQL server バーコード Webシステムを使った業務システムのシステム開発の無料相談を受付中

株式会社 アイライト 担当:内藤 響(Naito Ko)
〒550-0005 大阪市西区西本町1丁目5番9号 日清ビル 5F
(四つ橋線 本町駅 24番出口すぐ)
まずは、メール・電話でご相談ください。
TEL : (06) 6599-8890 E-mail : info@ai-light.com
お電話が混んでいる場合が多いので、つながりにくい場合は
TEL : (06) 6535-5117までお願いします。