Partager via


Recordset.PercentPosition, propriété (DAO)

S’applique à : Access 2013, Office 2013

Définit ou renvoie une valeur indiquant l'emplacement approximatif de l'enregistrement actif dans l'objet Recordset en fonction du pourcentage d'enregistrements dans cet objet Recordset.

Syntaxe

expression . PercentPosition

expression Variable représentant un objet Recordset.

Remarques

Pour indiquer ou modifier la position approximative de l'enregistrement actif dans un objet Recordset, vous pouvez vérifier ou définir la propriété PercentPosition. Lorsque vous manipulez un objet Recordset de type feuille de réponse dynamique ou instantané, ouvert directement à partir d'une table de base, commencez par remplir l'objet Recordset en accédant au dernier enregistrement avant de définir ou vérifier la propriété PercentPosition. Si vous utilisez la propriété PercentPosition avant d'avoir entièrement rempli l'objet Recordset, le volume de déplacements est relatif au nombre d'enregistrements accédés, tel qu'il est spécifié dans le paramètre de la propriété RecordCount. Vous pouvez accéder au dernier enregistrement à l'aide de la méthode MoveLast.

Remarque

L’utilisation de la propriété PercentPosition pour déplacer l’enregistrement actif vers un enregistrement spécifique dans un objet Recordset n’est pas recommandée. La propriété Bookmark est mieux adaptée à cette tâche.

Dès que vous définissez une valeur pour la propriété PercentPosition, l'enregistrement qui occupe la position approximative correspondant à cette valeur devient l'enregistrement actif et la propriété PercentPosition est réinitialisée avec une valeur qui reflète la position approximative de l'enregistrement actif. Par exemple, si votre objet Recordset contient seulement cinq enregistrements et que vous définissez la valeur 77 pour la propriété PercentPosition, la valeur renvoyée par la propriété PercentPosition sera vraisemblablement 80 et non 77.

La propriété PercentPosition s’applique à tous les types d’objets Recordset , à l’exception des objets Recordset de type avant uniquement ou des objets Recordset ouverts à partir de requêtes directes sur des bases de données distantes.

Vous pouvez utiliser la propriété PercentPosition avec une barre de défilement dans un formulaire ou une zone de texte pour indiquer l'emplacement de l'enregistrement actif dans un objet Recordset.

Exemple

Cet exemple utilise la propriété PercentPosition pour indiquer la position du pointeur d'enregistrement actif par rapport au début de l'objet Recordset.

    Sub PercentPositionX() 
     
     Dim dbsNorthwind As Database 
     Dim rstProducts As Recordset 
     Dim strFind As String 
     Dim strMessage As String 
     
     Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
     ' PercentPosition only works with dynasets or snapshots. 
     Set rstProducts = dbsNorthwind.OpenRecordset( _ 
     "SELECT ProductName FROM Products " & _ 
     "ORDER BY ProductName", dbOpenSnapshot) 
     
     With rstProducts 
     ' Populate the Recordset. 
     .MoveLast 
     .MoveFirst 
     
     Do While True 
     ' Show current record information and ask user 
     ' for input. 
     strMessage = "Product: " & !ProductName & vbCr & _ 
     "The record pointer is " & _ 
     Format(.PercentPosition, "##0.0") & _ 
     "% from the " & vbCr & _ 
     "beginning of the Recordset." & vbCr & _ 
     "Please enter a character search string " & _ 
     "for a product name." 
     strFind = Trim(InputBox(strMessage)) 
     If strFind = "" Then Exit Do 
     
     ' Try to find a record matching the search string. 
     .FindFirst "ProductName >= '" & strFind & "'" 
     If .NoMatch Then .MoveLast 
     Loop 
     
     .Close 
     End With 
     
     dbsNorthwind.Close 
     
    End Sub