• ベストアンサー

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