【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します
【連載】#14 Access のテーブルを Excelブックにエクスポートする方法を説明します

この記事ではCSVファイルを直接テーブルにインポートする方法を紹介します。

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します
しらかば堂

いつも記事を読んで頂きありがとうございます~
今日の調子はいかがですか?

CSV ファイルを直接テーブルへインポートする理由

前回記事の中で
東京都_新型コロナウイルス陽性患者発表詳細 に掲載の CSV データ
を直接
130001_tokyo_covid19_patients テーブル
インポート したいというお話をしましたよね。

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します
みなみ

あれ? これ前にやらなかった?

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します
しらかば堂

おっすごいっ!
前に .csv ファイルを一旦 .xlsx ファイルに変換して、これをインポートするやり方については紹介」しましたよね。
今度は直接 .csv ファイルをインポートするやり方です。

この

【連載】#08 CSVファイルをExcel経由でAccessのテーブルにインポートするには

の中では CSV ファイルを一旦 Excel ファイルに変換してからこの Excel ファイルを Accessインポート したのですが

この方法だと例えばこの
東京都_新型コロナウイルス陽性患者発表詳細 に掲載の CSV データ
を1カ月に1回定期的に取得し、このデータに対し

【連載】#10 Accessのマクロ、クエリ、VBAって何?どういう関係になっているの?

で紹介した以下のような3種類のグラフ

 

Ⅰ.コロナウイルスによる発症数と退院者数比率推移

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

 

Ⅱ.コロナウイルスの男女別感染者数推移

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

 

Ⅲ.コロナウイルスの世代別感染者数推移

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

を作成したいとしたとき
毎回 CSV ファイルを Excel ファイルに手で変換しないといけないので
面倒くさいですよね。

なので
130001_tokyo_covid19_patients.xlsx

から インポート して作成した
130001_tokyo_covid19_patients テーブル

の中に直接
130001_tokyo_covid19_patients.csv

からデータを インポート できる方法も知っておくと
もっと楽ができますという話です。

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します
みなみ

ちょっと何言ってんだかわかんない…

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します
しらかば堂

それでは丁寧に説明しましょう


この
130001_tokyo_covid19_patients テーブル

【連載】#09 Accessのテーブルって何?Excelとどう違うの?

で見たように、この テーブル を デザインビュー で確認すると

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

のように テーブル 定義 が既に出来ており
・どういったフィールド がいくつあるか
・それぞれの フィールド はどういった データ型
がわかっています。

しかもこの
130001_tokyo_covid19_patients テーブル

【連載】#13 Access のマクロの使い方とテーブルからのデータ削除方法を説明します

で紹介した 削除クエリ
Q0010_削除_130001_tokyo_covid19_patients

によって全ての レコード が既に削除されているので

Access が直接
130001_tokyo_covid19_patients.csv


130001_tokyo_covid19_patients テーブル
インポート できるという訳です。

以前の「#08 CSVのインポートのやり方」 の記事中では
130001_tokyo_covid19_patients.csv 
を一旦
130001_tokyo_covid19_patients.xlsx
に変換してからインポートしていますが、これは
Access の中にこの
130001_tokyo_covid19_patients.csv
に対する テーブル定義 がまだないので、Excel の力を借りて
Access の中に テーブル(定義) を作成してから
データを インポート しました。

CSV ファイルのテーブルへのインポート手順

それでは実際に
130001_tokyo_covid19_patients テーブル

130001_tokyo_covid19_patients.csv
を直接インポートしてみましょう。

具体的には
外部データ新しいデータソース ファイルから(F) 
       > テキスト ファイル(T)
を順に選択し

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

参照(R)  ボタン をクリックし

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

130001_tokyo_covid19_patients.csv
が保存されている ダウンロード フォルダ配下で対象ファイルを選択し

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

開く(O) ボタンをクリックすると次のような画面となるので OK ボタンをクリックすると

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

以下のような画面となります。

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

おや?

画面を見ると文字化けしてますね。

なので 設定(V) ボタンをクリックし

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

コードページ(C) のリストで文字コードを
日本語(シフト JIS) から Unicode(UTF-8) に変更し
OK ボタンをクリックします。

