You are currently offline, waiting for your internet to reconnect

MOD2000: How to Use the ProgressBar ActiveX Control

This article was previously published under Q283030
SUMMARY
Advanced: Requires expert coding, interoperability, and multiuser skills.

You can use the Microsoft ProgressBar control to show the progress of an operation toward completion. A ProgressBar control has a range and a current position. This article demonstrates how you can use the Max, Min, and Value properties of the ProgressBar control in a Microsoft Access 2000 database.

This article assumes that you are familiar with Visual Basic forApplications and with creating Microsoft Access applications using theprogramming tools provided with Microsoft Access.
MORE INFORMATION
  1. Start Microsoft Access 2000, and then open any database.
  2. In the Database window, click the Forms tab, and then click New to create a new form that is not based on any table or query.
  3. On the File menu, click Save As, and then save the form asfrmProgressBar.
  4. Add three unbound text boxes to the frmProgressBar form, and then set their properties as follows:
           Name: txtMin       Default Value: 10       Validation Rule: Is Not Null       Validation Text: Please Enter a Numerical Value       Name: txtMax       Default Value: 5000       Validation Rule: Is Not Null       Validation Text: Please Enter a Numerical Value       Name: txtStep       Default Value: 10       Validation Rule: Is Not Null       Validation Text: Please Enter a Numerical Value					
  5. On the Insert menu, click ActiveX Control, and then insert the Microsoft ProgressBar Control, version 5.0. Set its properties as follows:
           Name: CtlProgress       Width: 1.95       Height: .15					
  6. Add two command buttons, and then set their properties as follows:
           Name: cmdRun       Caption: Run       Name: cmdClear       Caption: Clear					
  7. Insert a label, and then set its properties as follows:
           Name: lblComplete       Caption: 0% Complete       Visible: No					
  8. Right-click the Run command button, and then click Build Event on the menu that appears.
  9. In the Choose Builder dialog box, click Code Builder, and then click OK.
  10. Type the following event procedure in the module window:
       Private Sub cmdRun_Click()      Dim prg As ProgressBar      Dim IntValue As Long      Dim fmin As TextBox, fmax As TextBox, fstep As TextBox      Dim strComplete As String      Dim Complete As Label      Set fmin = Forms!frmProgressBar!txtMin      Set fmax = Forms!frmProgressBar!txtMax      Set fstep = Forms!frmProgressBar!txtStep      Set prg = Me!CtlProgress.Object      Set Complete = Me!lblComplete      ' If the txtMin textbox contains a non-numeric value      ' or a number less than 0, force the user to      ' re-enter data in correct format.      If Val(fmin) <= 0 Then         MsgBox "Please enter a positive numerical value above 0 " & _            "in the Minimum text box."         fmin = Null         fmin.SetFocus         Exit Sub      End If      ' If the txtMax text box contains a non-numeric      ' value or a number less than the value in txtMin,      ' force the user to re-enter data in correct format.      If Val(fmax) <= 0 Or Val(fmax) <= fmin Then         MsgBox "Please enter a positive numerical value above " & _            fmin & " in the  Maximum textbox."         fmax = Null         fmax.SetFocus         Exit Sub      End If      ' If txtStep contains a non-numeric value or a number less      ' than 1, force the user to re-enter data in correct format.      If Val(fstep) < 1 Then         MsgBox "Please enter a number less than or equal " & _            "to 1 in the Step text box."         fstep = Null         fstep.SetFocus         Exit Sub      End If      ' The maximum value for the MAX property of a progress bar      ' is 10,000; if the number entered in txtMax is over 10,000,      ' set the MAX property to 10,000. Otherwise, set the MAX      ' property to whatever the user has entered.      If fmax > 10000 Then         prg.Max = 10000      Else         prg.Max = fmax      End If      ' The maximum value for the MIN property of a progress bar      ' is also 10,000; if the number entered in txtMin is      ' greater than 10,000, set the MIN property to 9,999      ' so it is still less than the MAX property. Otherwise,      ' set the MIN property to whatever the user has entered.      If fmin > 10000 Then         prg.Min = 9999      Else         prg.Min = fmin      End If          IntValue = fmin      ' Increment the progress bar and % complete label as long as the      ' Value assigned to it is less than or equal to the MAX property      ' of the progress bar.      Complete.Visible = True      Do         IntValue = IntValue + Me!txtStep         If IntValue >= prg.Max Then            IntValue = prg.Max         End If         prg.Value = IntValue         strComplete = Format((prg.Value / prg.Max) * 100, "##") & _              " % Complete"         Complete.Caption = strComplete         DoCmd.RepaintObject      Loop While IntValue < prg.Max   End Sub					
  11. Right-click the Clear command button, and then click Build Event on the menu that appears.
  12. In the Choose Builder dialog box, click Code Builder, and then click OK.
  13. Type the following event procedure in the module window:
       Private Sub cmdClear_Click()       Dim prg As ProgressBar       Dim Complete As Label       Set prg = Me!CtlProgress.Object       Set Complete = Me!lblComplete       ' Clear the Progress Bar by setting its value to the       ' Control's MIN property; then hide the Complete label.       prg.Value = prg.Min       Complete.Visible = False    End Sub					
  14. On the Debug menu, click Compile Loaded Modules.
  15. Save the form, and then switch the form to Form view.
  16. Click Run. Note that the ProgressBar fills while the label control shows the progress as a percentage.
REFERENCES
For more information about the ProgressBar ActiveX control, search the HelpIndex for "ProgressBar Control."
progress bar
Properties

Article ID: 283030 - Last Review: 08/09/2001 12:29:00 - Revision: 1.1

  • Microsoft Office 2000 Developer Edition
  • kbhowto KB283030
Feedback
data-bi-slot="2"> Privacy & cookies
  • Trademarks
  • © 2015 Microsoft