|
▼小僧 さん:
>特に今回の様に試行錯誤しながら色々操作を行っていると
>応答がなくなってしまったり、
>その為に強制終了をせざるを得なかったりと
>ファイルが壊れる要因が多々ありえます。
>
>必ず元ファイルのバックアップをとっておいて下さいね。
Accessは壊れやすいのですね。。。
今回は壊れてもいいように元ファイルからコピーしたやつで
作成しています!なので、まーこわれてもいーかぐらいないきおいで
色々やってます^^
>データ量が多いとプログラムの実行に時間も掛かってしまうので
>まずは実験の為に数千レコードぐらいに減らした
>実験用のMDBファイル、CSVファイルを作って
>うまく行った後に本番データで試してみてはいかがでしょうか
これもですが、いきなり本番データとは恐れ多いので、
適当に2項目くらいで5000件くらいのデータをつくり、
それでテストしてます。
本番データはかなりの量なので、処理が遅くなるのはしょうがないと
了解は得ています!
>また、これも初めの方の投稿で書いておくべきでしたが
>みうさんがお使いのPCの OS、Accessのバージョンによって
>VBAのコードが変わってくる場合もあります。
>
>ご質問の際には OS や Access のバージョンを明記する様にしましょう。
たしかにそうですね・・・
申し訳ないです・・・・
OS:XP
Accessバージョン:2003
になります!!
>・W_ワークテーブルの初期化
>・W_ワークテーブルに今回取り込みたいデータをインポート
>・W_ワークテーブルと本来インポートしたいテーブルの比較
ということは、
・取引先のテーブル
・W_ワークテーブル
・今回インポートしたいデータのテーブル
の3つが必要ということで大丈夫でしょうか???
>前回の投稿で述べたのですが、
>重複レコードが複数あった場合
>「上書き」か「キャンセル」か選ばせるとの事ですが、
>
>A) 1行ずつ確認のメッセージ?
>B) 全体に対しての「上書き」「キャンセル」の処理?
回答していませんでしたね。。。
またまた申し訳ないです。。。。
今回はBの仕様でいきたいと思っています。
>また B) であるのならば
>重複しているレコードのみキャンセルなのか、
>それとも全レコードの取り込みをキャンセルするのかによって
>仕様が変わってきますね。
>その後
>・上書きの場合は取りこみ先テーブルから重複となるレコードを削除
> キャンセルの場合は仕様によって…。
>
>・ワークテーブルのデータを取り込み先テーブルへインポート
>
>となりますね。
>
考えとしては、
重複データがあった場合、メッセージをだし、
・上書きの場合:取込先テーブルの重複したデータを削除し、今回取り込んだデータを追加
・キャンセルの場合:取込じたい終了。(Exit subなど。。。)
>上記のキャンセル仕様に関するご回答と、
>最終的に取り込みたいテーブルの名前、
>重複かどうかを判断するフィールドの名前などあると
>次回の回答が付けやすくなると思われます。
最終的に取り込みたいテーブル:test
ワークテーブル:W_ワークテーブル
フィールド名1:日付
フィールド名2:社員番号
この場合、重複データがあるとしたい内容は、
日付、社員番号の2つが一致したときに重複データとしたいのですが。。。
何回もすみません。
かつ質問だらけで申し訳ないです。
ヒントや、アドバイス教えてください。
|
|