データベースをエクセルで操作する-1.Mysql
14.11.07
前提:ローカルPCにXAMPPがインストールされ、ApacheとMySqlが、稼働していること
特徴:ローカルPCのみで使用可能
方法:「ADO」ODBCドライバーを使う
接続と抽出
A、エクセルとMySqlの接続を可能すため、「MySQL Connector/ODBC *.*」をダウンロードする。
「MySQL Connector/ODBC 5.1」は、Webで表示した場合に、日本語の文字化け問題があります(エクセルでは、支障ありませんが・・・)。「MySQL Connector/ODBC 5.3」をダウンロードすることお薦めします。
ダウンロード⇒Download Connector/ODBC
B、「phpMyAdmin」でデータベースとテーブルを作成
1、データベース:test、テーブル:goods を作る。エクセルが「sjis」仕様のため、照合順序は、「sjis」にする。
2、データを数件、入力しておきます。
1 |
2 |
C、Visual Basicの設定
1、エクセルを開き、開発タブのVisual Basicをクリック
2、ツールタブの参照設定を選択
3、「Microsoft ActiveX Data Objects *.* Library」の最新バージョンを選び、OK
4、挿入タブの標準モジュールを選択
5、標準モジュールが挿入される
1 |
2 |
3 |
4 |
5 |
D、標準モジュールに下記のコードを記述する
a.Option Explicit
b.接続、切断
Mysqlに設定しているものをいれます。サンプルでは、
”SERVER=localhost;” は、サーバー名「localhost」
”DATABASE=test;” は、データベース名「test」
”UID=root; OPTION=3;” は、ユーザーID「root」、OPTION=3は、そのまま
”PASSWORD=*****” は、パスワード「*****」
c.全件抽出
Call a02_InODBCは、接続コードを呼び出して実行します。
Call a09_OutODBCは、切断コードを呼び出して実行します。
一旦、モジュールを閉じます。
a.Option Explicit/モジュールのTOP
b.接続、切断/モジュールの適当な場所
c.全件抽出/モジュールの適当な場所
※モジュールにコピペすると「半角スペース」が、「?」に文字化けする場合がある、修正してご使用ください。
E、実行ボタンの作成
1、開発タブ⇒挿入⇒「ボタンマーク」アイコン
2、シート上で左クリックしたまま広げると、2 のような画面がでてくる。
「b1_mysql抽出goods」を選んでOKをクリック
3、出てきたボタンに適当な名前を付けて整える。
4、マクロの実行
ボタンを押すと、「goods」テーブルの全件が、指定した場所に抽出されます。
1 |
2 |
4 |