• 締切済み

度々すみませんがインポートのことで・・・

度々すみません。 どうしてもお伺いしたいのですが csvファイルのインポートを コマンドボタンで行いたいのですが 「外部テーブルのファーマットが正しくありません」と エラーが出てしまいます。 下記に何が問題あるのでしょうか、教えて下さい。 ちなみにファイル名はhead.csvでシート名もheadです。 インポートしたいテーブル名はheadです。 テーブルの形式はすべてあわせてあります。 テーブルをカラにしてみたり ヘッダー部分のみの状態でも同じエラーでした。 Private Sub コマンド3_Click() On Error GoTo Err_コマンド3_Click Dim stDocName As String stDocName = "マクロ1" DoCmd.TransferSpreadsheet acImport, , "head", "C:\My Documents\hea d.csv", True, "head" Exit_コマンド3_Click: Exit Sub Err_コマンド3_Click: MsgBox Err.Description Resume Exit_コマンド3_Click End Sub ---------------------------------------- OSは、Windows 98 アプリケーションは、Access 2000 です ----------------------------------------

みんなの回答

  • miya_777
  • ベストアンサー率31% (44/140)
回答No.1

cvsはExcelから作成したものですか? であれば、読み込みはは、cvsでなくExcelにしてください。 DoCmd.TransferSpreadsheet acImport, , "head", "C:\My Documents\hea d.csv", True, "head" とした場合は、Excel形式を想定しています。 (acImportの後ろのパラメータが 形式指定です。省略時はExcel形式です。Excelとか1-2-3形式とcvs形式などあります。詳しくはAccess VBAのヘルプを参照してください。)

taku0311
質問者

お礼

ありがとうございました いろいろと試してみて TransferText acImportDelimでうまくインポートが 出来たのですが一点エラーが出てしまいます フィールド型が違うとのエラーでインポートエラーになってしまいます 数値とアルファベットの混ざったナンバーなのでテキスト型にしているのですが インポートしたときにどうしてか数値型に変わってしまいこのフィールドだけが インポートされません。 どうすればいいのでしょうか? On Error Resume Next DoCmd.DeleteObject acTable, "head" On Error GoTo 0 On Error Resume Next DoCmd.DeleteObject acTable, "details" On Error GoTo 0 DoCmd.TransferText acImportDelim, "", _ "user", "C:\My Documents\iモード受注\受注\user.csv", _ True, "" DoCmd.TransferText acImportDelim, "", _ "head", "c:\My Documents\iモード受注\受注\head.csv", _ True, "" DoCmd.TransferText acImportDelim, "", _ "details", "c:\My Documents\iモード受注\受注\details.csv", _ True, "" End Sub

関連するQ&A