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

  関連記事

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

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

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

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

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

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

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

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

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

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

CSVフィアルに接続(ADO)
CSVファイルに接続(ADO)

ADOでCSVファイルに接続 ADO を使用してCSVファイルを読み込みます。C …

Oracle(oo4o)接続サンプル1
データベース(Oracle)に接続する(oo4o)

oo4o 接続 OO4O(Oracle Objects for OLE)はWin …

ADO Access (参照設定)
データベース(Access 等)に接続(ADO)

ADO で、データベースに接続 外部データベースを操作する方法のひとつに ADO …

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

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

Parameters.Refresh エラー
クエリにパラメータを渡して結果を取得する(ADO)Command オブジェクト・Execute メソッド

クエリにパラメータを渡して結果を取得する手順 Command オブジェクトの作成 …