Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.