Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


234 / 2272 ツリー ←次へ | 前へ→

【12451】テキストのインポートでレコードの順番が変わる miya 13/12/20(金) 18:44 質問[未読]
【12452】Re:テキストのインポートでレコードの順番... miya 13/12/20(金) 18:59 質問[未読]
【12453】Re:テキストのインポートでレコードの順番... hatena 13/12/24(火) 13:13 回答[未読]
【12455】Re:テキストのインポートでレコードの順番... miya 13/12/25(水) 17:58 お礼[未読]

【12451】テキストのインポートでレコードの順番が...
質問  miya  - 13/12/20(金) 18:44 -

引用なし
パスワード
   OS:WIN7
Access Ver:2010

いつも参考にさせていただいてます。
テキストのインポートでレコードの順番がたまに変わる事象で、質問させてください。


カンマ区切りのテキストファイルを以下の構文でテーブルにインポートしています。

DoCmd.TransferText acImportDelim, "定義", TableName, FileName, False

何度もテストをしてファイルデータの順番通りにインポートされているのを確認したのですが、他者から「インポート時にときどき順番がかわるよ」と聞き、下記の過去ログ(別サイトですが)を教えてもらいました。

記事No11174 テキストのインポートでレコードの順番がたまに変わる
://www.accessclub.jp/bbs/0025/beginers11174.html

記事No2351 インポートするとレコード順がかわる
://www.accessclub.jp/bbs/0025/beginers11174.html


記事No11174の11177さんのコメントで「オートナンバー型のフィールドを追加すればよい」とありますが、
記事No2351では2351さんが「オートナンバー型フィールドを追加するだけで大丈夫なのかな?」と記述されています。

私のテストしているテーブルにはオートナンバー型のフィールドがあり、現在は思い通りに動いているのですが、
「オートナンバー型フィールドを追加するだけで大丈夫なのかな?」のコメントがどうしても気になって・・・。
大きいものだと5万件以上のデータを複数ファイルインポートしなくてはならないので、LOOPなどで1件ずつファイルデータの順番通りに番号を付与するのではなく、ファイルのデータ順通りに一気にインポートして番号を付与する方法を探しています。

どなたかご存知の方、お手数ですがご教授お願いいたします

【12452】Re:テキストのインポートでレコードの順...
質問  miya  - 13/12/20(金) 18:59 -

引用なし
パスワード
   質問者のmiyaです。

ごめんなさい、追記です。


記事No11174 テキストのインポートでレコードの順番がたまに変わる
://www.accessclub.jp/bbs/0025/beginers11174.html

記事No2351 インポートするとレコード順がかわる
://www.accessclub.jp/bbs/0025/beginers11174.html


上記の記事はAccess97・2000ですが、質問の現象ってAccess2010でも起こっているものなのでしょうか?
この手の現象はバージョン変わっても改善されない系な気もするのですが、もしかしたらと思いまして…。
当方ののテストでは現象がおこらなくても、他端末でインポート順が変わるのは困るので質問させていただきました。
何卒、よろしくお願いいたします。

【12453】Re:テキストのインポートでレコードの順...
回答  hatena  - 13/12/24(火) 13:13 -

引用なし
パスワード
   記事No    : 11206
> これは、DoCmdが非同期(前のコードが終了しなくても次のコードを実行してしまう)の
> 問題のような気がするのですが、オートナンバー型フィールドを追加するだけで大丈夫なのかな?

を気にしているのだとしたら、
Docmd.TransferText をループで連続処理しているのを問題にしているのであって、もし、連続インポートではなく、一回ずつのインポートについての問題を指摘しているのではないと思います。

もし、ループで同じテーブルに連続インポートするなら、
追加クエリをExecuteで実行するか、DAO, ADO のレコードセットを利用して追加する方が安全でしょう。

【12455】Re:テキストのインポートでレコードの順...
お礼  miya  - 13/12/25(水) 17:58 -

引用なし
パスワード
   ▼hatena さん:

ご教授ありがとうございます。
また、お返事がおそくなりまして申し訳ありませんでした<(__)>

Executeで実行してみたところ、今のところ(とりあえず20回Loopで確認)しても特に異常は見当たらず、一応思い通りに動いてるようです。
上記のテストは少量データだったので、もう少し大容量のデータ+Loop回数+別端末でもテストしてみます。

本当にありがとうございました!

234 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078190
(SS)C-BOARD v3.8 is Free