プロが教える店舗&オフィスのセキュリティ対策術

【Access】フィールドにつけた別名を同じクエリで抽出に使いたいです。

Access2003を使っています。
困っている状況は以下のようなもです。

■テーブル1
 ・フィールド1

■クエリ1
 ・フィールドA:フィールド1
 ・フィールドB:[フィールドA]
  【抽出条件】>=10

このような条件で、クエリを実行すると、
「パラメータの入力 フィールドA」というダイアログが立ち上がってしまいます。
上記載のクエリ1でフィールドAの[]は自然についてしまうのではずせません。
今はもう一つクエリを作る事でこの状況はなんとかしましたが、フィールドに別名をつける毎にクエリを作るとクエリの数が多くなってしまうので困っています。
クエリでフィールドに別名をつけた場合は、そのクエリ上でその別名を使って抽出をかけることはできないのでしょうか?

よろしくお願いします。

A 回答 (1件)

>■クエリ1


>・フィールドA:フィールド1
>・フィールドB:[フィールドA]
>  【抽出条件】>=10

認識できない項目があればダイアログ表示されます。

出力される項目を「フィールドA」としていますが、
(出力項目が)入力条件項目になるというのは矛盾します、
という説明でわかりますでしょうか?。
クエリ結果でさらにクエリでOKというのはそういうことが回避されてます。


>・フィールドA:フィールド1
フィールドAとフィールド1は同値です。

・フィールドA:フィールド1
・フィールドB:フィールド1
  【抽出条件】>=10
としましょう。
    • good
    • 0
この回答へのお礼

>>layyさん

回答ありがとうございます。

> (出力項目が)入力条件項目になるというのは矛盾します、
> という説明でわかりますでしょうか?。

上記の説明で今現在起こっている問題を理解いたしました。

(1) (出力項目B) : (入力項目A)
(2) (出力項目C) : (出力項目B)

のように(1)と(2)が同じクエリ内にあった場合、
出力項目Bが(1)のものなのか(2)なのか判断付かないため、
ダイアログが表示されるのですね。

実はあるテーブルのフィールドCから同じIDの中で最大値と最小値を取りだすクエリを集計を使って作りました。
その場合、最大値のフィールドをmax、最小値のフィールドをminと別名をつけました。
そして、

 差:max-min
 抽出条件 >=60

としたら、ダイアログがでて困っていた次第です。
1つクエリではできないのかなと疑問を持って質問しました。

起こっている問題をできるだけ簡単に説明しようと思い、
単純化したら私の理解不足でかえってわかりにくくなってしまっていて、大変申し訳ありませんでした。

でも、layyさんの回答の

> (出力項目が)入力条件項目になるというのは矛盾します、
> という説明でわかりますでしょうか?。

これで、同じクエリ内で別名をそのまま他の式に使用する事が、
できなそうだと理解しました。


クエリのテーブル名の所にクエリ名を書いてみたり(エラーになりました)、
試行錯誤してみたのですが、私のやり方が悪いのではなくAccessではできないことがわかっただけでも大収穫です。
ありがとうございました。

お礼日時:2010/07/25 21:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!