Verwenden der Statusleisten-Statusanzeige

In diesem Thema wird gezeigt, wie Sie die SysCmd-Methode verwenden, um eine Statusanzeige auf der Statusleiste zu erstellen, die eine visuelle Darstellung des Fortschritts eines Vorgangs mit einer bekannten Dauer oder Anzahl von Schritten bietet.

Es gibt drei systeminterne Konstanten, die mit dem action-Argument der SysCmd-Methode verwendet werden können, um die Statusanzeige auf der Statusleiste zu ändern. Diese Konstanten sind in der folgenden Tabelle beschrieben.

Systeminterne Konstante Beschreibung
acSysCmdInitMeter Initialisiert die Statusanzeige. Der maximale Wert, den der Prozess erreicht, wird im Value-Argument der SysCmd-Methode angegeben.
acSysCmdUpdateMeter Aktualisiert die Statusanzeige. Ein numerischer Ausdruck, der den aktuellen Fortschritt in Bezug auf die Fertigstellung darstellt, ist im Argument value der SysCmd-Methode angegeben.
acSysCmdRemoveMeter Entfernt die Statusanzeige.

Im folgenden Verfahren wird die SysCmd-Methode verwendet, um die Statusanzeige zu aktualisieren, wenn Daten aus der Customers-Tabelle im Direktfenster gedruckt werden.

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

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.