Microsoft Access Club >ADOX入門講座 >このページ >次頁 < 前項  サイト内検索
 

ADOXを用いてアクションクエリを作成する : ADOX入門講座



ADOX機能を用いてアクションクエリやパラメータを持つ選択クエリを作成するには、Proceduresコレクションに新規ProcedureオブジェクトをAppendメソッドを用いて追加する形式をとります。クエリフィールド等の指定は、ADOのコマンドテキスト設定を利用します。

留意事項
  • Proceduresコレクションは、パラメータを含んだ選択クエリとアクションクエリを管理するコレクションです。
  • ADOとADOXを利用しますので、共に参照設定が必要になります。

アクションクエリ作成の基本構文

アクションクエリを作成するADOXの構文は、以下のようになります。

Collection.Procedures.Append "新規クエリ名", Cmd
解説
項目 意味
Collection 開いているコレクションです。
Procedures 開いているProceduresコレクションです。
Append Appendメソッドです。
新規クエリ名 作成し追加するプロシージャの名前を指定する文字列型の値を指定します。
Cmd 作成し追加するプロシージャを表すADO の Command オブジェクトを指定します。
ADOのコマンドテキスト設定

クエリフィールドの追加設定は、ADOのコマンドテキストを利用します。

cmd.CommandText = SQL構文

ADOXを用いてアクションクエリを作成する

このプロシージャを実行すると、「kakuchoshi」フィールドの値の先頭にピリオド(.)を付加するアクションQ_providerクエリが新規作成されます。なお、元になるtbl_providerテーブルは、以下のとおりです。

ID FileName kakuchoshi
1 Access mdb
2 Access_MDE mde
3 Excel xls
4 Word doc
作成までの流れ
  1. Catalogオブジェクトを開きます。
  2. 新規にCommandオブジェクトを作成します。
  3. CommandオブジェクトのCommandTextプロパティにSQLステートメントを記述します。
  4. ProceduresコレクションにCommandオブジェクトを追加します。
  5. コレクションにオブジェクトを追加するにはAppendメソッドを利用します。
留意点
  • アクションクエリを作成するだけであって実行するのではありません。
プロシージャの作成
Sub MyCreateQuery()

    On Error GoTo エラー

    Dim Cat As New ADOX.Catalog
    Dim Cmd As New ADODB.Command
    Dim mySQL As String

    Cat.ActiveConnection = CurrentProject.Connection
    mySQL = "UPDATE tbl_provider "
    mySQL = mySQL & "SET kakuchoshi = '.' & kakuchoshi;" ' ---A

    Cmd.CommandText = mySQL ' --- B
    Cat.Procedures.Append "Q_provider ", Cmd ' --- C

    Set Cat = Nothing
    
    Exit Sub
    
エラー:

    If Err.Number = -2147217816 Then
        MsgBox "既に同名のクエリが存在します。", vbCritical
    Else
        MsgBox "エラーID : " & Err.Number & vbNewLine & Err.Description, 16
    End If

End Sub
 
解説
  1. アクションクエリのSQLを記述します。
  2. コマンドテキスト設定します。
  3. ProceduresコレクションにProcedureオブジェクトを追加します。
動作確認
  1. データベースウィンドウに以下のようにクエリが作成されます。

  1. 作成されたクエリを実行するとtbl_providerテーブルのデータは、以下のようになっています。

関連ページ

2005/10/23

ページの先頭へ 前ページへ戻る


ADOXを用いてアクションクエリを作成する : ADOX入門講座


 

-Microsoft Access Club-

動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。データセンター設置場所はアメリカ合衆国です。: 動画サーバードットコム
動画配信(ダウンロード、ストリーミング)対応の専用レンタルサーバー。
データセンター設置場所はアメリカ合衆国です。
100Mbps〜1Gbpsまで対応できます。