
Accessのマクロ・VBAにてCSVファイルを
インポートしたいのですが、うまくいきません。
DoCmd.TransferText acImportDelim, , "C:\Documents and Settings\yoshimi\My Documents\顧客マスタテーブル.csv", False
現在のコードです。
「オブジェクト'0.txt’が見つかりませんでした。
オブジェクトが存在していること、名前やパス名が正しいことを確認
してください。」
とエラーが表示されます。
過去ログを検索し、似たようなものを見つけ同じようにしたつもりです。
http://okweb.jp/kotaeru.php3?q=1691138
(回答のANo.1の定義の保存場所が分からずしていません)
どこがおかしいのか教えていただきたいです・・・
No.1ベストアンサー
- 回答日時:
インポート先(保存先)となるテーブルが指定されていないようです。
その分、カンマ(,)が1個少ないなっているために引数がずれて判断され、インポートするファイルが「C:\~顧客マスタテーブル.csv」ではなく、「0.txt」だと判断されているのではないかと思います。
(「False」がファイル名と解釈され(False=0)、テキストファイルと解釈されて拡張子「.txt」をつけてエラー表示された、と)
とりあえず、「Test」テーブルを作成し(フィールドは仮でF1,F2の2つでテキスト型)、「,"C:\~」の前に「,"Test"」を入れて実行してみて下さい。
(csvファイルが3列以上の構成であれば、「テーブル'Test'にはF3フィールドがありません」とのエラーが表示されるようになりると思いますので、適宜F3,F4,・・・と、必要な列数を追加して下さい:定義のかわりです)
この回答への補足
ご返答ありがとうございます。
遅くなり申し訳ありません。
「込み合っています」のメッセージばかりで、書き込めませんでした・・・
教えていただいたように、下記のようになおしました。
Private Sub 商事部門_Click()
On Error GoTo 商事部門_Err
DoCmd.TransferText acImportDelim, , , "Test", "C:\Documents and Settings\yoshimi\My Documents\顧客マスタテーブル.csv", False
商事部門_Exit:
Exit Sub
商事部門_Err:
MsgBox Error$
Resume 商事部門_Exit
End Sub
今度は、
「指定した式は、いずれかの引数とデータ型が対応していません」と
表示されました。
念のため、csvのファイルを2列で文字のみのデータにしてみましたが
同じエラーが表示されます。
何がいけないのでしょうか?
No.3
- 回答日時:
No.1です。
すみません、
> 「,"Test"」
ではなく、
> 「"Test",」
でした。お詫びの上、訂正いたします。
大変失礼致しました。
ありがとうございました。
(「False」がファイル名と解釈され(False=0)、テキストファイルと解釈されて拡張子「.txt」をつけてエラー表示された
エラーの理由を教えていただいて勉強できました。
&うまくいきました。m(_ _)m
No.2
- 回答日時:
手動でインポートしインポートの定義ファイルの作成してください。
テーブルインポート→テーブル選択新規⇒区切り記号つき→カンマ、先頭行をフィールド名にチェック
→新規テーブルに保存→各フィールドの型設定→主キーを設定をチェック
⇒「これでデータをインポートするための設定は・・・」となります。
ここで画面の設定ボタンをクリック→インポートの定義ファイルを保存します。
DoCmd.TransferText acImportDelim, "インポートの定義ファイル名","Accessのテーブル名","テキスト名.csv"
DoCmd.TransferText acImportDelim,"インポートの定義ファイル", _
"Test", "C:\Documents\顧客マスタテーブル.csv", False
これでどうでしょうか?参考まで
インポートの定義ファイルを保存
の方法が分からず困っていました。
インポートする際のルールを先にきめておくようなもの・・と
理解しました。(うまく言えませんが)
インポートできました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Access】クエリで抽出...
-
Wordの文章をExcelに内容ごとに...
-
アクセス2007でのインポートエ...
-
SQLSever 一括インポートについて
-
複数eml形式のBecky!への一括イ...
-
mdbをテキストに変換するツール...
-
Excel 2016 テキストファイルの...
-
ダブルクォーテーション囲いカ...
-
csvファイル中の「e」が変換さ...
-
ACCESS CSV形式でエクスポート...
-
複数のメールファイルを1つの...
-
VBAのQueryTableオブジェクトの...
-
【AccessVBA】ダイアログで複数...
-
エクセル2000で65536行を超える...
-
osv形式ファイル
-
VBA 複数のCSVファイルを一度...
-
ISOファイルとMDSファイル
-
差し込み印刷の元データファイ...
-
【マクロ】変数に入れるコード...
-
Word差し込み印刷、フォルダの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Wordの文章をExcelに内容ごとに...
-
【Access】クエリで抽出...
-
SQLSever 一括インポートについて
-
Excelのデータ(数字)をテキス...
-
多数のeml形式ファイルを1つの...
-
複数eml形式のBecky!への一括イ...
-
アクセス2007でのインポートエ...
-
notepad++ で作成した文書を cs...
-
Excelでhtml形式のテキストを表...
-
複数のメールファイルを1つの...
-
【AccessVBA】ダイアログで複数...
-
特定行の選択、抽出
-
列数が4000を超えるcsvファイル...
-
エクセル2000で65536行を超える...
-
アクセスで小数点以下1桁まで...
-
ACCESS複数テキストファイルを...
-
xls→csv→txtで住所が数値で読み...
-
数値を文字列として読み込ませ...
-
ダブルクォーテーション囲いカ...
-
アクセス(ACCESS) インポート...
おすすめ情報