こんにちは、なかぜんです。
「Excelで管理しているデータをAccessに取り込みたい」
「CSVファイルを毎回手動で貼り付けるのが大変…」
そんなお悩み、ありませんか?
Accessでは、CSVファイルを簡単にインポートする機能が用意されています。しかも、手動操作でも、VBAを使った自動化でも対応できます!
この記事では、初心者の方でも実践できるよう、手順をやさしく解説します。
CSVインポートの基本手順(手動操作)
1. 外部データの取り込みウィザードを使う
- Accessを開いて、取り込み先のデータベースを表示します。
- 上部メニューの「外部データ」タブを選択。
- 「テキストファイル」をクリック。
- 取り込みたいCSVファイルを選び、「現在のデータベースにインポートする」を選択して「OK」。
インポートウィザードが始まります。以下のポイントを押さえましょう:
- 区切り記号は「カンマ(,)」を選択
- フィールド名が1行目にある場合は「先頭行をフィールド名として使う」にチェック
- テーブル名はわかりやすいものにする
VBAを使ってCSVを自動インポートする方法
1. 基本的なVBAコード
Sub ImportCSV()
DoCmd.TransferText TransferType:=acImportDelim, _
TableName:="インポート先テーブル", _
FileName:="C:Dataimport_sample.csv", _
HasFieldNames:=True
End Sub
コード解説:
TransferType:=acImportDelim
→ 区切り記号付きファイル(CSV)として扱いますTableName
→ 取り込み先のテーブル名FileName
→ 取り込むCSVファイルのフルパスHasFieldNames:=True
→ 1行目をフィールド名として扱う
ファイルパスやテーブル名はご自身の環境にあわせて変更してください。
注意点とよくあるミス
- ファイルが開いたままだとエラーになる → インポート前にCSVを閉じておく
- テーブル構造がCSVと合っていないとエラーが出る
- データ型の自動判定で意図しない型になることがある
応用ポイント(中級者向け)
1. 毎日の業務で自動取り込みするには
CSVファイルが毎日決まった場所に出力されるなら、FileDialog
を使った選択画面付きのインポートもおすすめです。
Sub ImportWithDialog()
Dim fd As FileDialog
Dim filePath As String
Set fd = Application.FileDialog(msoFileDialogFilePicker)
fd.Title = "CSVファイルを選択してください"
fd.Filters.Add "CSVファイル", "*.csv", 1
If fd.Show = -1 Then
filePath = fd.SelectedItems(1)
DoCmd.TransferText acImportDelim, , "インポート先テーブル", filePath, True
MsgBox "インポート完了!"
Else
MsgBox "キャンセルされました"
End If
End Sub
業務効率化の第一歩として、このような処理をマクロから呼び出せるようにするとさらに便利になります。
まとめ|CSVインポートはAccess活用の第一歩
今回は「AccessでCSVファイルをインポートする方法」についてご紹介しました。
- まずは手動で取り込みを体験
- 慣れてきたらVBAで自動化
- 業務フローに組み込んで効率アップ!
Accessを使いこなす第一歩として、ぜひCSVインポートにチャレンジしてみてください。
「なかぜん」は、これからもAccessの便利な使い方をわかりやすくお届けしていきます!
¥1,760 (2025/04/21 22:50:49時点 | 楽天市場調べ)
