目次
ACCESSで文字列を抽出
こんにちは。伊川(@naonaoke)です。
前回は、Excelで、FIND関数をメインに使って、数字のみを抽出しました。
では、ACCESSでも、同等のことができるのでしょうか?
問題提起
当社のサイトから、ダウンロードされているサンプルファイルの合計をデータベースにしてほしい。
さて、どのように作成ればいいだろうか?
解決策
回答
・Val関数、MID関数、InStr関数を利用してクエリを作成する。
利用する関数
利用する関数
Val関数は、文字列を必ず数値型に変換して返します。
MID関数は、文字列の途中から抽出する関数です。
InStr関数は、文字列を検索し見つかった最初の位置を返します。
特定の文字列抽出 作成手順その1 データベース確認
159を抽出したいとします。
Excelでは、FIND関数がありましたが、ACCESSには、FIND関数がありません。
したがって、別の関数を利用しなければなりません。
しかし、考え方は同じですので、ACCESSでも自由自在い文字が抽出できるようにしましょう。
特定の文字列抽出 作成手順その2 目印(メルクマール)を探す
クエリは、動画でも行ってきましたが、変幻自在に操作できます。
それは、ACCESSには、SQL文という技があるからです。
つまり、SQL文を記載する人間のスキルが大きく左右します。
今回は、どのようなSQL文を記載するのでしょうか?
特定の文字列抽出 作成手順その3 SQL文を組む
思考過程その1
思考過程その2
.
思考過程その3
思考過程その4
完成
ここがポイント
ここがポイント
今回のポイントは、InStr関数にあります。読み方は、インストリング関数といいます。
InStr関数は、とても便利な関数です。ただし、単独で使うことはほとんどありま線。上記サンプルのように、ただ文字の位置を調べて終わるという作業は、実務ではほとんどありません。文字の位置を調べて、それを元に次の処理を行うのが一般的です。また、InStr関数はVBAでも利用でますでの、ぜひ、みなさんのスキルにしてください。
まとめ
今回のまとめ
今回で、クエリの使い方も少しずつ理解してきた、阿久 世子男(アク セスオ)なのでした。
今回のサンプルファイルは、No85です。
毎日の業務が、3時間短縮できます
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。