• ベストアンサー

【Access2000】抽出条件の設定について

Access2000の抽出条件について質問です。 下記のようなテーブルがあります。 番号が3桁、5桁のものが混在しています。 ※3桁、5桁以外のものはありません。 キー | 番号 | 名前 001 | 11029 | りんご 002 | 332 | みかん 003 | 10154 | ばなな 番号を加工する条件として、 A. 5桁の場合、頭から2桁目から3桁の値を取る B. 3桁の場合は、そのまま値を取る があります。 フィールドの記述は A. 番号加工後: Mid(Left([番号],2) ,3) というところまでは分かりました。 上記の条件をもとにクエリで実行したいのですが、抽出条件はどのように書けばよろしいでしょうか? 識者の方、ご教示いただけますと幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.1

番号は テキストですかね? 式1: IIf(Len([テーブル1]![番号])>3,Mid([テーブル1]![番号],2,3),[テーブル1]![番号]) この結果は 102 332 015です 番号の長さが3文字以上であれば、2桁目から3文字 そうでなければ 番号全てとしています。 クエリの項目に書きます

woolrich
質問者

お礼

ご返答ありがとうございます。 番号はテキストになります。 ご教示いただいた式をクエリの項目で実行したところ、所望の値が取れました。 条件式をフィールドに記述できることを、恥ずかしながら初めて知りました。 勉強になりました。

その他の回答 (1)

noname#60992
noname#60992
回答No.2

mid([番号],(len([番号])-1)/2,3) とすれば 5桁の場合は2番目から3文字 3桁の場合は1番目から3文字 抽出すると思います。 4桁の場合は2番目から3文字取ってくるようですので、おっしゃっておられる以外のパターンがある場合は更なる工夫が必要です。 いろいろな複雑なパターンがある場合はモジュールにファンクションを作ってしまうのが簡単だと思いますが、VBAの知識が必要になります。

woolrich
質問者

お礼

ご返答ありがとうございます。 ご教示いただいた式で、希望の結果が得られました。 条件式を拝見すると、なるほど納得の記述ですね。 目から鱗が落ちました。

関連するQ&A

  • ACCESSのデータ抽出について

    項目が同じ(1)テーブルと(2)テーブルと(3)の産地データをリレーションシップでつなぎデータ■クエリ_結果2のように抽出したいのですが■クエリ_結果2のちょうに重複するデータしか抽出できません。 どうしたら結果1のように全ての商品を抽出できるでしょうか? アクセス初心者です。よろしいくお願いします (1)テーブル【中央11月データ】 バナナ 50 りんご 10 ミカン 100 (2)テーブル【関西11月データ】 バナナ 30 梨 60 (3)産地データ バナナ フィリピン りんご 青森 みかん 愛媛 梨 千葉 ■クエリ_結果1 バナナ フィリピン 80 りんご 青森 10 みかん 愛媛 100 梨 千葉 60 ■クエリ_結果2 バナナ フィリピン 80

  • Access 選択クエリーの抽出条件

    Access2000を使っています。 選択クエリーの抽出条件にテーブルの値を設定することは可能でしょうか? たとえば、テーブルAに対して、抽出条件をテーブルBのデータでコード番号 ”B*”(コード番号にBのつくもの)を抽出したいのですが・・・。 よろしくお願いします。

  • Accessのクエリ

    Access2000です。 お願いします。 テーブルが以下のようになっています。 (例)  種類   個数 りんごA  1 りんごB  2 みかん   1 ばなな   1 クエリで抽出するときにりんごはA,Bの区別なくまとめて、 個数を足して3と表示させたいのです。 どのようにしたら良いでしょうか? どうぞよろしくお願い致します。

  • Accessの抽出条件

    お世話になります。 選択クエリの抽出条件の書き方がわかりません、どなかたお教えください。 質問:基本データ、の数値定義の、登録番号の、4225403~4246003の間の抽出条件で選択クエリの抽出条件セル内にどのように書けばよいでしょうか? ちなみに私は、&[Forms]![F_抽出条件]![抽出条件]のForms、F_抽出条件、抽出条件、!、[] 等の意味がまったくわからないレベルです。 そのままセルにコピペでOKの形で教えてください。

  • IDの大きい方を抽出

    Access2019 重複クエリで作成して、表示迄出来ました。 重複クエリを基に、クエリでIDの大きい方を抽出しようと出来ないものかと。。 重複クエリ表示例 日付 識別番号 名称 ID 2023/12/23 1234 りんご1 123 2023/12/23 1234 りんご1 150 → 抽出データ 2023/12/23 5678 みかん2 234 2023/12/23 5678 みかん2 300 → 抽出データ 2023/12/23 5678 みかん2 350 → 抽出データ ご教授頂ければ幸いです。 以上、宜しくお願い致します。

  • ACCESSの使い方

    ACCESS2003を使ってデータ抽出をしようとしています。 エクセルからデータを取り込み、クエリを使って抽出を試みましたがうまくいきません。重複データなどは取り出せます。 取り出せないものは[りんご]、(みかん)といったカッコつきのものです。抽出条件の欄に‘りんご[]’などとも入れてみましたがクエリが実行されず抽出ができません。 どなたかうまく抽出する方法を教えてください。お願いします。

  • 表から条件で抽出して別の表を作る

    いつもお世話になっています。またわからなくなってしまいまして、わかる方がいましたらよろしくお願いいたします。 下記のような表で、例えばB列が『A商店』のデータを抽出して、別の表としてE列以降に新しい表を作るようなことは可能でしょうか? =====  A    B   C D E    F   G りんご A商店 2個  りんご A商店 2個 バナナ A商店 3個  バナナ A商店 3個 りんご B商店 5個  バナナ A商店 5個 みかん C商店 3個  みかん A商店 1個 バナナ A商店 5個 みかん A商店 1個 バナナ C商店 3個 ===== よろしくお願いいたします。

  • アクセス クエリー 抽出条件について

    アクセス クエリー 抽出条件について たとえば文字列で5桁の仕入先コードフィールドが有るとします。で1と3と5を除くレコードを表示させたいときは 抽出条件をどの様に設定したらよろしいでしょうか?

  • ACCESS2000 クエリの抽出条件について

    またまた、お世話になります。 クエリでの抽出を行う方法についてアドバイスをお願いします。 以下、状況を説明します。 抽出条件をつけようとしているフィールドはテキスト型で、通常は、"001""010""101"など3桁の数字が入ってます。稀に"011A"というふうに、数字3桁+アルファベット1文字が入ることもあります。(ちなみに入る数字は001~200までです。) このフィールドに対し、3桁の数字部分をそのまま数値と見なして、例えば"010以上"で抽出したいのです。 単に">=010"なんてやってもダメですよね。(←注:これはやってみた訳ではなく、私の想像です) どのようにすれば良いでしょうか。よろしくお願いいたします。

  • ACCESSで、"***"を含むデータを抽出したい

    宜しくお願い致します。 あるフィールドに、"***りんご"、"***みかん"といったように 文字の頭にアスタリスクを含んでいる文字があります。 アスタリスクを含んでいない、"りんご"、"みかん"のような 純粋な文字もあります。 クエリを作成して、頭にアスタリスクが付いている文字だけ抽出したいのですが、Accessだと*印=オールマイティと見なされてしまい、データの抽出ができません。 なにか良い方法はありますでしょうか。。。 宜しくお願い致しますm(__)m