格納されている選択クエリに基づいて Recordset オブジェクトを作成できます。 次のコード例では、 Current Product List
現在のデータベースに格納されている既存の選択クエリです。
Dim dbsNorthwind As DAO.Database
Dim rstProducts As DAO.Recordset
Set dbsNorthwind = CurrentDb
Set rstProducts = dbsNorthwind.OpenRecordset("Current Product List")
格納されている select クエリがまだ存在しない場合、 OpenRecordset メソッドはクエリの名前ではなく SQL 文字列も受け入れます。 前の例は次のように書き直すことができます。
Dim dbsNorthwind As DAO.Database
Dim rstProducts As DAO.Recordset
Dim strSQL As String
Set dbsNorthwind = CurrentDb
strSQL = "SELECT * FROM Products WHERE Discontinued = No " & _
"ORDER BY ProductName"
Set rstProducts = dbsNorthwind.OpenRecordset(strSQL)
この方法の欠点は、実行のたびにクエリ文字列のコンパイルが必要なことです。一方、格納されたクエリは初回の保存時にコンパイルされるので、パフォーマンス面ではこちらの方がやや優れています。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。