AccessにCSVファイルからデータをインポートする場合、1つのフィールドで255文字以上のデータが含まれていると、そこで切れてしまうと問題があります。これを回避するには、インポート定義を作成して、データ型で「メモ型」を指定してやる必要があります。
Access2002での話なので、最近のんはこんな事しなくてもいいかもしれません。
インポートの仕方
とりあえず、ファイルメニューや右クリックメニューでインポートを実行して、テキストインポートウィザードでインポート処理をします。
この時に、「設定」を開いて、テキストが長そうで255文字を超えそうなフィールドに対して「メモ型」を指定します。デフォルトでは、「テキスト型」が指定されています。
全部設定し終わったら、「保存」をクリックして、定義内容を保存しておきます。定義名は、2回目移行のインポート、マクロやVBAからのインポートに必要です。どっかに名前をコピーしときます。
後は、どんどん進んで完了してインポートします。ちゃんと入ってなかったら、どっかでメモ型指定を忘れてるので、やり直してください。
マクロからの実行
CSVのインポートが一回で終わることはないと思うので、多分、自動化すると思います。マクロからやる場合は、アクションに「テキスト変換」、定義名に「ItemM インポート定義」などのさっき保存した定義名を指定します。
VBAから実行
VBAからの場合は、DoCmd.TransferTextを使います。
DoCmd.TransferText acImportDelim, "ItemM インポート定義", "ItemM", "ItemM.csv", True, , 65001
2番めの引数にさっきの定義名を入れればOK。ちなみに、最後の「65001」はUTF-8で入力したい場合に指定します。
おまけ
実は、こんなことしなくてもやる方法も無くはないです。
フィールドが長くなりそうな奴は、CSVファイルの最初のレコードに、長いデータを入れとけば、Accessが勝手にメモ型にしてくれます。ダミーで入れといてあとで除去するばOK。どっちが手間かという問題ですが・・・