すると

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

文字化けはなくなりました。

Unicode(UTF-8) は一般的な WEB サーバで広く利用されている文字コード、 シフト JIS  は日本国内で販売されている Windows PC で広く利用されている 文字コード です。
この記事の作成にあたり利用している Windows PC は シフト JIS  がデフォルトの日本語コードとして設定されているので
WEB サーバからダウンロードした Unicode(UTF-8) の CSV ファイル
文字化けを防ぐには文字変換が必要になるというわけです。

続けて 次へ(N) ボタンをクリックし

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

先頭行をフィールド名として使う(R) の前のチェックボックスに✔を入れ
完了(F) はい(Y) ボタンをクリックします。

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

インポート操作の保存

次にこの インポート操作 を保存しましょう。

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

インポート操作の保存(V) の前のチェックボックスに✔し
インポートの保存(S) ボタンをクリックすると

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

「#08 CSVのインポートのやり方」 の記事中で同名の インポート操作 を既に登録済みだったので一旦これを OK して
データタスクの管理(M) ボタンを押し

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

保存済みの不要な .xlsx 用の インポート操作 が選択されていることを確認してから

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

削除(D) ボタン 閉じる(C) ボタンをクリックします。

そして改めて新しい インポート操作 を保存する為に
インポートの保存(S) ボタンをクリックします。

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

そして念のため 保存済みのインポート操作 をクリックしてインポート元のファイル拡張子が .csv となっていることを確認します。

【連載】#15 CSVファイルを直接Accessのテーブルにインポートする方法を説明します

このように保存した インポート操作リボンメニュー
保存済みのインポート操作 をクリックすれば
実行(R) したり 削除(D) したりすることができます。

ここまでの流れを実際に次の動画で何回か確認しておきましょう。
見づらいときは画面をフルスクリーンにすることをお勧めします。

インポート操作のマクロ登録

この動画の中では「#14 テーブル のエクスポートのやり方」のでのやり方と
同様にいま保存した インポート操作
M0000_作成_東京都コロナ発症状況_マスタ マクロの先頭に登録しています。

具体的には
M0000_作成_東京都コロナ発症状況_マスタ マクロの上にマウスを移動し
右ボタンで コンテキストメニュー から
デザインビュー(D) を選択して開いた マクロビルダ を使って

リボンメニュー の 表示/非表示 欄の
全てのアクションを表示 ボタンをクリック後

マクロビルダ 内の リストメニュー から
保存済みのインポート/エクスポート操作の実行
を選択し

保存済みのインポート/エクスポート操作の名前
で先ほど作成した
インポート-130001_tokyo_covid19_patients
を選択したあと、

右側の上 矢印ボタン を何回かクリックして、この アクション
この マクロビルダ 画面内での一番上まで移動し

この マクロビルダ 画面を閉じています。

確認の為この Windows PCのデスクトップに既に エクスポート 済みの
T000_東京都コロナ発症状況_マスタ.xlsx
を削除してから

M0000_作成_東京都コロナ発症状況_マスタ マクロをダブルクリックして
実行すると

この マクロ の定義に従って
130001_tokyo_covid19_patients.csvインポート
T000_東京都コロナ発症状況_マスタ テーブルを作成し
130001_tokyo_covid19_patients テーブルの全ての レコード を削除
④ T000_東京都コロナ発症状況_マスタ テーブル
T000_東京都コロナ発症状況.xlsx への エクスポート

まで一気に実行しています。

まとめ

いかがでしたか?
今回は CSVファイル を直接 テーブルインポートする方法について紹介しました。

また その インポート操作を マクロ に登録し
これを実行する方法についてもご紹介しました。

さてこの記事全体の目標は
 ・ 今の状況から抜け出してもっと前向きな仕事に取り組みたい
 ・ さっさと仕事を切り上げて充実したアフターファイブを過ごしたい

でしたよね。

あなたの解決したい問題は何ですか?
次回はまた

【連載】#16 Accessのマクロを細かく調整し、おしゃれに自動化する方法を説明します

Access VBA の新しい窓を開きましょう。


Microsoft Access 関連教材は次のリンクからどうぞ。

Access VBA 関連教材の紹介