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

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

しらかば堂

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

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

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

みなみ

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

しらかば堂

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

この

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

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

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

 

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

 

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

 

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

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

なので
130001_tokyo_covid19_patients.xlsx

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

の中に直接
130001_tokyo_covid19_patients.csv

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

みなみ

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

しらかば堂

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


この
130001_tokyo_covid19_patients テーブル

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

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

しかもこの
130001_tokyo_covid19_patients テーブル

で紹介した 削除クエリ
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)
を順に選択し

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

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

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

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

おや?

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

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

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

すると

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

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

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

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

インポート操作の保存

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

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

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

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

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

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

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

このように保存した インポート操作リボンメニュー
保存済みのインポート操作 をクリックすれば
実行(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ファイル を直接 テーブルインポートする方法について紹介しました。

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

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

でしたよね。

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

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


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

Access VBA 関連教材の紹介