この記事では、エクセル・アクセス連携システムの構築に向けて、機能分担等を解説していきます。
VBA在庫管理システムVer02
エクセル・アクセス連携
エクセルをデータベースにシステム作成すると、データ量が増えるにつれ動作が不安定になっていきます。また、データ取り出し時には、関数などの処理時間の遅さが気になってきます。
そこで、データベースソフトであるアクセスを使用し、エクセルと連携させることで、データ量に負けないシステムを構築します。
システムはVBA在庫管理システムVer01を改修して、データ保管ファイルを在庫管理DATA.xlsx からアクセスに移管していきます。
エクセル・アクセスの比較
表計算ソフトであるエクセルと、データベースソフトであるアクセスの、優位差を比較していきます。
1. データ保管
エクセル:104.8万行×1.6万列
アクセス:2Gb
DBシステムとして最適化されているアクセスが安定してデータ保管でき、最大容量も大きいです。
2. データ抽出
エクセル:関数・フィルター機能
アクセス:クエリ作成機能
エクセルの関数・フィルター機能での抽出は、速度・安定性・信頼性などに欠けますが、DBシステムとして最適化されているアクセスのクエリ機能での抽出は、エクセルに対して優れています。
また、テーブルの結合はRDBであるアクセスの最も得意なところで、エクセルに対する大きな優位差と言えます。
3. フォーム
エクセル:VBAユーザーフォーム機能
アクセス:フォーム作成機能
アクセスで作成するフォームは、基本的にはデータと連結しているため、複数人で共有すると、データが破損する場合があります。また、作成機能の習得が難しく、設計自由度も少ないです。
エクセルのVBAのユーザーフォーム機能を習得していれば、エクセルのフォームの方がつくりやすいでしょう。
4. レポート
エクセル:ワークシート利用
アクセス:レポート作成機能
アクセスで作成するレポートは、作成機能の習得が難しく、設計自由度も少ないです。
普段から使い慣れた、エクセルの方がつくりやすいでしょう。
以上より、データ保管・データ抽出のデータ管理部分をアクセスに、フォーム・レポートのユーザーインターフェイス部分をエクセルに受け持たせた、エクセル・アクセス連携システムを構築します。お互いのメリットを活用でき、データ量に対応したシステムとしていきます。
アクセスの使用にあたって
アクセスはエクセルに対して、普段から使用している人は少ないと思います。
今回はエクセルとの連携を前提にしていますので、アクセスの使用に関しては、テーブル及びクエリ機能のみの解説で進めていきます。
ただし、データベースを使用しますので、テーブル設計の基礎となる正規化は避けて通れません。
運用ベースのデータベースですので、難しく考えず、第3正規化までを押さえましょう。
エクセルVBAのアクセス連携
エクセルVBAでデータベースと連携するには、ADOという機能を利用します。
基本を押さえれば、定型文としてVBAに取り込むだけですので、解説を確認してみましょう。
次回から、VBA在庫管理システムVer02を作成していきます。
まずは、データベースの作成から進めていきます。
www.minizaiko.com