【Access】外部データ取込方法のまとめ

## はじめに
はじめまして、株式会社ジールの@km____です。

Accessには外部データを取り込む方法（インポート）がいくつかあります。
Accessを使用する場合はよく使用する手順ですので、確認してみてください！


今回紹介する取り込み方法は下記の３つです。
　①手動でファイルを取り込む
　②「保存済みのインポート操作」からファイルを取り込む
　③「マクロ」を作成してファイルを取り込む


## ①手動でファイルを取り込む
ファイルを手動でAccessのテーブルに取り込む方法です。
今回はためしにテストデータ「imp.xlsx」をAccessに取り込みます。

#### ■ 取込手順
#### 1. Access上部に設置されているリボンから下記の順で選択します。
　　外部データ　⇒　新しいデータソース　⇒　ファイルから　⇒　対象のファイル形式を選択
  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576431/9c2406bb-78da-d34e-56da-addff9aee369.png)


#### ２．参照から対象のファイルを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576431/277ea84b-b4da-3a48-a9dd-eadc8ba8b98f.png)


#### ３.「現在のデータベースの新しいテーブルにソースデータをインポートする」にチェックをいれ、OKを押す。
今回はAccess自体にデータを取り込むため、「現在のデータベースの新しいテーブルにソースデータをインポートする」で取込を行います。
Accessに取り込まず、フォルダに格納されているデータを直接参照したい場合は
「リンク テーブルを作成してソース データにリンクする」を選択します。


#### ４.取り込むデータが載っているワークシートを選択する。
取り込むファイルがExcelの場合、どのシートのデータを使用するのかを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576431/c4b0ebb4-5c23-700e-b1b3-214b5451619a.png)


#### ５.取り込むデータの一番上のレコードをフィールド名（列名）としたい場合は、「先頭行をフィールド名として使う」にチェックを入れる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576431/e687425e-e0ca-f25d-bd6b-3b41ffa7c990.png)


#### ６.各列のデータ型を選択する。
取り込むデータによってAccessが自動的にデータ型を決めてくれますが、
コード値を文字型として取り込みたいのに数値型で取り込まれている、ということがよくあります。
今回は所属コードが「倍精度浮動小数点型」で取り込まれましたが、「短いテキスト」に変更しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576431/d67364ca-a990-1c26-f13b-803a6f00b8d0.png)


#### ７.主キーを設定するかどうかを決めます。
主キーを設定すると、取込データにユニークキー（重複しない一意の値）を持たせることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576431/f4e5272b-49fe-e98a-f200-23ec7d6becff.png)


#### ８.「インポート先のテーブル」にテーブル名を記入する。
取り込むテーブルの名称を指定します。
テーブル名称は重複できないため、注意しましょう。


#### ９.「完了」を選択すると、取込完了です！



各列のデータ型を確認する必要があるので、列数が多いときは手間がかかりますが、
取り込む前にデータを確認して「ここの列はコード値だから数値型で取り込まれるな」という予測しておくと確認がしやすいと思います！


## ②「保存済みのインポート操作」からファイルを取り込む
「①手動でファイルを取り込む」で完了を押した後、下記のような画面が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576431/2eea4397-8c01-d794-78f4-6d5e36d17a45.png)


ここで「インポート操作の保存」にチェックを入れて「閉じる」を押すと、「①手動でファイルを取り込む」で操作した取込内容が下記の通りAccessに保存されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576431/ee7653a9-dbc4-fc3d-5ac6-059c4328b9ac.png)


「インポート操作の保存」をしておけば、同じファイルのインポートが次から簡単にできるようになります！


:::note warn

「保存済みインポート操作」ではパスとファイル名以外のインポート操作を編集することができません。

（ACCESSのシステムテーブルを編集すれば一応可能ですが...
基本的には現行の「保存済みインポート操作」を削除し、新しく登録しなおす必要があります。）

また、操作内容を確認することもできないため、編集を行っている場合は
　インポート先のテーブル名
　データ型の編集内容
を必要に応じてメモしておくことをオススメします。

:::


## ③「マクロ」を作成してファイルを取り込む
マクロではデータの取り込み以外にもクエリの実行やフォームの操作なども行うことも可能です。
データを取り込んでクエリを実行するような作業を設定しておくと、一連の作業をマクロを実行するだけでまとめて行うことができます。

### ■ マクロ登録手順
#### １．Access上部に設置されているリボンから下記の順で選択します。
　　作成　⇒　マクロ
  
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576431/fb12fef2-d485-5e07-6c39-d7a72aa6ce81.png)


#### ２.「すべてのアクションを表示」をクリックします。
「すべてのアクションを表示」を押すと、アクションからインポート操作が選べるようになります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576431/0b70272c-7b3f-f099-8696-8d8499a5990a.png)

#### ３.アクションからインポート操作を選択します。
インポート操作はいくつか種類があり、ファイルに合わせてアクションを選択します。
　Excel　　　⇒　スプレッドシートのインポート/エクスポート
　csv, text　⇒　テキストのインポート/エクスポート

#### ４.パスやファイル名等を記載する。
記載する項目にカーソルを合わせると詳細が表示されますが、ざっくり以下の通りです。

■Excel
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576431/94b89053-b783-6b6b-b6d3-76aea8d8ff17.png)


■csv, text
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576431/a69c17d0-ffb8-3fb8-c222-031b6a79be41.png)



また、マクロでは「②「保存済みのインポート操作」からファイルを取り込む」で登録したインポート操作をマクロに登録することもできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3576431/cc160dde-a452-5425-783a-c0f920a66c6a.png)


## まとめ
今回はAccess VBAを使用しない一般的な外部データの取込方法をまとめてみました。
特別な操作を必要としないデータであれば簡単にAccessに取り込むことができます。

個人的にAccessはVBAの記述が難解だと思うので...
できる限りマクロを使用してツールを作成するようにしています。
（マクロだけだとやりたいことが出来ない時の方が多いのですが...）
マクロだとデータの流れも分かりやすいですね。

以上、外部データの取込方法のまとめでした。
ツールの運用方法を考えて、うまくデータの取込方法を選択してみてください！


## ご案内
株式会社ジールでは、「ITリテラシーがない」「初期費用がかけられない」「親切・丁寧な支援がほしい」「ノーコード・ローコードがよい」「運用・保守の手間をかけられない」などのお客様の声を受けて、オールインワン型データ活用プラットフォーム「ZEUSCloud」を月額利用料にてご提供しております。
ご興味がある方は是非下記のリンクをご覧ください：
https://www.zdh.co.jp/products-services/cloud-data/zeuscloud/?utm_source=qiita&utm_medium=referral&utm_campaign=qiita_zeuscloud_content-area