- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:AccessのテーブルをExcelにエクスポートする際の並び順が狂う)
AccessのテーブルをExcelにエクスポートする際の並び順が狂う
このQ&Aのポイント
- Access2002で、テーブルの内容をExcelにエクスポートする際、並び順が狂う現象が発生します。
- エクスポートされたExcelを開くと、フィールド名:SEQ(プライマリキー)の昇順で1から順に並んでいるはずのテーブルが、一部分が異なる位置に移動しています。
- Excelの出力方法に関わらず、この現象が発生する理由は不明です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Accessではテーブルをデータシートビューで 開いた場合の体裁(セル幅とか並び順)が記録 されています。 しかし、この体裁はエクスポートする時の動作まで 保証するものではありません。並び順を保証させる ためにはクエリをエクスポートするようにします。 クエリは勿論、並び順を指定しておきます。 DoCmd.TransferSpreadsheet acExport, _ acSpreadsheetTypeExcel9, "Aクエリ", _ 保存先, True AクエリのSQL SELECT * FROM Aテーブル ORDER BY SEQ
その他の回答 (1)
- wkbqp833
- ベストアンサー率36% (319/886)
回答No.1
Excelにエクスポートされたものが、実際のHDDなどに保存されているデータ順です。エクスポートはこの順に出力されます 一方、Accessで見ているデータの並びは、あくまでユーザーが見やすいように並べ替えたもので、実際のデータの保存順とは関係ありません 従って、ご質問のような結果となります
質問者
お礼
ご返答、ありがとうございます。 そうなんですね、なんだか不便(?)な仕様ですね。 Excel出力前にクエリを作るか、出力後にVBAでExcel上でソートしなおすかにしようと思います。
お礼
ご返答、ありがとうございます。 そうやって一段階踏まないといけないのですね。 検討した結果、クエリを作成すると、後の管理が面倒なので、 出力したExcelを開き、SEQでソートし直そうかと思っています。 ExcelSheet.Range(ExcelSheet.Cells(2, 1), ExcelSheet.Cells(int_Row, int_Col)).Sort Key1:=ExcelSheet.Range("A1"), order1:=xlAscending