Partager via


Utiliser la jauge de progression de la barre d’état

Cette rubrique montre comment utiliser la méthode SysCmd pour créer un compteur de progression dans la barre d’état qui donne une représentation visuelle de la progression d’une opération dont la durée ou le nombre d’étapes est connu.

Il existe trois constantes intrinsèques qui peuvent être utilisées avec l'argument action de la méthode SysCmd afin de manipuler la jauge de progression de la barre d'état. Le tableau suivant les décrit.

Constante intrinsèque Description
acSysCmdInitMeter Permet d'initialiser la jauge de progression. La valeur maximale atteinte par le processus est spécifiée dans l’argument valeur de la méthode SysCmd.
acSysCmdUpdateMeter Permet de mettre à jour la jauge de progression. Cette expression numérique qui représente la progression en cours jusqu'à l'achèvement est définie dans l'argument value de la méthode SysCmd.
acSysCmdRemoveMeter Permet de supprimer la jauge de progression.

La procédure suivante utilise la méthode SysCmd pour mettre à jour la jauge de progression au fur et à mesure de l'affichage des données de la table Clients dans la fenêtre Exécution.

Sub ProgressMeter() 
   Dim MyDB As DAO.Database, MyTable As DAO.Recordset 
   Dim Count As Long 
   Dim Progress_Amount As Integer 
    
   Set MyDB = CurrentDb() 
   Set MyTable = MyDB.OpenRecordset("Customers") 
 
   ' Move to last record of the table to get the total number of records. 
   MyTable.MoveLast 
   Count = MyTable.RecordCount 
 
   ' Move back to first record. 
   MyTable.MoveFirst 
 
   ' Initialize the progress meter. 
    SysCmd acSysCmdInitMeter, "Reading Data...", Count 
 
   ' Enumerate through all the records. 
   For Progress_Amount = 1 To Count 
     ' Update the progress meter. 
      SysCmd acSysCmdUpdateMeter, Progress_Amount 
       
     'Print the contact name and number of orders in the Immediate window. 
      Debug.Print MyTable![ContactName]; _ 
                  DCount("[OrderID]", "Orders", "[CustomerID]='" & MyTable![CustomerID] & "'") 
                   
     ' Go to the next record. 
      MyTable.MoveNext 
   Next Progress_Amount 
 
   ' Remove the progress meter. 
   SysCmd acSysCmdRemoveMeter 
         
End Sub

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.