TransferText
Access テーブルを作成させないでください。最初にアクセス先テーブルを作成し、必要なフィールド タイプを割り当てます。
を実行するTransferText
と、CSV データがその既存のテーブルに追加されます。Access フィールドに互換性のあるデータ型を選択している限り、エラーなく動作するはずです。
あなたの CSV ファイルを調べました。一部のフィールド名が欠落しているため、ヘッダー行は面倒です。
Reporting Unit,,$ Dollars,Offset Unit,,$ Dollars,Variance
それは にとって厄介なことのようでしDoCmd.TransferText
た。そのため、Access UI から手動でインポートしました。そして、3列目と6列目の49行目にインポートエラーが発生しました。Access では、送信先フィールドは両方とも Long Integer として作成されました。ただし、CSV 行のこれらのフィールドの値は 2262169190 と -2262169190 です ... どちらも Access の Long Integer の容量である -2,147,483,648 から 2,147,483,647 を超えています。
安価な回避策として、インポート時にこれら 2 つの列のデータ型にテキストを選択しました。これにより、インポートがエラーなしで機能するようになりました。データを Access に正常に取得したら、それらの (文字列) 値を使用する必要があるときに、それらの (文字列) 値を数値型にキャストできます。
これらの 2 つの列のタイプとして Double を選択した場合にも機能しました。それがあなたが実際に望んでいることのように聞こえます。
でインポートを機能させたい場合はDoCmd.TransferText
、インポート仕様を作成する必要があると思います。可能であれば、最初に CSV ファイルのヘッダー行も変更して、すべてのフィールドに名前を付けます。
私は実際に、CSV ファイルを変更せずにそのアプローチをテストしました。Access UI でインポート仕様を作成した後 (以下のスクリーン キャプチャを参照)、このTransferText
操作は Access 2007 でインポート エラーなしで機能しました。
DoCmd.TransferText acImportDelim, _
"IC_Y1301_Specification", _
"IC_Y1301_LD10279_F25210001", _
"C:\Users\hans\Downloads\IC_Y1301_LD10279_F25210001.CSV", _
True