Crear un objeto Recordset de DAO desde una consulta

Puede crear un objeto Recordset basado en una consulta de selección almacenada. En el siguiente ejemplo de código, Current Product List hay una consulta de selección existente almacenada en la base de datos actual.

Dim dbsNorthwind As DAO.Database 
Dim rstProducts As DAO.Recordset 
 
Set dbsNorthwind = CurrentDb 
Set rstProducts = dbsNorthwind.OpenRecordset("Current Product List") 

Si aún no existe una consulta de selección almacenada, el método OpenRecordset también acepta una cadena SQL en lugar del nombre de una consulta. El ejemplo anterior se puede reescribir de la siguiente manera.

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) 

La desventaja de este método estriba en que la cadena de consulta debe compilarse cada vez que se ejecuta, mientras que la consulta almacenada lo hace la primera vez que se guarda, lo que normalmente se traduce en una leve mejora del rendimiento.

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.