スポンサードリンク

Access Betweenで文字を抽出する方法

Accessのクエリでは、文字列の抽出条件に、数字の時と同じように「Between A and B」が使えます。Betweenを使うと例えばア行で始まるレコードを抽出できます。

しかし文字列に対してBetweenを使うときは注意が必要です。あるフィールドに対してBetweenで抽出条件を指定すると、思ったような表示にならないことがあります。文字列の並び順は、辞書の並び順と関係しているからです。

今回はAccessの演算フィールドや関数を上手く使い、思ったような結果になるようにする例を解説します。

【1】Accessのファイル「クエリ練習.mdb」を起動します。

access-query47.gif


【2】オブジェクトで「クエリ」を選択します。

access-query65.gif


【3】「Q03抽出クエリ」を選択し、「デザイン」をクリックします。

access-query66.gif


【4】クエリのデザインビューが開きました。

access-query67.gif


【5】データシートビューで表示します。今回は食品名から先頭の1文字を抜き出します。

access-query104.gif


【6】デザインビューのメニューから「挿入→列」を選択します。

access-query105.gif


【7】新しい列(フィールド)が挿入されました。

access-query106.gif


【8】フィールドに 先頭文字: Left([食品名],1) と式を入力します。式を入力したフィールドを演算フィールドといいます。

access-query107.gif

「先頭文字」がフィールド名になります。フィールド名の後は半角で「:」セミコロンを入力します。セミコロンの後が式になります。「Left()」はAccessにあらかじめ用意されている関数で、文字列を左から指定した文字数だけ抜き出します。

Left(文字列,文字数)

今回は文字列にフィールド名を指定しています。フィールド名は[]カッコで囲みます。文字数は何文字抜き出すかということで、1文字目は1と数えます。


【9】データシートビューで確認すると、「先頭文字」というフィールドが表示され、食品名から先頭の1文字を抜き出した値が表示されています。

access-query108.gif


【10】先頭文字の 抽出条件: に「Between 'ア' And 'オ'」と入力します。

access-query109.gif


【11】データシートビューで確認すると、先頭文字がア行のレコードが抽出されています。

access-query110.gif

これでア行(ア〜オ)で始まる食品名が抽出できました。


【12】今回は「Q03抽出クエリ」を保存します。

access-query111.gif


既存のフィールドで抽出できない場合は、演算フィールドを上手く使い抽出できるように工夫することがコツです。

食品名にはカタカナや漢字が混じっているので、今回のような方法だけでは十分ではありませんが、イメージはつかんでいただけたと思います。

例えばア行の顧客名を抽出したい場合などは、漢字を含んだフィールドでは思うように抽出できません。そんな時は読みをカタカナで入力するフィールドを作っておいて、それを今回のような方法と組み合わせて使います。


スポンサードリンク






Microsoft Access初心者入門講座 TOPへ