Accessのレポートで並べ替え・グループ化の設定方法

このQ&Aのポイント
  • Accessでレポート印刷をする際に、指定した並びで印刷を行う方法をご存じの方いらっしゃいましたら教えて頂けないでしょうか。
  • 指定した月を降順に並べて、商品ごとの数量を印刷するレポートを作成したいです。
  • レポートオープンのイベントで設定を行っても指定の通りにならないため、デザインモードでの設定を自動的に行いたいです。
回答を見る
  • ベストアンサー

Accessのレポートで「並べ替え/グループ化」の設定をVBAで行いたい

Accessでレポート印刷をする際に、指定した並びで印刷を行う方法をご存じの方いらっしゃいましたら教えて頂けないでしょうか。 並びの例(指定月(5月)を降順の並びにしたい) 月   3月  4月 5月  6月 商品B 1,000 2,000 3,000   0 商品A 2,000 3,000 2,000   0 商品C 3,000 1,000 1,000   0 ※指定月は印刷毎に変化します ※商品の印字は詳細セクションで行います レポートオープンのイベントで Me.OrderBy = "5月 DESC" Me.OrderByOn = True としても指定の通りになりません。 レポートのデザインモードで「並べ替え/グループ化」を設定するとその通りの並びになるのですが、この設定をレポートのオープンイベントで自動的に行う事は可能でしょうか。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

>「並べ替え/グループ化」 GroupLevelとSortOderプロパティーを調べてください

flowergoo
質問者

お礼

ご回答頂きありがとうございます。 レポートのオープンイベントに次のようなコードを入れたら出来ました。 Me.GroupLevel(0).ControlSource = "5月" Me.GroupLevel(0).SortOrder = True 本当に助かりました。 ありがとうございます。

