ExcelWork.info

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

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

   

ADOX を使用してクエリを作成・削除

クエリを作成する手順

【書式】

<参照設定を行う場合>
‘データベース接続
Set cat = New ADOX.Catalog
cat.ActiveConnection = [接続文字列]

‘クエリを作成
Set cmd = New ADODB.Command
cmd.CommandText = [SQL文]
cat.Views.Append [クエリ名] ,cmd

<CreateObject関数を使用する場合>
‘データベース接続
Set cat = CreateObject(“ADOX.Catalog”)
cat.ActiveConnection = [接続文字列]

‘クエリを作成
Set cmd = CreateObject(“ADODB.Command”)
cmd.CommandText = [SQL文]
cat.Views.Append [クエリ名] ,cmd


参照設定を行うライブラリファイルについて


Microsoft ActiveX Data Objects 6.1 Library、Microsoft ADO Ext.6.0 for DDL and Security を選択します。ただし、Office 等のバージョンにより、ADO、ADOX のバージョンも異なります。参照設定の方法については、ファイルシステムオブジェクト(FileSystemObject)の使い方 を参照してください。

CreatObject 関数 を使用する場合は、参照設定の必要はありませんが、VBE で、自動メンバ表示等のコーディング支援機能が使用できません。また、マクロの実行速度も遅くなります。

Command オブジェクトの詳細は、クエリにパラメータを渡して結果を取得する(ADO)Command オブジェクト・Execute メソッド を参照してください。

Catalog オブジェクトの詳細は、データベースを作成する(ADOX) を参照してください。



Views コレクション

【書式】

object.Views

<View オブジェクトを Views コレクションに追加する>
object.Views.Append Name, Command

<Views コレクションから View オブジェクトを削除する>
object.Views.Delete Name


引数・戻り値

  • object  ・・・  対象となる Catalog オブジェクトを指定します。
  • Name  ・・・  作成するビューの名前を表す文字列型(String)の値を指定します。
  • Command  ・・・  作成するビューを表す ADO の Command オブジェクトを指定します。

Views.Append メソッドで、Access のクエリを作成することができます。Command オブジェクトCommandText プロパティに、SQL文を指定します。

Views.Delete メソッドで、Access のクエリを削除することができます。



ADOX を使用してクエリを作成・削除する例


サンプルVBAソース その1


実行結果

ADOX クエリを作成


サンプルVBAソース その2


サンプルVBAソース その3


実行前

ADOX クエリを作成


実行後

ADOX クエリを削除


サンプルVBAソース その4


実行結果

ADOX アクションクエリ(削除クエリ)の作成



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

Message

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

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

  関連記事

ADOX テーブル名・クエリ名を取得
テーブル名、クエリ名の取得(ADOX)

テーブル名の取得 Table.Type プロパティ 【書式】 <取得> obje …

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

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

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

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

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

データベースの処理をクラスモジュールに書く ExcelVBAで、クラス使用する方 …

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

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

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

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

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

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

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

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

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

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

Sort プロパティ(ADO)
レコードを並べ替える(ADO)Sort プロパティ

データベースのレコードを並べ替える Sort プロパティ 【書式】 object …