• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データの並び替え)

AccessVBAでデータの並び替え方法について教えてください

このQ&Aのポイント
  • AccessVBAを使用して、データの並び替えを行いたい場合、以下の手順を実行します。
  • まず、CSVファイルをテーブルにインポートします。
  • 次に、インポートしたテーブルのデータをグループ化して別のテーブルに追加します。

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

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

DoCmd.RunSQLに指定できるSQL文は、UPDATE、INSERT、DELETEなど「テーブル内のレコードを更新、追加、削除するクエリでなければなりません。 単に並び替えた結果が欲しいだけなら SELECT 商品ID,商品名称カナ,商品名称漢字 FROM wkマスタ ORDER BY 商品ID ASC; と書いたクエリを作成して下さい。 1.データベース(xxx.mdb)を開く 2.F11キーを押してデータベースを表示する 3.「オブジェクト」の「クエリ」を選び「新規作成」する 4.デザインビューを選び、テーブル選択の画面が出たら「閉じる」で閉じる 5.「表示」メニューの「SQLビュー」に切り替える 6.「SELECT 商品ID,商品名称カナ,商品名称漢字 FROM wkマスタ ORDER BY 商品ID ASC;」と書きこむ 7.適当に「マスタ」などと名前を付けて保存する。 8.以降「wkマスタ」ではなく「マスタ」を参照すれば、常に並び替えされたデータ(実体は並び替えクエリ)にアクセス可能 クエリで参照するのではなく、並び替え済みの「マスタ」の中を更新する必要があるなどの理由で並び替えが済んでいる「マスタ」テーブルを作成したいなら、事前に「マスタ」テーブルの「商品ID」に主キーを設定し、4つのインポートしたテーブルの追加先を「wkマスタ」ではなく「マスタ」にします。 そうすれば、「マスタ」テーブルへの追加クエリを実行した段階で、自動的に並び替えが行われます。なお「主キー」に設定した「商品ID」は一意である必要があり、重複(同じ商品IDのレコードが2つ以上ある)は許されません。

noname#181362
質問者

お礼

回答ありがとうございます。 >DoCmd.RunSQLに指定できるSQL文は、UPDATE、INSERT、DELETEなど「テーブル内のレコードを更新、追加、削除するクエリでなければなりません。 この回答でやっと謎が解けました! ありがとうございました。

その他の回答 (1)

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

RunSQLはアクションクエリを走らせるコマンドです 普通の選択クエリの場合はOpenQueryを使います ただしOpenQueryでは引数にクエリ名しか指定できません SQLで選択クエリを開くにはOpenRecordsetを使います

関連するQ&A