'エクセルシートをワークにインポート
DoCmd.TransferSpreadsheet , , "W_IN_EXCEL1", strFileName, False, strSeetName1
DoCmd.TransferSpreadsheet , , "W_IN_EXCEL2", strFileName, False, strSeetName2
ところが、4~5回の頻度でデータの並び順が元のEXCELとは狂っています。
いつもEXCELのデータのとおりにインポートするにはどうしたらよいでしょう?
http://www.naboki.net/access/achell/achell_03.html
お疲れ様です。
私が下手にご説明するより↑のサイトを読んでいただくのが一番だとは思いますが、
簡単に言いますと、ACCESSは簡単に並べ替えが可能なことから、データの順番をファイルの中に保存していないのです。
なので、並び方を指定するまではテーブルビューではデータシートビューの規則で勝手に並び替えられることが普通です。
4.5回の頻度で狂ってくるというのは、MDBを一旦閉じたり、最適化したりなどといったことで、格納順序が自動整列で変わってしまったためではないかと思います。
どうしても元のEXCEL表の順序を保持したいということでしたら、
元のEXCEL表に連番を振っておいて、インポートしてから並べ替えるというのが一番現実的だと思います。
また、何かのシステムに組み込んだり、表示したりするためにその並び順が必要ならば、選択クエリを作成して並び替え設定しておく方法をお薦めします。
以上ご参考まで。
ありがとうございます。インポートする前のEXCELをコピーして列を追加して連番を振るというのでいこうと思います。