• ベストアンサー

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% (7418/18948)
回答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

  • Access2000 レポートの並び替えについて

    こんにちは。Access2000について質問です。 フォーム上で指定された項目で並び替えをし、それをそのままレポートの並びにしたいのですが、それがどうも上手くいきません。指定する項目はコンボボックスで複数有り、昇順・降順も指定できるようになっています。レポートを開くときにそのフォームで指定されている項目を読み、コードで並び替えを指定しているのですが、どうやら元のテーブルのキー項目の昇順で表示されているようなのです。「並び替え/グループ化」(青いカッコのもの)は、並びが固定されてしまうので使用したくないのです(実際いつも使っていません)。 同じような現象になったことがあるという方、または解決方法をご存知の方は、回答よろしくお願いします。

  • Access フォームから並び替えレポート

    お知恵をお貸しください。 Access2010 フォームでオプショングループを2種類用意しました。 規則グループ 昇順 降順 並び替えグループ ID ふりがな レポートに Private Sub Report_Open(Cancel As Integer) Select Case Forms!フォーム4!fra並べ替え Case 1 Me.OrderBy = "ID ASC" Me.OrderByOn = True Case 2 Me.OrderBy = "ふりがな ASC" Me.OrderByOn = True End Select End Sub 並び替えでは、昇順のみうまくレポートを行えますが。 規則で ID ふりがな を昇順 降順 に行えません。 なにを加えればよいのでしょうか。 よろしくお願いします。

  • Access2003 レポートレイアウトについて

    Access2003 レポートレイアウトについて Access初心者です。ご存知の方がいらっしゃいましたら教えて下さい。 レポートレイアウトについて フォーム上で請求書のデータ入力を行う際は、サブフォームの 請求内容の詳細を「昇順で並び替え」を行い項番(オートナンバー)の 若い番号順に並べ替えを行っていますが、レポートの印刷プレビューを 呼び出すと並び方が「降順」となり「昇順」に切替えることができません。 レポート上でサブフォームに入力した内容をオートナンバーの若い番号順「降順」 に並び替えをすることは可能でしょうか? フォームで並び替えを行ったとおりにレポートへ表示させるためにはどのように させると宜しいでしょうか?

  • ACCESSのレポートでの並び替えについて

    ACCESS2000を使っている初心者です。 レポートのデザインビューで詳細セクションに「並び替え/グループ化」を設定しましたが、これを設定しなおしたいと思っています。 現状5項目のフィールドの並び替えを設定していますが、3項目程度に減らしたいと思い、下位の2項目のフィールドを消してみましたが、いざプレビューに戻すと「プレビューまたは印刷しようとしたレポートで、グループヘッダー/グループフッターの並び替えを行うフィールドまたは式を指定する必要があります。」というメッセージが出てきてしまいます。 どのようにして項目を減らせばいいのか、またこの「並び替え/グループ化」の全解除が出来るのであれば、どうか教えてください。

  • アクセスのデータの並び替え

    アクセスで、データを表タイプのフォームに出して、フォーム上で回数フィールドを昇順・降順でボタンを使って並び替えをしたいのですが出来ますでしょうか? 現在は、右クリックして並び替えています。 宜しくお願いします。

  • Accessでのフィールドの並び替え

    Accessでフォームを作成して、デザインビューで表示します。 フォームのプロパティを表示すると、プロパティ項目の中に「並べ替え」という項目があります。 ここを使って、例えば「登録ID」というフィールドの昇順に並べ替えたい場合、どのように記述すればいいのでしょうか??? 「昇順」とか「降順」の記述ルールが分かりません。 よろしくお願いします。m(_ _)m

  • accessで並び替えの順序の設定

    access2000です。 テーブルを並び替えをしたいのですが 昇順・降順以外に並び替えを指定出来ますでしょうか? 例えば 大阪・兵庫・京都・奈良・和歌山だと 京都、大阪、奈良、兵庫、和歌山という順にしか並び替えられません。 これを大阪がはじめ、次は兵庫、次は京都、奈良、和歌山と並び替えをこちらの都合で設定したいです。 できますでしょうか?

  • ACCESS97のクエリーでデーターの並び替え

    お世話になります。 MS-ACCESS97のテーブル作成クエリーにて、データーの並び替えを試みているのですが、うまくいきません。 項目は下記のように並んでいます。 ----------------------------- コード1 | コード2 | 締日 | 請求額 | ------+------+------+--------| 105000 | 1000 |20030420| 50000 | 103000 | 0 |20030520| 30000 | 105000 | 1050 |20030420| 70000 | 103000 | 0 |20030420| 10000 | 105000 | 1000 |20030520| 20000 | 上記を下記のように、コード1の降順で、コード2の降順で、締日の降順に並び替えたいのですが、並び替えは列に対してひとつ?のみでしょうか? ----------------------------- コード1 | コード2 | 締日 | 請求額 | ------+------+------+--------| 103000 | 0 |20030420 | 10000 | 103000 | 0 |20030520 | 30000 | 105000 | 1000 |20030420| 50000 | 105000 | 1000 |20030520| 20000 | 105000 | 1050 |20030420| 70000 | お願いします。

  • ACCESSのレポートで

    ACCESS2002を使用してレポートを作成しています レポートの中に他に作成したレポートを組み込みたいと思っているのですが、 あるIDをヘッダーにしているグループと同じIDを持つレコードを中に組み込んだレポートからも呼んできたいのですが他のレコードも出てきてしまいうまくできません。 上手い設定方法がありましたら教えていただけますでしょうか。 宜しく御願い致します

  • アクセスに関して。クエリの並び替えの結果をレポートに反映させること。

     アクセスを使っている時、クエリの並び替えの結果がレポートに反映されずに大変困っています。  クエリの並び替えの結果を、スムーズにレポートに反映させる方法をどなたか教えてください。よろしくお願いします。

専門家に質問してみよう