会社の業務で、ExcelでつくったCSVデータをAccessのテーブルに自動で取込みたい時ってあると思います。そういった時はAccessのインポート機能を使ったり、手動でコピペしたりするのではないでしょうか。
そういった方法が面倒でAccessVBAが使える方であれば、プログラムを作って自動で複数のCSVを指定のテーブルに取込めるようにできる方もいるでしょう。
しかしこの時に何か問題が起きないでしょうか。例えば次のような問題です。
- 全てのCSVデータがAccessの指定のテーブルに取込めない(例えば10行のデータがあったら7行分しか取込まれない)
- 元のCSVデータを順番通りにAccessの指定のテーブルに取込めない
といった具合です。
このような問題が起きる時というのは、TransferTextを使って取込みをしたりField オブジェクトを使ってひとつずつデータを入れていくという方法を取られたりしているのではないでしょうか。
以下の前回の過去記事をつくった後にこのことに気づきました。
そのため今回はこの問題点を解決するためのコードをつくったので、整理していきたいと思います。