AccessとExcelの連携パート1【Accessと連携する意味】

ExcelとAccessの連携

スポンサードリンク

※この記事は2017/8/12に再編集されています。

今回はこの【E-VBA】の中でも一番に人気があるシリーズ【 AccessとExcelの連携】のパート1を2017/8/12に再編集しましたのでご覧ください。

AccessとExcelの連携パート1【AccessとExcelを連携する意味】

 どうもtakaです。今回はAccessとExcelの連携という事で、実はExcel VBAを使用してAccessのデータベースを操作することができるんです。

私自身もこの手法を用いて自社のDBシステムを作成しています。(中小企業なので)

もともとはExcelだけを使用して作成していたのですが、データ量が増えていくにつれExcelの挙動が重くなってきたり、応答なしなどが増えてきて不安定な状態が続くようになり。大切なデータを扱う上で不安になるようになりました。

ですが。Excelにもともとあった印刷フォームなどはそのまま使いたい事や、会社自体も本格的なDB(データベース)システムを用意する予算もない。ならExcelとAccessを連携させてデータをAccessに保存しておいてExcel上で処理ができないかという考えてにいきつき、調べた結果この【AccessとExcelの連携】にいきつきました(。-∀-)

若干Excel VBA 初心者の方には若干難易度が高いかもしれません、ですがこの記事を見ていただいて【AccessとExcelを連携する意味】や実際にExcelからAccessに接続してExcelにAccessのデータを抽出してみて動かしてみることで何となくイメージをつかんでいただけたらと思います。

ExcelとAccessの連携

そもそも【AccessとExcelを連携する意味】は何か?

そもそも【AccessとExcelを連携する意味】は何か?それはExcelの限界にあります。

Excelはその特性上データベースに近い構成になっているため、中小企業ではDBとして扱われることも多々あるのではないでしょうか?ですがExcelは【表演算ソフト】です【データベースソフト】ではありません。

もちろんExcelでデータ保管は可能です。500人、1000人程度の管理でしたらExcelだけでも全く問題ありません。ですが10000人規模になってきますとExcelだけでは少々荷が重い状態になります。

そもそもソフトとしての使い方【役割】が違うわけですからしかたありません、そこで登場するのがExcelと同じOfficeソフトである【Accessです

聞いたことがないような方もいるかもしれません、少しばかりマイナーなソフトなので(。-∀-)

Accessとは?

AccessはMicrosoftOfficeシリーズのデータベースの専用ソフトです。データベースソフトなので顧客管理などを得意とするソフトです。

なぜそんなソフトがあるというのにAccessがマイナーなソフトかというと、、、

  1. なれないと構造が分かりにくい。レポートやクエリといった機能やフォームなども作らなければいけない。
  2. そもそも小規模名簿程度ならExcelで足りてしまう。
  3. Excelのほうが何をやるにしても敷居が低くとっつきやすい。

そう、全部Excelのせいなのです(※これは私の独断と偏見です。)

Excelが便利すぎてAccessの影が薄くなってしまうのです( *´艸`)

そもそもDB(データベース)には専門的な知識が少なからず必要になってきます。そうなると使い慣れているExcelで済ましてしまう用になってきてしまうのです。

ですがExcelで管理ができなくなり、Accessで作らないといけなくなった場合、知識を持った方しかDB(データベース)を使えない・・・となりますよね。

確かに使い慣れていないAccessを操作するには結構ハードルが高いかもしれません。ですが、そこで【AccessとExcelの連携】です!

AccessはDBに特化している分、計算やグラフ作成などが苦手です。

そしてExcelは表でのデータ管理はできますが関連したデータをつなぎ合わせて管理できる【リレーショナル データベース】のような使い方が苦手です。

お互いできない訳じゃありません。ただ苦手なだけなんです(笑)
ExcelとAccessを連携させることでお互いを補完しあう事で【計算が得意でDB管理もできるシステムが作成することができるのです

Excel上にAccessのデータを取り込みExcelで印刷や統計などを受け持つ。

データ自体はAccessの中にあるのでもし誤操作でExcel上で削除してしまっても、Accessにデータが残っていれば取り込み直せば元通りになります。

Accessを【倉庫】として扱う事で保存できるデータの件数も格段に上がります。

(Excelでは1048576行までですがAccessの場合はデータサイズ2GBまで保存可能です。)

 AccessとExcelの連携の手順

では実際にExcelからAccessデータベースに接続してみます。下記の手順を沿って行きます。

  1. Accessデータベースを作成しておく
  2. DBなのでAccessのデータベースにパスワードをおかけください。Access2013の場合ですがファイル→クライアントの設定→既定の暗号化方法を使用するを選択してください。
  3. ExcelのVBEを開き【ツール】→【参照設定】→MicrosoftActiveX Data Objects 6.1 Lidraryにチェックを入れてください。
  4. ThisWorkbookを選択してPrivate Sub Workbook_Open()

※このコードはbookを開いたときにAccessのデータを取り込むコードです。別の用途にも応用が利くのでうまく使ってください。そしてデータベースなので慎重に実践してください。

サンプルコード

実際にExcelからAccessデータベースに接続するコードをご紹介します。今回のコードはExcelBookが開かれたときにAccessに接続することを前提に作成されています。

※このコードは2017/8/12日に編集されています。

 

Accessにデータを登録するのは下記で紹介しています。

AccessとExcelの連携パート2【実際にプログラムを作ってみる】
AccessとExcelの連携パート2実際にプログラムを作ってみる前回はAccessのデータベースを読み込むコードを掲載しました、前回のプログラムを利用して実際に使えるAccess...

 

ブログランキング


【E-VBA】はブログランキングに登録しています(∩´∀`)∩


にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

人気ブログランキングへ

ファイルやコードの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

あることがキッカケでVBAを独学で勉強している、非IT企業の会社員。
今はVBAで出来ることを模索しながら別の開発言語の取得、基本情報技術者試験合格が目標