次の方法で共有


クエリから DAO レコードセットを作成する

格納されている選択クエリに基づいて 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 のサポートおよびフィードバックを参照してください。