CREATE PROCEDURE ステートメント、PROCEDURE 句の使用例

次の例では、クエリに "CategoryList" という名前を付けます。

この例では、EnumFields プロシージャを呼び出しています。EnumFields プロシージャの内容は SELECT ステートメントの例の中にあります。

Sub ProcedureX()

    

    Dim dbs As Database, rst As Recordset

    Dim qdf As QueryDef, strSql As String

    

    ' この下の行を、使用しているコンピュータ上の

    ' Northwind のパスに変更してください。

    Set dbs = OpenDatabase("Northwind.mdb")

    

    strSql = "PROCEDURE CategoryList; " _

        & "SELECT DISTINCTROW CategoryName, " _

        & "CategoryID FROM Categories " _

        & "ORDER BY CategoryName;"

    

    ' SQL ステートメントに基づいて

    ' 名前付き QueryDef を作成します。

    Set qdf = dbs.CreateQueryDef("NewQry", strSql)

    

    ' 一時的なスナップショット タイプの

    ' Recordset を作成します。

    Set rst = qdf.OpenRecordset(dbOpenSnapshot)

    ' Recordset を作成します。

    rst.MoveLast

            

    ' EnumFields を呼び出し、Recordset の内容を

    ' 出力します。Recordset オブジェクトと

    ' 必要なフィールド幅を渡します。

    EnumFields rst, 15

    

    ' ここではデモとして QueryDef を削除します。

    dbs.QueryDefs.Delete "NewQry"

    

    dbs.Close

    

End Sub