Accessフォームから並び替えレポートを行う方法について

このQ&Aのポイント
  • Access2010のフォームでオプショングループを使って並び替えレポートを作成する方法についてお知らせください。
  • フォームでオプショングループを2つ設定し、規則グループと並び替えグループを作成します。レポートのOpenイベントで選択されたグループに応じてレポートの並び替えを行いますが、規則グループでのIDとふりがなの昇順・降順での並び替えがうまく行えない問題が発生しています。
  • 解決策として、選択された規則グループに応じてOrderByプロパティに並び替え条件を追加する必要があります。IDの昇順・降順には「ID ASC」または「ID DESC」、ふりがなの昇順・降順には「ふりがな ASC」または「ふりがな DESC」と指定します。これにより、選択された並び替え条件に応じて正しくレポートの並び替えが行えるようになります。
回答を見る
  • ベストアンサー

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

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

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

フィールド名のあとに ASC をつけると昇順(省略も可)、DESCをつけると降順です。 コード例 Private Sub Report_Open(Cancel As Integer) Dim strOrder As String Select Case Forms!フォーム4!fra並べ替え Case 1 strOrderBy = "ID" Case 2 strOrderBy = "ふりがな" End Select Select Case Forms!フォーム4!fra規則 Case 1 strOrderBy = strOrderBy & " ASC" Case 2 strOrderBy = strOrderBy & " DESC" End Select Me.OrderBy = strOrderBy Me.OrderByOn = True End Sub

goo201009
質問者

お礼

早々にありがとうございました。 大変助かりました。

関連するQ&A

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

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

  • 「Me.Form」と「Me」の違いは?

    アクセスのフォームで並べ替えをする時、 --------------------------------------------------------- Private Sub cmd_昇順_Click() With Me.Form .OrderBy = "フィールド1 ASC" .OrderByOn = True End With End Sub でも Private Sub cmd_昇順_Click() With Me .OrderBy = "フィールド1 ASC" .OrderByOn = True End With End Sub --------------------------------------------------------- でも出来ますが、 「Form」は必要なのでしょうか? あってもなくてもどっちでもいいなら、理由が知りたいです。

  • Access2007 レポートでの並び替え

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

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

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

  • 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 としても指定の通りになりません。 レポートのデザインモードで「並べ替え/グループ化」を設定するとその通りの並びになるのですが、この設定をレポートのオープンイベントで自動的に行う事は可能でしょうか。

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

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

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

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

  • アクセスのレポートで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

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

    この状況と似てるのですが 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です。 よろしくお願いします。

  • ACCESSとVBAとレコード

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

専門家に質問してみよう