|
▼satsuki さん:
こんにちは
>>For j = kiten2.Row + 1 To objsheet.Rows.Count
>ここでは、「オーバーフローしました」というエラーがでました。
ウォッチウィンドウか、ローカルウィンドウでその時のデータを確認しましょう。
取り合えず、ここはかみちゃんさんのご指摘を試してみて下さい。
>>後、現在のCSVをテーブルごとに複数のCSVに分け、そのまんま、それをSQLで
>>mdbに流し込むとか(出来るかどうかは未確認)、recordset取得してmdbに流し
>>込む(これは出来る)とかが思いつきます。
>そのあたりの方法に大変興味があります。
ですが、CSVファイルのデータを良く見ると、1つのファイルに複数のテーブル
が含まれているようですので、上記の提案は不向きですね。ファイル内の
データを解析したら、それをそのまんまmdbに放り込むほうが楽チンです。
知っているかどうか判らないので一応書いておきますが、CSVファイルも
DAO、ADOを使用して、検索、追加は出来ます。
削除は出来ない(ファイル操作では可能)。
変更も多分出来ない。これは忘れました。これもファイル操作では可能です。
CSVファイルは1行目がテーブル名になっていることが必要です。
構造としては、ディレクトリがDB、1ファイルが1テーブルとみなします。
ググッたら沢山サンプルがあると思います。
その他気付いた点
・DBへの追加処理は、別プロシージャにした方が見易い
(好みだけの問題ではない。メンテナンス性。)
・RS.Open 後、RSを閉じないまま次のものに使っているが、問題は生じないんですかね?
(問題ないとは思いますが、こういう方法を取った事無いので知りません。)
・recordsetを開く際、openメソッドの第1引数でTable名を指定して、
第4引数でadCmdTableを指定すれば無駄なSQLを投げる必要は無かったと思う。
|
|