質問
AccessのマクロでCSVファイルをインポートする
- 投稿日時:2005/10/10 20:07

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の定義の保存場所が分からずしていません)
どこがおかしいのか教えていただきたいです・・・
回答 (3件)
- 最新から表示
- 回答順に表示
- ベストアンサーのみ表示
No.3
- 回答日時:2005/10/11 08:22
No.1です。
すみません、
> 「,"Test"」
ではなく、
> 「"Test",」
でした。お詫びの上、訂正いたします。
大変失礼致しました。
この回答へのお礼
ありがとうございました。
(「False」がファイル名と解釈され(False=0)、テキストファイルと解釈されて拡張子「.txt」をつけてエラー表示された
エラーの理由を教えていただいて勉強できました。
&うまくいきました。m(_ _)m
No.2ベストアンサー10pt
- 回答日時:2005/10/11 08:13
手動でインポートしインポートの定義ファイルの作成してください。
テーブルインポート→テーブル選択新規⇒区切り記号つき→カンマ、先頭行をフィールド名にチェック
→新規テーブルに保存→各フィールドの型設定→主キーを設定をチェック
⇒「これでデータをインポートするための設定は・・・」となります。
ここで画面の設定ボタンをクリック→インポートの定義ファイルを保存します。
DoCmd.TransferText acImportDelim, "インポートの定義ファイル名","Accessのテーブル名","テキスト名.csv"
DoCmd.TransferText acImportDelim,"インポートの定義ファイル", _
"Test", "C:\Documents\顧客マスタテーブル.csv", False
これでどうでしょうか?参考まで
この回答へのお礼
インポートの定義ファイルを保存
の方法が分からず困っていました。
インポートする際のルールを先にきめておくようなもの・・と
理解しました。(うまく言えませんが)
インポートできました。
ありがとうございました。
No.1ベストアンサー20pt
- 回答日時:2005/10/10 20:53
インポート先(保存先)となるテーブルが指定されていないようです。
その分、カンマ(,)が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列で文字のみのデータにしてみましたが
同じエラーが表示されます。
何がいけないのでしょうか?
- 質問者のみ
- この回答にお礼をつける
このQ&Aを見た人はこんなQ&Aも見ています
- 4マクロにてaccessへテキストファイルをインポートする方法
- 5Access VBA CSV取込でファイル指定
- 6Accessでボタンを押したらエクセルデータを読み込み処理をしたい
- 7ACCESS VBAでインポート定義の場所
- 8ACCESS VBAでファイルを開くダイアログを表示させたい
- 9Access2010でインポート定義の編集
- 10ACCESSで毎回CSVファイルをテーブルにインポートする
- 11ACCESSでの重複レコードの削除
- 12accessのテーブルをExcelにエクスポートする方法は手動ではでき
- 13任意のCSVファイルをAccessに取り込むには?
- 14EXCELファイルのカレントフォルダを取得するには?
- 15VBAをつかってクエリの情報を抽出するには??
- 16EXCELの日付データを文字列に変換したい
- 17EXCEL VBA で現在開いているブックのファイル名を取得する方法
- 18AccessでCSVをインポートしたい(VBA)
- 19Access VBA インポート シート指定
- 20AccessのRefresh・Requery・Repaintの違い
注目の記事
教えて!Firefox
より速く、より安全なウェブブラウザ「Firefox(ファイアーフォックス)」に関する疑問をみんなで解決。全くの初心者から上級者までFirefoxの魅力を十分に味わうために、教えて!gooのユーザーみんながお手伝いします。
このQ&Aを見た人がよく見るQ&A
このカテゴリで人気のQ&Aランキング
- 4エクセルで重複しているデータの抽...
- 5Excel文書が読み取り専用になって解...
- 6エクセルのセルに入力した文字数
- 7excelからexcelへの差し込み印刷
- 8EXCELの日付データを文字列に変換し...
- 9エクセルに写真の貼り付けが出来ま...
- 10Excelで、エラーの #DIV/0! を表示...
- 11エクセルで条件に合うものを別シー...
- 12VLOOKUP関数で複数の検索値を設定し...
- 13エクセルにおいて、シートの保護を...
- 14エクセルで列の全ての項目に文字を...
- 15行間を詰めるには・・・
- 16エクセルで、条件に一致した行を別...
- 17ワードのチェックボックス
- 18エクセル 0や空白のセルをグラフに...
- 19エクセルで図形やオートシェイプの...
- 20【excelファイルは開くがシートが表...