関連するQ&A

  • accessのレポートの並べ替え条件

    こんにちわ。 いまaccess2000でレポートを作成しています。 そこでレポートの並べ替え条件(昇順/降順)を 呼び出し元であるフォームのある条件によって, 動的に変えたいと思い, レポートファイルのReport_Open()イベントで 下記のようにコーディングしました。 「 Me.OrderByOn = True If [グローバル変数] = "1" Then Me.OrderBy = " [ID] Desc " Else Me.OrderBy = " [ID] " End If 」 ところが実行すると上記の箇所が処理されているにもかかわらず, 並べ替え条件が正しく反映されません。 どうすれば並べ替え条件が正しく反映されるでしょうか? 教えてください。 宜しくお願いします。

  • 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 ふりがな を昇順 降順 に行えません。 なにを加えればよいのでしょうか。 よろしくお願いします。

  • サブフォームの並べ替えをVBAで指定したい

    親フォームを開くときにサブフォームの並べ替えを実行したいのですが 親フォームのフォームモジュールに Private Sub Form_Load() With Me.Controls("サブフォーム ") .OrderBy = "日時 DESC" .OrderByOn = True End With End Sub としてるのですが、 OrderByの部分で、 実行時エラー438になります。 サブフォーム名は「サブフォーム」です。 サブフォームの中に日時と言うコントロールは存在します。 なぜエラーになるのでしょうか? ちなみにOrderByをなくしても .OrderByOn = True で同じエラーが発生します。

  • レポート 並べ替えが出来ない フィルタもできない

    この状況と似てるのですが http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1255147152 クロス集計クエリを作り、そのクエリを基にレポートを作成しました。 クエリ内では並べ替えはできます。 ですが、レポートを開く際にはクエリで設定した並べ替えができません。 なので、 Private Sub Report_Open(Cancel As Integer) With Me .OrderBy = "大分類_Index ASC" .OrderByOn = True End With End Sub このように、レポートを開く時に並べ替えを設定したのですが無視されます。 空白以外のみ表示させたいので、 Private Sub Report_Open(Cancel As Integer) Me.Filter = "IsNuLL(大分類)=False" Me.Report.FilterOn = True End Sub もしたのですが、これも無視されます。 クエリでは並べ替えが有効なのに、レポートにすると無視される理由と、 対策をご教授いただければ助かります。 当方アクセス2010です。 よろしくお願いします。

  • Access2003 テーダの並び替えについて

    レポートにて、データの並び替えがうまくいきません。 日付順に並び替えをしていますが、只今日付が古い順に並び替えています。 それを逆にしたいのですが、うまくいきません。 日付が新しい順に並び替えるにはどうしたら良いのでしょうか? 現在、レポートのプロパティでは 開く時・・・[イベントプロシージャ] ******************************************* Private Sub Report_Open(Cancel As Integer) Me.OrderBy = "日付" Me.OrderByOn = True End Sub ******************************************* になっています。 宜しくお願い致します。

  • アクセスのレポートで3つの条件で並べ替えたいのですが(汗)

    皆さん こんばんわ いつもお世話になります。今日は、下記の構文に追加するなどしてレポートの並べ替えをしたいのですが、判りません。教えていただけたら嬉しいです。 以下  棚番号 枝番 小枝 の名前を付けたロケーション番号(3桁の数字)(棚番号 101 枝番 20 小枝 4)といった具合に割り振ったのですが印刷の時番号順に並べ替えがしたいです。簡単にできそうな気もするのですがよくわからないので教えていただきたいです。宜しくお願いいたします。 ちょっと本に載っていた構文を書きましたがもっと他にも有るようでしたらそう言うものでも良いです。 宜しくお願いいたします。 Private Sub Report_Open(Cancel As Integer) Dim stKey As String stKey = InputBox("昇順で並べ替えるキーを入力してください") Me.OrderBy = stKey Me.OrderByOn = True End Sub

  • ACCESSとVBAとレコード

    こんにちわ。 このサイトは何回も利用させて頂いてるのですが、今回も宜しくお願い致します。 環境はOS:Xp・Access2000です。 フォームを開くときにレコードを並べ替えたいのですが、単に「顧客コード」を昇順で並べ替えるには Private Sub Form_Load() Me.OrderBy = "顧客コード" Me.OrderByOn = True End Sub というのは解ったのですが、 何の関連付けもしてない、指定のテーブルの内容を並べ替えるにはどのように記述したらよいのでしょうか? 「Me」の箇所をそのテーブル名 (例えば、顧客テーブル.OrderBy = "顧客コード") のようにすれば良いのでしょうか? 宜しくお願いします。

  • アクセスについてです(レポート)

    フォームからレポートを開く時に、 VBAでコントロールにコントロールソースを指定したいのですが どうやらエラーになってしまうようです。 フォームからではなく手動でレポートを開く場合は エラーにはなりません。 レポートのレコードソースは、T_testを指定していて、 その上にあるコントロールは非連結で指定したコントロールソースをvbaで入れたいです。 なので、レポートのLoadイベントで Private Sub Report_Load() Me.テキスト0.ControlSource = "8月" End Sub として、手動でレポートを開く分には問題ないのですが このコードのまま、フォームから Private Sub コマンド0_Click() DoCmd.OpenReport "レポート1", acViewPreview End Sub とすると、Me.テキスト0.ControlSource = "8月"で、 実行時エラー2191 印刷プレビュー時または印刷を開始した後は コントロールソースプロパティを設定できません。 のエラーが発生します。 フォームから Private Sub コマンド0_Click() DoCmd.OpenReport "レポート1", acViewDesign End Sub とすると、レポートのLoadイベントが発生しませんでした。 ご回答よろしくお願いします。

  • Access フォームでの並べ替え OrderBy

    いつもお世話になっています。 フォームで「製品ID」が昇順に並べ替えられるよう下記のイベントを 設定しましたが、上手くいきません。 Private Sub Form_Open(Cancel As Integer) Me.OrderBy = "製品ID" End Sub お力添えよろしくお願いいたします。

  • ACCESSでfilterとorderbyについて

    ACCESS2000でfilterとorderbyを同時に指定する場合について教えてください。 ACCESS2000とwindows7を使用しております。 あるフォームにテキストボックスとコマンドボタンを用意しております。 テキストに入力した文字を元にfilterをかけております。 Me.filteron=true Me.filter=カラム名 like ~~ filterをした後に特定のカラムでソート(降順)したいと考えております。 上記に記載したfilterの後に Me.OrderByOn = True Me.OrderBy = カラム名 を追加したのですがfilterはするのですが、ソートはしてくれません。 上記以外になにか指定するものがあるのでしょうか。 お手数ですが、お力添えお願い致します。