プロが教える店舗&オフィスのセキュリティ対策術

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の定義の保存場所が分からずしていません)

どこがおかしいのか教えていただきたいです・・・

A 回答 (3件)

インポート先(保存先)となるテーブルが指定されていないようです。



その分、カンマ(,)が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列で文字のみのデータにしてみましたが
同じエラーが表示されます。

何がいけないのでしょうか?

補足日時:2005/10/10 22:46
    • good
    • 1

No.1です。



すみません、

> 「,"Test"」

ではなく、

> 「"Test",」

でした。お詫びの上、訂正いたします。
大変失礼致しました。
    • good
    • 0
この回答へのお礼

ありがとうございました。

(「False」がファイル名と解釈され(False=0)、テキストファイルと解釈されて拡張子「.txt」をつけてエラー表示された

エラーの理由を教えていただいて勉強できました。
&うまくいきました。m(_ _)m

お礼日時:2005/10/11 17:16

手動でインポートしインポートの定義ファイルの作成してください。


 テーブルインポート→テーブル選択新規⇒区切り記号つき→カンマ、先頭行をフィールド名にチェック
 →新規テーブルに保存→各フィールドの型設定→主キーを設定をチェック
 ⇒「これでデータをインポートするための設定は・・・」となります。
  ここで画面の設定ボタンをクリック→インポートの定義ファイルを保存します。
DoCmd.TransferText acImportDelim, "インポートの定義ファイル名","Accessのテーブル名","テキスト名.csv"

DoCmd.TransferText acImportDelim,"インポートの定義ファイル", _
"Test", "C:\Documents\顧客マスタテーブル.csv", False
これでどうでしょうか?参考まで
    • good
    • 0
この回答へのお礼

インポートの定義ファイルを保存
の方法が分からず困っていました。

インポートする際のルールを先にきめておくようなもの・・と
理解しました。(うまく言えませんが)

インポートできました。
ありがとうございました。

お礼日時:2005/10/11 17:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!