- ベストアンサー
ACCESSでの並び替えについて
ACCESSのプログラミングについて教えてください。 データベースより抽出した行を任意順に並べかえたいのですが、そのようなことは可能でしょうか? 抽出した行数は最大500行位です。並びには特に決まった規則はなく基本的にかわりません。 但し月毎にデータが追加される可能性はあります。 漠然とした質問ですがよろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは。 > 並びについては任意ですので初回は手作業で並べかえても良いのですが > 出来れば次月からもそのまま使用したいです。 フォーム上で並べ替えを実行してから上書き保存すればよいと思いますが・・・ 自動的に保存するならば、フォームの閉じる時プロパティで下記のコードを記述します。 (並べ替え以外も保存してしまうのでオススメしません。) Private Sub Form_Close() DoCmd.Save End Sub また、そのフォームをこんな風にしても便利かもしれません。 フォーム上で並べ替えしたいフィールドを選択できる様にします。 ・並べ替え用の非連結コンボボックスを貼り付け ・値集合タイプ:フィールドリスト ・値集合ソース:基になるテーブル名/クエリ名 ・更新後処理:実際のコードは下記の通り Private Sub コンボ1_AfterUpdate() Me.OrderBy = コンボ1.Value & " ASC" Me.OrderByOn = True End Sub
その他の回答 (3)
抽出条件と任意順に規則性があるのなら、クエリので対応できると思います。 任意順が簡単なものであれば"並び替え"で対応できます。 自分で作った条件があるのならば、そのような順番を関係付けるテーブルを作る必要があります。
必要なデータをクエリで取り出したあとエクセルにコピーしてエクセルの中で好きなように並べ替えをしたらいかがですか
補足
皆様、回等ありがとうございます。 もう少し詳細に説明させていただくと、入出庫の管理をシステム上で行っているのですが、日常の入出庫の結果をデータベースの在庫に反映して締日に印刷出力してます。ここまでのシステムは出来てます。さらに在庫をメーカー毎に抽出しその並びを任意で並べ替えたいとのことです。並びについては任意ですので初回は手作業で並べかえても良いのですが出来れば次月からもそのまま使用したいです。ACCESSのフォーム上からはやはりむずかしいのでしょうか?
- mshr1962
- ベストアンサー率39% (7417/18945)
Accessが記憶しているのは入力順と主キーの順番です。 任意というのがどの常態か判りませんが、上記以外に既定の順番があるならクエリに保存すればいいのでは?
お礼
ありがとうございます。 申し遅れましたが私自身はプログラムは作成できないのですが、皆様の回答を参考に解決できそうです。