• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセス2007 VBA 並べ替え)

VBAを使用してAccessのフォームで昇順および降順に並べ替えを行う方法

このQ&Aのポイント
  • 質問者は、Accessのフォームでテーブルのデータを並べ替えたいと考えています。具体的には、テーブル1のフィールド1のデータを昇順または降順に並べ替えるためのVBAコードを知りたいとのことです。
  • 質問者は、SQLではなくDocmdかacCmdを使用した方法を希望しています。Accessのヘルプによると、FormオブジェクトのOrderByプロパティを使用することで並べ替えが可能です。
  • 質問者は、Formオブジェクトを表す変数である式が理解できず、具体的なコードの書き方を知りたいとしています。例えば、フォームヘッダーに配置した昇順ボタンと降順ボタンを押すごとに並べ替えを行う方法です。

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

  • ベストアンサー
  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.1

> 式.OrderBy 例えば "フォーム1" というフォームの並べ替えを行うなら  Forms!フォーム1.OrderBy = "フィールド1" この場合 Form オブジェクトを表す変数 が 「Forms!フォーム1」 です。 状況によって、いろいろな記述ができます。 ・並べ替えを行うのが、コードを書いているそのフォーム自信なら  Me.OrderBy = "フィールド1" ・まさに変数を使うなら  Dim frm As Form  Set frm = Screen.ActiveForm とか Set frm = Me.サブフォーム.Form など。  frm.OrderBy = "フィールド1"   ※OrderBy は 複数のフィールドをカンマで区切って設定できます。 ※通常、OrderByOn とセットで使用します。

iuy65ghj8
質問者

お礼

【方法1】Forms!フォーム1.OrderBy = "フィールド1" 【方法2】Me.OrderBy = "フィールド1" 【方法3】 Dim frm As Form Set frm = Screen.ActiveForm frm.OrderBy = "フィールド1" 出来ました! ちなみに降順に並べ替える場合はどうすればいいのでしょうか? 再度ご回答よろしくお願いします。

その他の回答 (1)

  • m3_maki
  • ベストアンサー率64% (296/460)
回答No.2

昇順は ASC、降順は DESC です。 レコードの並び替え - ORDER BY句 : SQL入門講座 http://www.accessclub.jp/sql/10.html こちらは Access VBA のヘルプと同じものです。 ORDER BY 句 http://office.microsoft.com/ja-jp/access-help/HP001032258.aspx VBA をやるなら ヘルプを活用することを強くお勧めします。

iuy65ghj8
質問者

お礼

ありがとうございました。

関連するQ&A