- ベストアンサー
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
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
WHERE ((連番)<=[部数B計算]); ↓ 以下でどうでしょうか WHERE ((連番)<=[部数B]/2); ※条件記述が先に解釈されると思うので、[部数B計算]が何者かわからないと思います。
その他の回答 (1)
- bonaron
- ベストアンサー率64% (482/745)
[連番] の 抽出条件を <= [部数B] / 2 とすれば問題ないでしょう。 または [部数B計算] の 抽出条件に >= [連番] とするとか。
お礼
[部数B計算] の 抽出条件に >= [連番] 上記の記述が同様の意味になることが知りませんでした。 有難う御座いました。
お礼
有難う御座いました。 条件記述が先に解釈されるいう点が、ポイントなのですね。 理由がわかってすっきりしました。