プロが教えるわが家の防犯対策術!

今OCR認識ソフトからデータをAccessにエクスポートしています。
OSは Windows2000Professional SP2で、Access2000を使っています。
OCRソフトから「1,2,3,4」の順番でデータをAccessにデータをエクスポートしたつもりですがAccessのテーブルには「2,3,4,1」の順番で格納されています。
しかも問題のデータを繰り返してAccessにエクスポートしてみても必ず再現するものではないです。
Accessのテーブルには主キーを設定してないです。
主キーを設定しなかった場合こう言う現象はやっぱり起こりうることなんでしょうか?
教えてください、よろしくお願いします。

A 回答 (4件)

再レスです。


作業量から言えば2.がいいでしょうね。
ただ、どのようにエクスポートされているのでしょう?
アプリからAccessへダイレクトに行っているのでしょうか?
私はエクスポートしたCSVか何かをAccessからインポートするイメージなのですが。
後者ならテーブルの最後にオートナンバーカラムを追加するだけでいいですね。
前者ですとどうなるかはわかりません。
    • good
    • 0

キーの指定していないテーブルですとそうなります。


ソートの基準がないためです。
RDBはファイルの様に必ずしもデータの格納場所が順序よく並ぶわけではありません。
通常はテーブルに取り込んだ順に並ぶことになりますがインポートやエクスポートといった一括処理では内部処理でのデータの並び順までは保証できません。
フラグメンテーションのせいで格納アドレスがジャンプしてしまったら、もう順番なんてわかりませんからそのような事が起こります。
ソート用のカラムを作ることを勧めます。

この回答への補足

ソート用のカラムを作るとおっしゃいましたが、
1.エクスポート元のアプリケーションでソート用のカラムを用意してデータといっしょにエクスポートし、エクスポート先のAccessテーブルにでそのカラムでソートをかける必要がある?

2.Accessの側でオートナンバーのようなカラムを追加することによってデータは順番どおり格納される?

の二つの解釈をして見ましたが”TMINET”さんはお勧めはどっちでしょうか?

補足日時:2002/07/18 20:32
    • good
    • 0

RDBMSでは、格納されている順序には、ほとんど意味はありません。



内部的には2,3,4,1 の順序に格納されていたとしても、
SELECT .... ORDER BY XXXX
をつけることによって期待した順序を得ることが
できます。

RDBMS とはそういうものです。
    • good
    • 0

csvなどのデータをモジュールを使ってAccessに取り込んだりするときに


まれに同じ様なことが起きる場合があります。
取り込み直すと順序通り取り込めたりします。
何が原因かはわかりません。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す