データベースをエクセルで操作する-2.Access他
14.11.05
バージョンアップ後の接続コード
A、Access(アクセス)
a、拡張子が、「.mdb」の場合
「cn.Open “Driver={Microsoft Access Driver (*.mdb)};” & _
”DBQ=フルパス;”」
b、拡張子が、「.mdb」「.accdb」の場合
「cn.Open “Driver={Microsoft Access Driver (*.mdb, *.accdb)};” & _
”DBQ=フルパス;”」
b により「.accdb」ファイルが、接続できるようになります。
ただし、「Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント」をダウンロードしないと接続できない場合がある。(私のPCはそうでした。)
ダウンロード⇒[・・・再頒布可能コンポーネント ]
B、Excel(エクセル)
a、拡張子が、「.xls」の場合
「cn.Open “Driver={Microsoft Excel Driver (*.xls)};” & _
”DBQ=フルパス;”」
b、拡張子が、「.xls」「.xlsm」「.xlsx」「.xlsb」の場合
「cn.Open “Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};” & _
”DBQ=フルパス;”」
b により、マクロ有効book「.xlsm」ファイルが、接続できるようになります。
ただし、A、Accessと同様に「Microsoft Access データベース エンジン 2010 再頒布可能コンポーネント」をダウンロードしないと接続できない場合がある。
C、Mysql
a、「MySQL Connector/ODBC 5.1」の場合
cn.Open “DRIVER={MySQL ODBC 5.1 Driver};” _
b、「MySQL Connector/ODBC 5.3」の場合
cn.Open “DRIVER={MySQL ODBC 5.3 Unicode Driver};” _
DRIVER の記載に少し変更がある。
接続と切断(Mysql、Acccess、CSV、Excel)
「.accdb」、「.xlsm」「.xlsx」「.xlsb」でも通用するようにコードを整理しました。最低これだけあれば、事足りるようです。もちろん「.mdb」、「.xls」もOKです。
Option Explicit/モジュールのTOP(既に記述している場合は不要)
接続と切断/モジュールの適当な場所
※モジュールにコピペすると「半角スペース」が、「?」に文字化けする場合がある、修正してご使用ください。
Visual Basicの設定
1、エクセルを開き、開発タブのVisual Basicをクリック
2、ツールタブの参照設定を選択
3、「Microsoft ActiveX Data Objects *.* Library」の最新バージョンを選び、OK
4、挿入タブの標準モジュールを選択
5、標準モジュールが挿入される
1 |
2 |
3 |
4 |
5 |
抽出、読込み
A、Access(アクセス)の場合
1、データベース「pl2.accdb」にテーブル「PL」を作成し、
2、2014.10月~2015.3月のデータを登録しています。
3、モジュールに下記のコードを記述。
4、ボタンに関連付け、4 のように整える。
5、ボタンを押すと、6ケ月分の合計が抽出される。
1 |
2 |
4 |
5 |
3、抽出/モジュールの適当な場所
※モジュールにコピペすると「半角スペース」が、「?」に文字化けする場合がある、修正してご使用ください。
B、Excelファイルのデータを読み込む
1、「会計ソフト.xlsm」に某会計ソフトからデータを読込ませていると仮定します。
2、モジュールに下記のコードを記述。
3、ボタンに関連付け、整えた後、ボタンを押すとデータが読込まれます。
1 |
3 |
2、読込み/モジュールの適当な場所
※モジュールにコピペすると「半角スペース」が、「?」に文字化けする場合がある、修正してご使用ください。
C、CSVファイルのデータを読み込む
1、「Numbers3.csv」からデータを読込ませます。
2、モジュールに下記のコードを記述。
3、ボタンに関連付け、整えた後、ボタンを押すとデータが読込まれます。
1 |
3 |
2、読込み/モジュールの適当な場所
※モジュールにコピペすると「半角スペース」が、「?」に文字化けする場合がある、修正してご使用ください。