質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

Q&A

1回答

16122閲覧

Accessマクロ、複数csvファイルのインポート時にヘッダーを入れる方法

YusukeKoshiba

総合スコア15

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

マクロ

定義された処理手続きに応じて、どのような一連の処理を行うのかを特定させるルールをマクロと呼びます。

0グッド

0クリップ

投稿2018/02/16 08:46

編集2018/02/16 08:48

いつもお世話になっております。

フォルダ配下に日別のlogデータであるCSVファイルが複数あり、Accessのテーブルに全てファイルを取り込むマクロを作成しております。

ネットでサンプルがありましたので、こちらを元にやったところ、インポートは出来たのですが、取り込むCSVにヘッダーがない為?テーブルのヘッダー情報と組み合わせることが上手くいきません。

ーーー実行マクローーーーーーーーーーーーーーーーーーーーー
Private Sub cmdImport()

Dim myFilename As Variant
Dim myPath As Variant

myPath = "C:\CSVfiles"
myFilename = Dir("C:\CSVfiles*.csv")

Do Until myFilename = ""
DoCmd.TransferText acImportDelim, , "テーブル1", myPath & myFilename, False
myFilename = Dir()
Loop

End Sub
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
こちらで実行するとフィールド名がF1、F2…となってしまいます。(ないので当たり前ですが。)

ヘッダーは
ID オートナンバー型
User 短いテキスト
Date 数値型
Time 数値型
Count 数値型



といった形を希望しています。(最初に自動連番のIDフィールドを入れたいです。取り込むcsvにはありません。)

どなたか方法をご存知の方いらっしゃいましたらご教示頂けますと、幸いです。
何卒、宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

インポート先のテーブルを作成してから、インポート定義を作成(テーブルとcsvの項目対比)し
DoCmd.TransferText でインポート定義をパラメータとして指定して下さい。

テキストファイルをVBAでインポートする方法 ※ちょっと記事は古いですが。
インポート定義を使用して、CSVファイルをインポートしたい

投稿2018/02/16 09:01

sazi

総合スコア25195

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YusukeKoshiba

2018/02/16 10:50

早速のご回答ありがとうございます。 インポート定義を使用するのですね。 今し方やってみましたが、どうもキー違反となってしまいます。 先頭列の自動連番のIDフィールドにcsvの一列目が入ってしまっているのだと思われます。 こちらマクロなどで防ぐことは出来ますでしょうか? ご回答頂いた中、更に質問で恐れ入りが、ご教示頂けると幸いです。 何卒、宜しくお願い致します。
sazi

2018/02/16 11:56

インポート定義でその項目をスキップする設定ができます。 スキップすれば、IDは自動で振られるのでエラー回避できるかと。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問