Recordset2.Requery, méthode (DAO)
S’applique à : Access 2013, Office 2013
Met à jour les données dans un objet Recordset en exécutant de nouveau la requête sur laquelle l’objet est basé.
Syntaxe
expression . Requery(NewQueryDef)
Expression Variable qui représente un objet Recordset2 .
Paramètres
Nom |
Obligatoire/facultatif |
Type de données |
Description |
---|---|---|---|
NewQueryDef |
Facultatif |
Variant |
Représente la valeur de la propriété Name d’un objet QueryDef. |
Remarques
Utilisez cette méthode pour vous assurer qu’un objet Recordset contient les données les plus récentes. Cette méthode renseigne à nouveau l’objet Recordset actif à partir des paramètres de la requête actuelle ou (dans un espace de travail Microsoft Access) de ceux, nouveaux, fournis par l’argument newquerydef.
Si vous ne spécifiez pas d’argument newquerydef, l’objet Recordset est de nouveau renseigné à partir de la définition et des paramètres de requête déjà utilisés pour renseigner l’objet Recordset à l’origine. Any changes to the underlying data will be reflected during this re-population. If you didn't use a QueryDef to create the Recordset, the Recordset is re-created from scratch.
Si vous spécifiez l’objet QueryDef d’origine dans l’argument newquerydef, Recordset fait l’objet d’une nouvelle requête basée sur les paramètres spécifiés par QueryDef. Toute modification apportée aux données sous-jacentes sera prise en compte lorsque l’objet sera de nouveau renseigné. Pour répercuter les modifications effectuées au niveau de la valeur des paramètres de la requête dans l’objet Recordset, vous devez fournir l’argument newquerydef.
If you specify a different QueryDef than what was originally used to create the Recordset, the Recordset is re-created from scratch.
Lorsque vous utilisez la méthode Requery, le premier enregistrement de l'objet Recordset devient l'enregistrement actif.
Vous ne pouvez pas appliquer la méthode Requery aux objets Recordset de type feuille de réponse dynamique ou instantané dont la propriété Restartable a la valeur False. Toutefois, si vous fournissez l’argument facultatif newquerydef, la propriété Restartable est ignorée.
Si les propriétés BOF et EOF de l'objet Recordset ont toutes deux la valeur True après que vous ayez utilisé la méthode Requery, la requête ne renvoie aucun enregistrement et l'objet Recordset ne contient pas de données.
Exemple
Cet exemple montre comment la méthode Requery peut être utilisée pour actualiser une requête après la modification des données sous-jacentes.
Sub RequeryX()
Dim dbsNorthwind As Database
Dim qdfTemp As QueryDef
Dim rstView As Recordset2
Dim rstChange As Recordset2
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set qdfTemp = dbsNorthwind.CreateQueryDef("", _
"PARAMETERS ViewCountry Text; " & _
"SELECT FirstName, LastName, Country FROM " & _
"Employees WHERE Country = [ViewCountry] " & _
"ORDER BY LastName")
qdfTemp.Parameters!ViewCountry = "USA"
Debug.Print "Data after initial query, " & _
[ViewCountry] = USA"
Set rstView = qdfTemp.OpenRecordset
Do While Not rstView.EOF
Debug.Print " " & rstView!FirstName & " " & _
rstView!LastName & ", " & rstView!Country
rstView.MoveNext
Loop
' Change underlying data.
Set rstChange = dbsNorthwind.OpenRecordset("Employees")
rstChange.AddNew
rstChange!FirstName = "Nina"
rstChange!LastName = "Roberts"
rstChange!Country = "USA"
rstChange.Update
rstView.Requery
Debug.Print "Requery after changing underlying data"
Set rstView = qdfTemp.OpenRecordset
Do While Not rstView.EOF
Debug.Print " " & rstView!FirstName & " " & _
rstView!LastName & ", " & rstView!Country
rstView.MoveNext
Loop
' Restore original data because this is only a
' demonstration.
rstChange.Bookmark = rstChange.LastModified
rstChange.Delete
rstChange.Close
rstView.Close
dbsNorthwind.Close
End Sub
Cet exemple de code montre comment la méthode Requery peut être utilisée pour actualiser une requête suite à la modification de ses paramètres.
Sub RequeryX2()
Dim dbsNorthwind As Database
Dim qdfTemp As QueryDef
Dim prmCountry As Parameter
Dim rstView As Recordset2
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set qdfTemp = dbsNorthwind.CreateQueryDef("", _
"PARAMETERS ViewCountry Text; " & _
"SELECT FirstName, LastName, Country FROM " & _
"Employees WHERE Country = [ViewCountry] " & _
"ORDER BY LastName")
Set prmCountry = qdfTemp.Parameters!ViewCountry
qdfTemp.Parameters!ViewCountry = "USA"
Debug.Print "Data after initial query, " & _
[ViewCountry] = USA"
Set rstView = qdfTemp.OpenRecordset
Do While Not rstView.EOF
Debug.Print " " & rstView!FirstName & " " & _
rstView!LastName & ", " & rstView!Country
rstView.MoveNext
Loop
' Change query parameter.
qdfTemp.Parameters!ViewCountry = "UK"
' QueryDef argument must be included so that the
' resulting Recordset reflects the change in the query
' parameter.
rstView.Requery qdfTemp
Debug.Print "Requery after changing parameter, " & _
"[ViewCountry] = UK"
Do While Not rstView.EOF
Debug.Print " " & rstView!FirstName & " " & _
rstView!LastName & ", " & rstView!Country
rstView.MoveNext
Loop
rstView.Close
dbsNorthwind.Close
End Sub