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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

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

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

データベース(SQLServer)接続
データベース(SQL Server)に接続する(ADO)

データベース(SQL Server)に接続 ODBC または OLE DB で接 …

Recordsetオブジェクト内のカーソル移動
カレントレコードの移動(ADO)MoveFirst、MoveLast、MoveNext、MovePrevious、Move

MoveFirst メソッド、MoveLast メソッド、MoveNext メソ …

RecordCount プロパティ(ADO)
Recordset オブジェクト内のレコード数(ADO)RecordCount プロパティ

RecordCount プロパティ Recordset オブジェクトのレコード数 …

ADO Fields コレクション
フィールド名(ADO)Fields コレクション

Fields コレクション Recordset オブジェクト内の1つ以上の列(フ …

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

CopyFromRecordset メソッド ADO の Recordset オ …

Filter プロパティ(ADO)
レコードを指定した条件で抽出する(ADO)Filter プロパティ

データベースのレコードを指定した条件で抽出する Filter プロパティ 【書式 …

AddNew メソッド(ADO)
レコードの追加(ADO)AddNew メソッド,Update メソッド

データベースにレコードを追加する AddNew メソッド 新規レコードを追加し、 …

ora ファイル
データベース(Oracle)に接続する(OLE DB を使用)

OLE DB プロバイダ OLE DBには、Oracle 提供の Oracle …

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

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