• ベストアンサー

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

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

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.1

InputBoxに 棚番号,枝番,小枝 とか 小枝 DESC,枝番,棚番号 DESC と言う具合に入力すればOKです。 DESC を指定した項目は降順(大→小)になります。 ただし、レポートに「並べ替え/グループ化の設定」があれば、 そちらの設定が優先されます。

mai9999
質問者

お礼

bonaronさん こんにちわ どうもありとうです、意外にあっさり出来てしまいました。助かりました。

その他の回答 (1)

noname#22222
noname#22222
回答No.2

Private Sub コマンド_在庫一覧プレビュー_Click()   DoCmd.OpenReport "在庫一覧", acViewDesign, , , acHidden   Reports("在庫一覧").RecordSource = "Select * from 在庫一覧 Order by 小枝"   DoCmd.Close acReport, "在庫一覧", acSaveYes   DoCmd.OpenReport "在庫一覧", acViewPreview End Sub 一度、デザインでレポートを開き、 (1)レコードソースを指定する。 又は (2)Order By を指定するか。 どの後、レポートを開く。 これで、ソート順位を制御できます。

mai9999
質問者

お礼

s_huskyさん こんにちわ どうも有り難うございます。試してみます。いろんな方法があると思いますので一番良いのを使いながら決めていきたいです。蟻が乙ございました。

関連するQ&A

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

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

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

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

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

  • 「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」は必要なのでしょうか? あってもなくてもどっちでもいいなら、理由が知りたいです。

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

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

  • ACCESSとVBAとレコード

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

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

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

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

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

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

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

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