Partager via


Créer un jeu d’enregistrements DAO à partir d’une requête

Vous pouvez créer un objet Recordset basé sur une requête select stockée. Dans l’exemple de code suivant, Current Product List est une requête select existante stockée dans la base de données active.

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

S’il n’existe pas encore de requête select stockée, la méthode OpenRecordset accepte également une chaîne SQL au lieu du nom d’une requête. L’exemple précédent peut être réécrit comme suit.

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) 

Le désavantage de cette approche est que la chaîne de la requête doit être compilée à chaque fois qu'elle est exécutée, alors que la requête stockée est compilée la première fois qu'elle est enregistrée, ce qui se traduit en général par des performances légèrement meilleures.

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.