• ベストアンサー

Access2007 レポートでの並び替え

Access2007 でレポートを作成ましした。 グループ化して-値全体-昇順 として並び替えを行っているのですが 一つのレポートの中で、値によって 昇順にしたり 降順にしたりしたいのですが、 どのようにしたらよいでしようか。 Accessはあまり詳しくありませんが、ご教授お願いいたします。

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

  • ベストアンサー
回答No.5

> 現在は >  グループ化 A 昇順 >   並べ替えキー 式 IIf([A]<9,[B],"") >   並べ替えキー 式  IIf([A]>8,[B],"") > > と設定しましたが、CRDER BY 句((IIf([A]<9,[B],""))がGROUP BY 句と矛盾しています。 > とメッセージが出てしまいます。 確認してみました。確かに同じエラーが出ますね。 IIf([A]<9,[B],"") のグループを「ヘッダーセクション付き」に設定して、そのグループヘッダーの高さを 0 にしたらエラー無しがいけました。

Robert1961
質問者

お礼

ありがとうございます。 教えていただいたとおりにしたところ、できました。 本当にありがとうございました。 でもなぜ、ヘッダーセクションが関係あるのか理解できないのですが・・・。 また勉強していきます。

その他の回答 (4)

回答No.4

前回の回答は、Bフィールドのデータ型が数値型の場合です。 もし、テキスト型なら、「グループ化、並べ替え、集計」の設定は、 A 昇順  式 昇順   式 降順 上の式は、 IIf(A=1, [B],"") 下の式は、 IIf(A=1, "",[B]) となります。

Robert1961
質問者

補足

hatena1989 様 詳しい説明ありがとうございます。 「式」の入力まではできましたが、うまくいきません。 hatena1989様の例で言いますと、Aのフィールドは[数値型]でBのフィールドは[テキスト型]です。 Aのフィールドはグループ化して昇順で並べ替えをしています。 Aの数値によりBのフィールドを昇順と降順に並べ替えをしたいと思っています。 具体的には  Aの数値は1から13まであります。  Aが 1から8までの時は 昇順     9以上は 降順  となるようにしたいと思っています。 現在は  グループ化 A 昇順   並べ替えキー 式 IIf([A]<9,[B],"")   並べ替えキー 式  IIf([A]>8,[B],"") と設定しましたが、CRDER BY 句((IIf([A]<9,[B],""))がGROUP BY 句と矛盾しています。 とメッセージが出てしまいます。 解決のためには、どのようにしたら良いか教えていただけないでしょうか。

回答No.3

> グループ化- 並べ替えキー,記録,昇順,その他 のところには「式」という設定がないのですが、どうやって式を設定したら良いのか、お手数ですがもう一度教えていただけないでしょうか。 並べ替えのフィールドを選択するリストの一番下に「式」がありますのでそこをクリックすると、式ビルダーが表示されるので、そこで入力してください。 画像参照。 式ビルダーが表示された状態は前回の回答の画像です。

回答No.2

「値によって 昇順にしたり 降順にしたりしたい」というのが、いろいろ解釈できますので、 もう少し具体的な説明が必要ですね。 例えば、A, B, C とフィールドがあって、A, B は昇順, C は降順ということなら、 「グループ化、並べ替え、集計」で、 A 昇順  B 昇順   C 降順 と上から順に設定すればいいでしょう。 A, B, C を連結して一つにまとめて、それで並べ替えるという案もありますが、重くなるだけでしょう。 グループ化して、その値により、下記の並び順を変更したいという意味なら、 例えば、 A B 1 1 1 2 1 3 2 3 2 2 2 1 というように、A の値が1の時は昇順、それ以外は降順にしたいということなら、 「グループ化、並べ替え、集計」で、下記のように設定します。 A 昇順  式 昇順 式 は、IIf([A]=1,[B],-[B]) と設定します。 上記のどれにも該当しない場合は、具体的なデータ例を元にどうしたいのか説明されるといいでしょう。

Robert1961
質問者

補足

hatena1989様ありがとうございます。 Access についてあまり知識が無いので具体的に質問できずにすいません。 私の意図は、2番目に教えていただいた「グループ化して、その値により、下記の並び順を変更したい」ということです。 教えていただいたように設定したいのですが、 グループ化- 並べ替えキー,記録,昇順,その他 のところには「式」という設定がないのですが、どうやって式を設定したら良いのか、お手数ですがもう一度教えていただけないでしょうか。 よろしくお願いします。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

>グループ化して-値全体-昇順 として並び替えを行っているのですが >一つのレポートの中で、値によって 昇順にしたり 降順にしたりしたいのですが、 フィールドの内容と、どれが昇順でどれが降順か分からなければ答えようがありません。 まあ一例ですが A____B____C G 11 13 X 20 10 G 11 12 X 21 10 G 10 21 G 10 14 でA,Cが昇順でBが降順の場合 D:[A] & Format(100-[B],"00") & Format([C],"00") A____B____C____D G 11 13 G8913 X 20 10 X8010 G 11 12 G8912 X 21 10 X7910 G 10 21 G9021 G 10 14 G9014 のようにしてDを昇順で並べ替える。

関連するQ&A

専門家に質問してみよう