- ベストアンサー
アクセスのクエリの並び替えについて
売上の前年比の表を作っています。 店名 今年度 前年度 前年比:[今年度] / [前年度] というクエリを作っています。 今年度と前年度はいくつかのデータを合計した値が入っています。 *例えば今年度は4月から8月までの合計売上です。 このクエリを前年比の高い順に並べ替えたいのですが、 前年比の並べ替えを降順にして実行しようとすると、 『指定されたフィールド'[今年度]'がSQLステートメントの FROM句にある複数のテーブルを参照しました』 というメッセージが出てしまいうまく行きません。 このクエリでは並べ替えをせずに、別のクエリをつくり、 前年比を式ではない状態で並べ替えてあげればうまく行くのですが、 あまりにも無駄な作業だと思うので・・・。 どなたか解消方法を教えてください。 よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
このクエリは、複数のテーブル(またはクエリ)から構成されていませんか? そのテーブル内に、「今年度」という名前のフィールドをもつものが2つ以上あるため、「複数のテーブルを参照しました」とのエラーが出ているのではないでしょうか。 とりあえず、対処法としては、 前年比: [今年度]/[前年度] の式を、 前年比: [テーブルA]![今年度]/[テーブルB]![前年度] (計算に使用したい「今年度」・「前年度」がそれぞれテーブルA・テーブルBにある場合) と、テーブル名を指定した形に変更してみてください。
その他の回答 (1)
エラーの原因はよくわからないのですが、以下の方法ではだめですか? クエリを実行させた状態で、前年比のフィールドを選択し、「レコード」→「並べ替え」→「降順で並べ替え」 とすると、前年比の降順で並ぶと思います。 そしてクエリを閉じるときに忘れずに保存すれば、次回からは、クエリを開くだけで前年比の降順で並ぶと思います。
お礼
ご回答ありがとうございます。 やってみたのですが、オーバーフローしてしまい、並べ替えができません。 計算式のフィールドを並べ替えるのは複雑なんでしょうか・・・?
お礼
ありがとうございます。 その通りで、複数のクエリから構成されています。 そのクエリ内に同じ名前のフィールドがあったので、フィールド名を変えてみて、 クエリ名から指定もしてみました。 結果、件のエラーは出なかったのですが、今度はオーバーフローになってしまいました。 初心者で申し訳ないのですが、これはどういう状況なのでしょうか?
補足
どうやら、うまく除外ができておらず、前年の数値が0のデータが入っていました。 取り除いたらうまくできました。 ありがとうございました。