Criar um Conjunto de Registros de DAO usando uma consulta

Descreve como criar um objeto Recordset com base em uma consulta seleção armazenada. No exemplo código a seguir, Current Product List é uma seleção de consulta existente no banco de dados atual.

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

Se não houver uma consulta seleção armazenada, o método OpenRecordset aceitará também uma cadeia de caracteres SQL no lugar do nome de uma consulta. O exemplo anterior pode ser reescrito da seguinte maneira.

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) 

A desvantagem dessa abordagem é que a cadeia de caracteres da consulta deve ser compilada a cada execução, já que a consulta armazenada é compilada a primeira vez em que é salva, o que normalmente resulta em um desempenho um pouco melhor.

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.