- ベストアンサー
ほかのアプリケーションからAccessにエクスポートしたとき
今OCR認識ソフトからデータをAccessにエクスポートしています。 OSは Windows2000Professional SP2で、Access2000を使っています。 OCRソフトから「1,2,3,4」の順番でデータをAccessにデータをエクスポートしたつもりですがAccessのテーブルには「2,3,4,1」の順番で格納されています。 しかも問題のデータを繰り返してAccessにエクスポートしてみても必ず再現するものではないです。 Accessのテーブルには主キーを設定してないです。 主キーを設定しなかった場合こう言う現象はやっぱり起こりうることなんでしょうか? 教えてください、よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
再レスです。 作業量から言えば2.がいいでしょうね。 ただ、どのようにエクスポートされているのでしょう? アプリからAccessへダイレクトに行っているのでしょうか? 私はエクスポートしたCSVか何かをAccessからインポートするイメージなのですが。 後者ならテーブルの最後にオートナンバーカラムを追加するだけでいいですね。 前者ですとどうなるかはわかりません。
その他の回答 (3)
- TMINET
- ベストアンサー率32% (45/140)
キーの指定していないテーブルですとそうなります。 ソートの基準がないためです。 RDBはファイルの様に必ずしもデータの格納場所が順序よく並ぶわけではありません。 通常はテーブルに取り込んだ順に並ぶことになりますがインポートやエクスポートといった一括処理では内部処理でのデータの並び順までは保証できません。 フラグメンテーションのせいで格納アドレスがジャンプしてしまったら、もう順番なんてわかりませんからそのような事が起こります。 ソート用のカラムを作ることを勧めます。
- yuji
- ベストアンサー率37% (64/169)
RDBMSでは、格納されている順序には、ほとんど意味はありません。 内部的には2,3,4,1 の順序に格納されていたとしても、 SELECT .... ORDER BY XXXX をつけることによって期待した順序を得ることが できます。 RDBMS とはそういうものです。
- O_cyan
- ベストアンサー率59% (745/1260)
csvなどのデータをモジュールを使ってAccessに取り込んだりするときに まれに同じ様なことが起きる場合があります。 取り込み直すと順序通り取り込めたりします。 何が原因かはわかりません。
補足
ソート用のカラムを作るとおっしゃいましたが、 1.エクスポート元のアプリケーションでソート用のカラムを用意してデータといっしょにエクスポートし、エクスポート先のAccessテーブルにでそのカラムでソートをかける必要がある? 2.Accessの側でオートナンバーのようなカラムを追加することによってデータは順番どおり格納される? の二つの解釈をして見ましたが”TMINET”さんはお勧めはどっちでしょうか?