• ベストアンサー

Acccess クエリで演算結果を抽出条件に入れる事はできませんか?

下記のような2つのテーブルを用意しています。 クエリにて、部数Aまたは、部数Bの数だけ、ループさせる方法をとりたいのです。 【テーブル】 T_会社 ---------------------------------- 会社名  部数A  部数B  住所 ---------------------------------- A社  3   20  東京都・・・ B社  2  10  埼玉県・・・ ---------------------------------- 【テーブル】 T_連番 ---------------------------------- 連番 ---------------------------------- 1 2 ・・・・ 100 ---------------------------------- 部数Aの場合は、うまくいっています。 【クエリ_部数A】 部数Aの数だけ、ループさせる SELECT T_会社.* FROM T_会社, T_連番 WHERE ((連番)<=[部数A]); ・・・抽出条件 ---------------------------------- 会社名  部数A  部数B 住所 ---------------------------------- A社  3 20 東京都・・・ A社  3 20 東京都・・・ A社  3 20 東京都・・・ B社  2 10 埼玉県・・・ B社  2 10 埼玉県・・・ ---------------------------------- しかし、部数Bの場合、この数字の「÷2」の値の数だけ、ループさせたいのですが、抽出条件に、演算結果(部数B計算)を入れると上手くいかないのです。 SELECT [部数B]/2 AS 部数B計算, T_会社.* FROM T_会社, T_連番 WHERE ((連番)<=[部数B計算]); ・・・抽出条件 ・・・ 部数B計算に対して、「パラメータの入力」ダイヤログが出て、表示できません。 クエリで演算結果を抽出条件に入れる事はできませんか? できるだけ、VBAを使用せずに処理を行いたいのです。 お分かりになる方がいらっしゃれば、アドバイスをお願い致します。 環境: WinXP 、Access 2003

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

  • ベストアンサー
  • 30246kiku
  • ベストアンサー率73% (370/504)
回答No.1

WHERE ((連番)<=[部数B計算]);  ↓ 以下でどうでしょうか WHERE ((連番)<=[部数B]/2);  ※条件記述が先に解釈されると思うので、[部数B計算]が何者かわからないと思います。

wdwdwd
質問者

お礼

有難う御座いました。 条件記述が先に解釈されるいう点が、ポイントなのですね。 理由がわかってすっきりしました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.2

[連番] の 抽出条件を <= [部数B] / 2 とすれば問題ないでしょう。 または [部数B計算] の 抽出条件に >= [連番] とするとか。

wdwdwd
質問者

お礼

[部数B計算] の 抽出条件に >= [連番] 上記の記述が同様の意味になることが知りませんでした。 有難う御座いました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • acccessのクエリ:1つのフィールドの抽出条件

    acccessのクエリで、ある1つのフィールドにおいて、「*A*」「*B*」「*C*」「*D*」「*E*」の5つのワードのいずれかが含まれる場合の抽出方法を教えてください。2つの条件の場合は「*A*」or「*B*」で可能みたいなのですが。

  • ACCESS2007 クエリの抽出条件について教えてください

    ACCESS2007で、ルックアップ列(コンボボックス)を使用したテーブルがあります。そのテーブルをクエリにて、コンボボックスの条件別に抽出させたいのですが、その抽出条件を教えていただけませんでしょうか。 コンボボックスリストの中身(A,B,C)       A→Aのみ抽出したクエリ       B→Bのみ抽出したクエリ       C→Cのみ抽出したクエリ という風に作成したいのですが。 お忙しいところ申し訳ありません。よろしくお願いします。

  • Accessの選択クエリの抽出条件について

    いちもお世話になります。Access2002を勉強中の初心者です。 顧客テーブルから選択クエリを作っています。クエリのフィールドには「都道府県」(東京、埼玉、千葉...)と「顧客名」(山田、佐藤、田中...)があります。 「顧客名」の山田以外を抽出したいのですが、但し「都道府県」が東京の場合は山田以外の条件を外したいのです。つまり、埼玉、千葉の山田は抽出しませんが東京の山田は抽出したいのです。 このような抽出条件の設定ができますか? アドバイス、よろしくお願いします。

  • Accessのクエリの抽出条件で・・・

    Accessのクエリの抽出条件で、例えば住所フィールドがあってそこから、「東京都と大阪府と福岡県」以外を抽出してくる、と言ったような場合はどのように入力すればいいのでしょうか?「<>」や「Not」を用いてand関数も用いてるのですがうまくいきません。入力の仕方が間違っているのでしょうか?またそれをパラメータクエリで行えるように設定したい場合はどのようにすればいいのでしょうか?お教え下さい。よろしくお願い致します。

  • 演算結果から抽出できない

    生徒管理をするために、生年月日から学年を計算しようと思い http://jphagi.com/access/ota2003/3942.htm の笑心者さんのレスを参考に、クエリで作成しました。 学年は正しく計算できるようになったのですが、 そこから、学年を分けての抽出ができません。 たとえば 抽出条件に "中学校2年生"といれると、「抽出条件でデータ型が一致しません」とメッセージが出ます。 どのようにすれば、学年で抽出できるのでしょうか? access2003 OSはXPです。 ご教授よろしくお願いいたします。

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

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

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

    クエリを作ろうと考えています。 複数あるフィールドの中に、2つの日付フィールドA,Bとあり、 AよりBの日付が前だった場合を抽出したいと考えているのですが、 どなたかご教授いただければと思います。

  • Accessクエリの抽出条件

    Access2000を使用しています。 クエリの抽出条件にテーブルの値を使用したいのですが、その方法がわかりません。 テーブルAには、「日付」、「当者コード」 などの項目があります。 テーブルBの項目は「担当者コード」のみです。また、1レコードしか登録 されていません(2レコード以上になることはありません)。 そこで、テーブルAに対するデータ抽出条件を、テーブルBの「担当者」としたいのですが、 どのように記述すればよろしいでしょうか・・・? よろしくお願いします。

  • ACCESS クエリ 条件以外のレコードを抽出するには?

    クエリで、抽出条件(文字列)以外のレコードを全て抽出したいのですが、うまくいきません。 そのフィールドには空白もあり、 抽出条件を「Not In ("A","B")」とすると、 "A","B"以外の文字列が抽出され、空白のものは抽出されません。 「"A"や"B"でない、他の全てのレコードを抽出したい」という場合、どのようにすればよいのでしょうか?

  • アクセスでクエリーによる抽出方法

    アクセスの超初心者です。 クエリーのデータをフォームのコンボボックス等のデータを選ぶことにより抽出したいのです。クエリーの抽出条件にフォームのコンボボックスを割り当てて抽出することはできるのですが、例えばクエリーデータは下記のようになっています。  A  B  石川  100 東京  200   沖縄  150 フォームのコンボボックスで石川を選べば  "石川" "100"と表示できますが、コンボボックスに”すべて”という項目をつけてその”すべて”をクリックするとクエリーが全表示になるようにしたいのです。(そのクエリーにはすべてという項目はない) 長くなりましたがおわかりいただけたでしょうか。よろしくお願いします。 また、クエリーを使わず別の抽出方法がありましたら教えてください。というのもいろいろな抽出条件をするのにそのつどクエリーを作らなければならないからです。よろしくお願いします。

専門家に質問してみよう