- ベストアンサー
AccessのマクロでCSVファイルをインポートする
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)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- DexMachina
- ベストアンサー率73% (1287/1744)
- sanbit
- ベストアンサー率32% (16/50)
関連するQ&A
- VBAでCSVファイルのインポートについて
ACCESS2003でCSVファイルのインポートを行うVBAをご教授下さい。 ただし、CSVファイルは各項目がダブルコーテーションではさまれており、カンマはありません。 1行目にヘッダーがあります。 DoCmd.TransferText acImportDelim, , FileName, ImportPath, True ↑ これだと、うまくインポートされませんでした。 大変困っております。 どうぞよろしくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- MS AccessでExcelファイルのインポートは?
AccessのVBAでExcelファイルをインポートするにはどうすればいいのでしょうか? ちなみに DoCmd.TransferText acImportDelim, , "Tmp名簿", strInPutPath & "\名簿.csv", True (strInPutPathは、ダイアログから取得したパスです) では、CSVファイル(TXTファイル)しか読み込めません。 (もちろん、そのため拡張子が「.csv」にしていますが 読み込むファイルをテキストファイルにしたら「.txt」でもいいです) 「ファイル」メニュー(コマンド)の「外部データの取り込み」→「インポート」では、Excelファイルも読み込めるので悔しいです。 これをVBAでやりたいんですが。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Access2000のCSVファイルのインポートについて
Access2000でCSVファイルをインポートしようと思っています。 インポート方法は、VBAで 「DoCmd.TransferText acImportDelim, , "テーブル名", "ファイル名"」を使用しています。 この時に、CSVファイルが次のようなデータです。 F1,F2,F3 0010,0200,0001A12 0011,0201,0021B12 (実際は、1000件近いデータです) これをインポートすると、 F1,F2,F3 10,200,1A12 11,201,21B12 となってしまいます。 頭の「0」を省きたくないのです。 文字列として取り込めないでしょうか? CSVのデータに""を自動でつける方法はないでしょうか? Accessの外部データの取り込みを使うと、文字列として指定できるのですが、VBAを使いワンクリックでデータを取り込もうとしています。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- CSVファイルをテーブルにインポートする
1行目が項目名のCSVファイルをテーブルにインポートするため Private Sub CSVインポート_Click() DoCmd.TransferText acImportDelim, , "ブランド", "J:\ブランド.TXT" MsgBox ("CSVファイルインポート完了") End Sub を実行すると、f1,f2のフィールドがありませんとメッセージがあり F1,F2 のフィールドを追加し再度実行するとデータは f1,f2に入り 項目名もデータとして入っています。 1行目は項目名と宣言する設定はありますか。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- アクセスと同フォルダのCSVファイルをインポートしたい
初心者で質問がわかりにくかったらすみません。 アクセスで、CSVファイルを取込みたいです。 下記のような構文で、取込む方法はわかりました。 Private Sub コマンド62_Click() DoCmd.TransferText acImportDelim, "請求書csvインポート定義", _ "請求書", "C:\Documents and Settings\user3\デスクトップ\受付番号アクセス\これ!\請求書.csv", True End Sub しかし、これだと常に取込むCSVファイルが同じ場所ではないと、いけないので、他のPCで使用するとエラーになってしまいます。 なので、他のPCに移した場合でも、いちいち構文を修正せずに、 この構文が作成してあるアクセスと同フォルダの”請求書.csv”というファイル名のCSVデータを取込めるような、構文が知りたいです。 お手数ですが、教えてください。
- ベストアンサー
- オフィス系ソフト
- Access VBAでファイルのインポートについて
あるディレクトリにAccessのmdbファイルを置き、「インポート」フォルダを隣に置きます。 このフォルダ内にCSVファイルを置き、それをVBAでテーブル「tbl_import」にインポートさせたいのです。 ちなみにインポート後はディレクトリ「インポート」下層のディレクトリ「インポート済」に移動させたいのです。 下記例文では「file.csv」と書いていますが、このファイル名はインポートの都度、常に変わります。 インポートさせるファイルは常に一つです。 「*」を用いれば出来ると思っていたのですが、うまくいきません。 良い方法を教示いただけませんか。 DoCmd.RunSQL "DELETE * FROM tbl_import" DoCmd.TransferText acImportDelim, "インポート定義", "tbl_import", CurrentProject.Path & "\インポート\file.csv", True FileCopy CurrentProject.Path & "\インポート\file.csv", CurrentProject.Path & "\インポート\インポート済\file.csv" Kill CurrentProject.Path & "\インポート\file.csv"
- ベストアンサー
- その他(データベース)
- Access VBA CSVファイルのインポート
お世話になります。 VBAにてCSVファイル(タブ区切り)をインポートするのに、 以下のように記述してますが、エラーとなります。 なお、インポート先のtempテーブルはインポートするCSVファイルの フィールドと同じ並びで予め作成したものです。 DoCmd.TransferText acImportDelim, , "temp", path, True 「実行時エラー2391 貼り付け先のtempテーブルには、'フィールド1_ フィールド2_フィールド3'フィールドがありません。」 このエラーを見る限り、フィールド1~3が一つのフィールドとして 認識されているように見受けられます。 タブ区切りなのか、カンマ区切りなのかを指定するようなパラメタは あるのでしょうか。 なお、当該CSVファイルをウィザードより手動でインポートする分には 問題無くインポート出来ます。 ************** インポートするCSVファイルはユーザーにより見出し(フィールド)の 並びが異なる場合がある為、インポート定義を予め作っておくことが できない状況です。 ご教授の程、宜しくお願い致します。
- ベストアンサー
- その他(データベース)
- ACCESSのテーブルへCSV形式のファイルを
お世話になります。 ブランドテーブルへJドライブのルート内のCSV形式のファイルをインポートのため Private Sub インポート_Click() DoCmd.TransferText acImportDelim, , ブランド, j: ブランド.TXT End Sub で実行すると このアクションまたはメソッドを実行するには、「TableName/テーブル名因数が必要です。 とメッセージが帰ってきます。 これが解決すると インポートするCSVファイル6個ですが、ワンクリックで終わります。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- Access インポート時にファイル名を追加したい
Access2007のVBAで、あるフォルダ内の全CSVをインポートしたくて、次のページを参考にして、標準モジュールを組みました。 そして、あるフォルダ内全CSVのインポートには成功しました。 その時、全CSVはテーブル「Import_Table」にインポートされます。そこで、インポート時に元のCSVのファイル名をインポート先のテーブルの最後のフィールドに追加することはできるでしょうか? もし、知っておられる方がいたら、教えてください。 お願いします。 http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1226480442 _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ Sub ImpCSV() Dim objFs As Object Dim objFld As Object Dim objFl As Object Const cnsFILEPATH = "C:\Documents and Settings\hoge\デスクトップ\hogehoge" 'フォルダー名 Const cnsTABENAME = "Import_Table" Set objFs = CreateObject("Scripting.FileSystemObject") Set objFld = objFs.GetFolder(cnsFILEPATH) For Each objFl In objFld.files If Right(objFl.Name, 4) = ".csv" Then DoCmd.TransferText TransferType:=acImportDelim,"インポート定義",tablename:=cnsTABENAME, _ filename:=cnsFILEPATH & "\" & objFl.Name, hasfieldnames:=False End If Next Set objFl = Nothing Set objFld = Nothing Set objFs = Nothing End Sub /_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/ _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
- 締切済み
- Access(アクセス)
- ACCESS2000について
よろしく、お願いいたします。 ACCESS2000+WinXPを使用しております。 VBAにてボタンに、 DoCmd.TransferText acImportDelim, , "テーブル", "c:データ" というように書いて、ボタン一つで、データをテーブルに格納できるように致しました。 データは、csvまたはtxtなのですが、格納すると、 電話番号のようなデータの、最初の”0(ゼロ)”が消えてしまいます。 テーブルは、「テキスト型」にしてあります。 何か良い方法はありませんでしょうか? よろしく、お願いします。
- 締切済み
- オフィス系ソフト
- 新型コロナワクチン接種後の副反応に対処する方法についてまとめました。
- 接種後は会場で待機し、副反応の有無を確認します。
- アナフィラキシーや強い副反応が出た場合でも、医師などが対処してくれます。
補足
ご返答ありがとうございます。 遅くなり申し訳ありません。 「込み合っています」のメッセージばかりで、書き込めませんでした・・・ 教えていただいたように、下記のようになおしました。 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列で文字のみのデータにしてみましたが 同じエラーが表示されます。 何がいけないのでしょうか?