ExcelデータとAccessをリンクする

今回のテーマは「ExcelデータとAccessをリンクする」です。

前回は「Accessを活用する方法」をお届けしました。私の場合「データベースソフトなどと難しく考えずに『データ処理』をAccessにお任せしたらいかがです?」という考えです。会社やチームスポーツと同じように「適材適所で働く」ということです。もちろんExcelはデータ処理もできます。しかし、Excel以上にデータ処理能力のあるAccessがあるなら、それを採用しない手はありません。そこで、私が行ってきたAccessを介したデータ処理を前回に引き続きご紹介です。

Excelにある「基データ」を、Accessにてデータ処理をし、Excelで加工しやすいデータにしてエクスポートするという流れです。この「Accessにてデータ処理」という一手を加えることにより、事務処理は劇的にスピードアップします。

このAccessを用いた一連の流れを「まずは体験してもらいたい」ということを前提に話を進めていきます。そのため「え?そこの説明は?」という部分もありますが「まずは体験してもらいたい」という思いがありますので、途中の疑問は少し置いておいてしばしお付き合いください。

スポンサーリンク

今回のデータ処理の目的を確認する

今回は、用意されたExcelデータより「指定された日の売上データを抽出する処理」をAccessで行い、その抽出されたデータをExcelデータとしてエクスポートします。

今「その程度の処理ならExcelで十分でしょ?」と思われた方がいましたら「この処理を何十万件もあるデータに対して行う場合」や「他の人もその基データを使いたい場合」を想像してみてくださいね。今後は、Excelの基本機能では難しいであろう処理も登場しますので安心してください。まずはAccessでの処理を体験!です。全集中の呼吸でいきましょう!

Excelデータを用意する

さて、今回使用するデータは以下でダウンロードできます。保存場所はわかりやすくデスクトップにしておきます。

⇒Sample_Sales_Data.xlsx

中身を確認してみましょう。Excelファイルを開いてください。

Accessにてデータ処理を行う場合は、このような「きれいなデータ」である必要があります。

・1行目は「項目名」にする。
・各項目のデータは「全角半角の混同」や「項目以外のデータを入れない(氏名に日付を入れるなど)」といったルールを守る。
・データ処理に不要な「グラフ」や「画像」などを入れない。
・セルの結合などは大問題!即解除しておきましょう!

と他にも色々ありますが、ざっくりとこんな感じのルールがあります。単純に言うと、Accessでの処理に適したデータは「シンプルなもの」でいいのです。

これは、Excelのみでデータ処理を行う場合も同じです。例えば、4半期売上のみを管理した場合、月ごとの売上や日別の売上へと細分化することは出来ませんが、日別の売上データがあれば、月ごとや四半期ごとなどの集計は可能です。データを処理する場合は「一番細分化されたデータがシンプルに揃っていること」が重要なのです。そのため、今回のサンプルデータは「注文ごとの売上データ」がずらっと並んでいます。それでは、次の作業のために「Sample_Sales_Data.xlsx」は閉じておきましょう。

Accessを起動/保存する。

それでは、ここからはAccessを操作していきます。

1,Accessを起動します。

2,「空のデータベース」をクリックします。

3,このAccessファイルを保存する場所を確認してきますので、デスクトップを指定してください。ファイル名は「Sample_Database.accdb」にします。入力が確認できましたら「作成」をクリックします。

このような画面が表示されたかと思います。

『テーブル1』が表示されていて、何やらデータを入力するような感じがしますね。余談ですが、昔のAccessはこのテーブルすら表示されず「何も入力する場所ないんだけど…」と困惑させられたモノです。テーブルとは、先ほどの「Sample_Sales_Data.xlsx」のような「表形式のデータ」のことです。

4,今回は、この『テーブル1』は使用しませんので、タブの×ボタンで閉じてください。

続いて、Accessを閉じます。

5,右上の×ボタンをクリックします。

これでAccessが終了しました。

再度起動する場合は、Excelファイルなどと同じようにダブルクリックで起動させることが出来ます。

6,デスクトップにある「Sample_Database.accdb」をダブルクリックします。

※「セキュリティの警告」が表示された場合は、『コンテンツの有効化』をクリックします。

7,これで「Sample_Database.accdb」が起動しました。

ExcelデータをAccessへリンクする

ここからは、先ほどのExcelデータをAccessでも利用できるように「リンク」をします。Excelでやる「別シート」や「別ファイル」へのリンクと同じイメージです。それでは、操作をしていきます。

1,上記メニューより[外部データ]をクリックします。

2,続いて[新しいデータベース]>[ファイルから]>[Excel]の順でクリックをします。

3,「オブジェクトの定義のソースを指定します。」にある「ファイル名」を基データである先ほどデスクトップへ保存したExcelファイル「Sample_Sales_Data.xlsx」を指定します。右側の『参照』からでも『直接パスを入力』でも構いません。

4,続いて「リンクテーブルを作成してソースデータにリンクする」を選択してください。

5,「ファイル名」と「リンクテーブルを作成してソースデータにリンクするへの選択」がされていることを確認出来たら『OK』をクリックしてください。

6,「先頭行をフィールド名として使う」にチェックを入れます。入っていることが確認できましたら『次へ』をクリックします。

7,「リンクしているテーブル名」が「Sample_Sales_Data」となっていることが確認できましたら『完了』をクリックします。

8,「~リンクしました」というメッセージが表示されますので『OK』をクリックします。

9,これで「Excelデータへのリンク」が完了しました。

リンクテーブルを確認する

先ほどの操作で、ExcelデータをAccessへリンクさせることが出来ました。ちょっと操作してみましょう。

1,左のウィンドウにある『Sample_Sales_Data』をダブルクリックしてください。

2,このようにAccess内でExcelのデータを開くことが出来ます。

これはあくまでも「Accessで使える状態にした」だけですので、Excelのようにこのテーブル(データ)を直接操作することはありません。

3,今回の操作は以上です。右上の×ボタンでAccessを終了させてください。保存するかなどのメッセージが表示されましたら「はい」でお願いします。

今回のおさらい

今回は「ExcelデータとAccessをリンクする」をお届けしました。シンプルなExcelデータを用意して、Accessでデータ処理をするための下準備である「テーブルのリンク」をしました。

リンクの操作方法は繰り返すことで覚えていきますので、すぐに覚えられなくても心配はいらないです。トランキーロ、焦らないでくださいm(_ _ )m

今回、特に大事なのは、

・Accessで処理するデータは「シンプル」であること
・1行目は「項目名」にする。
・各項目のデータは「全角半角の混同」や「項目以外のデータを入れない(氏名に日付を入れるなど)」といったルールを守る。
・データ処理に不要な「グラフ」や「画像」などを入れない。
・セルの結合などは大問題!即解除しておきましょう!見た目重視の「装飾」はしない!

というところです。これはAccessのみならずExcelにも通ずる考え方になりますので、大切にしていただきたいです。

次は、このリンクしたテーブル(Excelデータ)を使用して、データの抽出を行います。

次回

「わからないじゃなくて知らないだけ。クエリなんて簡単だ!」

ぜってぇ見てくれよなっ!