質問: accessにインポートしたら並び順が変わっちゃった access2000 を使っています。 excelデータをaccessテーブルにしようとしましたが、全項目をテキスト型で入れたいのに、自動的に各項目の型が変わってしまうので、一旦csvに落としてaccessにインポートしました。 ところが、インポートされたテーブルではレコード順が違っちゃっているんです。 総数は変わっていませんから、全て入ってはいるんでしょうが。 いったい何がいけないんでしょうか。多量のデータをインポートするのに不安でいけません。誰か教えて下さい。
回答: >インポート等においてaccessが順番をあえて変えてしまうことに言及していただけていませんが、accessは常にそういう余計な動作をするものなのですか。 データベースでは、処理的に一番早く追加できる領域に追加をしていきます。 そのため、最適化されていないテーブル(以前は値が入っていたが、現在はレコードの削除があったなど)では、以前のレコードの情報が残っていたりすると、テーブルの一番最後に追加するのが高速であったり、以前レコードが存在していた領域を上書きするのが高速だったりという感じでどこに追加されるかわからない状態になります。 なので、最適化をしてからデータをインポートすれば、その順番に入るかもしれません。 ただし、たしかaccessでは、主キーが張ってあるテーブルはインポートのレコード順に関係なく主キーの値の昇順になったような???