☆Yuus Memo☆
非エンジニアの方でも業務を効率化できるプログラムを紹介します!
VBA

【VBA】データベースを扱うチュートリアル 準備編①

Excel VBA

皆さんこんにちは!

今回から何回かの記事に分けて、EXCELのVBAでデータベースを扱うチュートリアルを書いていきたいと思います。

データベースというと、専門性が高く、EXCELから操作するのは難しいと思っている人が多いかと思います。

このチュートリアルでは、「社員管理」を行うデータベースを作成し、それをEXCELからVBAで操作・管理するコードを書き、データベースとの連携を身に着けていただく事が目的です。

今回のVBAチュートリアルで使用するデータベースは、「MariaDB」というデータベースを使用します。

VBAで使用するデータベースと言えば、「Access」を想像する方が多いかも知れませんが、「Access」は一般的な中小企業で使用しているPCには、あまりインストールされていませんし、ライセンスも高額です。

なので今回は、皆さんが実際に自分の会社に導入していきやすいよう、無料の「MariaDB」を使用して実装していきます。

AccessやSQLServerなど、他のDBMSを使用しても同じものが作れます。
Accessなどのライセンスをお持ちの方は、Accessなどで作業していただいても問題ありません。

MariaDBの準備

EXCELは既にインストールされているものとして、まず、データベースを使用できる様にする必要があります。

今回は「XAMPP」というソフトをインストールしていただき、「MariaDB」を使用できる様にしていきます。

簡単に「XAMPP」とは、Webアプリケーションの実行環境を構築するソフトウェアです。
簡単に言うと、Webページをローカルで動かすために必要なソフトの集合位に考えていただいて結構です。

XAMPPのインストール

インストール方法は、こちらの記事にまとめてあります。

outlook
【Windows10 PHPローカル環境構築】 学習用途や、開発のテスト環境のために、わざわざサーバーを用意したりVagrantや VirtualBoxの様な初心者には扱いが難しいソ...

基本的に公式サイトからインストーラをダウンロードして、初期値のままインストールするだけです。

XAMPPをインストールしておくと、「Wordpress」なんかも使用できる様になるので、今回のチュートリアルをAccessなどで行う方も入れてみることをお勧めします。

MariaDB起動

インストールが終わったら、下の画像の様なダイアログが開くので、「Apache」と「MySQL」をきどうしてください。
※図の様に「Apache」と「MySQL」の背景が緑色になればOKです。

これで、Webサーバーとデーターベースサーバーの起動が完了しました。

試にインターネットブラウザで下記アドレスを開いてみてください。
※下のリンクをクリックしても開きます。

http://localhost/phpmyadmin/

こんな感じの画面が開きましたか?

これが、データベースの管理画面で、この中にデータベースを作成していきます。

データベースの作成

それでは、いよいよデータベースを作成していきます。

作成と言っても何も難しいことは無く、「phpMyAdmin」の画面の左上部にある「新規作成」をクリックして下さい。

画面がデータベース作成画面へ推移するので、データベース名を

employee

として、「作成」をクリックして下さい。

これだけで、空のデータベースが出来上がります。

ユーザーテーブル作成

データベースは出来上がりましたが、現在は何もデータを入れることが出来ない空の状態です。

データベースでは、データを入れる、「テーブル」と呼ばれる入れ物を定義する必要があります。

EXCELで言うところの表(Sheet)のイメージです。

恐らく、データベースを作成後、テーブル作成画面へ移動していると思いますので、テーブル名を

users

として、列数を「9」として作成をクリックして下さい。

移動した画面で次の様にテーブルの列を定義してください。
※意味は分からなくても画像の通りに定義してください。

「users」の列
列名データ型サイズ備考
idint「AI」にチェック(PRIMARYキー)
cdvarchar5
namevarchar30
addressvarchar40
telvarchar20
department_idint
start_datedate
end_datedate
sextinyint

これで、従業員を管理するテーブルが完成しました。

列の意味やデータ型等は、VBAのコードを実装していく段階で順を追って説明していきます。

部門テーブルの作成

先程「users」テーブルを作成したときに「department_id」という整数型の列を定義したと思います。

department_id」は、従業員が所属する部門を管理する列になります。
リレーショナルデータベースでは、複数個のテーブルに関連性を持たせ、一意の値で紐づけてデータを管理します。

それでは、部門を管理するテーブルを定義していきます。
先程と同じようにphpMyAdminの画面で、テーブルの「新規作成」をクリックし、テーブル名を「departments」して、列数を「5」にし、次の様に定義してください。

departments」の列
列名データ型サイズ備考
idint「AI」にチェック(PRIMARYキー)
cdvarchar10
namevarchar20
start_datedate
end_datedate

部門を管理するテーブルが出来ました。
departments」テーブルの「id」を、「users」テーブルの「department_id」に保存することにより、従業員が所属する部門が取得できる様になります。

一意の値で紐づいたデータを取得する考え方は、Excel関数の「Vlookup」などに似ている考え方なので、効率的にデータを管理するためのものだと考えてください。

まとめ

チュートリアルの初回は、ここまでです。
何をやっていたか理解できない人も問題ありません。

次回の記事でもテーブルを定義するので、このチュートリアルを終える頃には、ある程度データベースを触れるようになっているはずです。

また、VBAのレベルもデータベースとの連携を行う事により、格段に上がり出来る事の範囲が飛躍的に広がるので、最後まで頑張って取り組んでください。

分からない部分やつまずいた部分がありましたら、お気軽にコメントいただければ解説致します。

最後まで、お読みいただきありがとうございました!
次回もよろしくお願いします!!


コメントを残す