ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

Excel VBA のクラスを使ってデータベースへ接続する(ADO)

      2018/07/16

データベースの処理をクラスモジュールに書く

ExcelVBAで、クラス使用する方法の詳細については、VBAで、クラスを作成(クラスモジュール・インスタンス) を参照してください。
また、ADOで、データベースに接続する方法に関しては、Excel VBA データベース(ADO) を参照してください。

データベースへの接続をクラスを使用して処理する例です。
ここでは、データベースへの接続・解除、トランザクションの処理等をクラスモジュールに記述します。クラス名は「DBConnection」とします(サンプルVBAソース その1)。
実際にクラスを利用するには、標準モジュールを使用します。
・「Access に接続し、重複レコードを削除」(サンプルVBAソース その2
・「Excel にデータベースとして接続しデータを表示」(サンプルVBAソース その3


サンプルVBAソース その1(クラスモジュール)



サンプルVBAソース その2(標準モジュール)


実行結果

サンプルVBAソースその2 実行前の Access(mydb1.accdb)テーブル6

DB Class Access 重複レコードの削除1

サンプルVBAソースその2 実行後の Access(mydb1.accdb)テーブル6

DB Class Access 重複レコードの削除2



サンプルVBAソース その3(標準モジュール)


実行結果

DB Class Excel へ接続



 - データベース , , , , , , , , , , , ,

Message

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

ADOX テーブルの作成
テーブルの作成・削除/フィールドの作成・削除(ADOX)

ADOX を使用してテーブル・フィールド(列)を作成・削除 Table オブジェ …

ADOX クエリを作成
クエリの作成・削除(ADOX)

ADOX を使用してクエリを作成・削除 クエリを作成する手順 【書式】 <参照設 …

CopyFromRecordset メソッド
Recordset オブジェクトの内容をワークシートにコピーする(CopyFromRecordset メソッド・ADO)

CopyFromRecordset メソッド ADO の Recordset オ …

データベース(MySQL)接続
データベース(MySQL)に接続する(ADO)

MySQL ODBCドライバ Windowsには標準で、いくつかの ODBC ド …

ADOX インデックスを作成する1
インデックス、プロパティの設定(ADOX)

インデックスを作成する index オブジェクト 【書式】 <CreateObj …

SQL実行結果
データベース(Oracle)に接続する(ODBC を使用)

ODBC接続(ADO) ADOで、ODBC(Open Database Conn …

ADOX データベース作成1
データベースを作成する(ADOX)

ADOX を使用してデータベース(Access)を作成 Catalog オブジェ …

Delete メソッド(ADO)
レコードの削除(ADO)Delete メソッド

データベースのレコードを削除する Delete メソッド カレントレコードを削除 …

Excelに接続する(ADO)
Excelファイルに接続(ADO)

ADOでExcelファイルに接続 ADO を使用してExcelファイルを読み込み …

Command.Execute Insert Into 文
SQL文を実行する(ADO)Execute メソッド

Command オブジェクトの Execute メソッドで、SQL文を実行 Co …