Solved

Create & Call upon activex progress bar Access 2007

Posted on 2009-06-29
12
1,315 Views
Last Modified: 2012-06-27
I created a database, so far with one simple query which executes when i click on a button on a form.

I added an ActiveX Progress bar that i saw inside Access "Add-ins" and added it to the form but do not know how to bring it up, access it, or make it run.

Please help and provide step by step - Im new at this.Thanks!
0
Comment
Question by:romerica
  • 5
  • 5
  • 2
12 Comments
 
LVL 77

Expert Comment

by:peter57r
ID: 24738825
You can only modify the setting of the progress bar when you have control of the process.
If you start a long query running then you don't get control again until it has finished.



0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 24743837
^
Yes, you have to update the progressbar after each operation (10% done, 20% done, 30%done, ...ect)

Since you only have one operation (one query), this is meaningless.

BTW, trying to do this on a timer (The query takes about 10 seconds to run), is notoriously unrelaible, so don't even consider it.

;-)

JeffCoachman
0
 

Author Comment

by:romerica
ID: 24744680
Right now, its only one query.. this is just the beginning.
Just for giggles, how would i call upon to open and update this activex progress bar control?
0
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 500 total points
ID: 24745675
Most Developers do not use the ActiveX control(s)  because of the versioning issues.

A great many developers us the Status bar, here is the popular link:
http://support.microsoft.com/kb/210474

;-)

JeffCoachman
0
 
LVL 77

Expert Comment

by:peter57r
ID: 24745966
I agree with Jeff that ActiveXes in Access are a potential trouble spot.

But here is an example anyway.
The code is in the form timer event.
db21.mdb
0
 

Author Comment

by:romerica
ID: 24749077
I still cant figure anything out. I added the coding per the KB article with no luck, and i dont know how to integrate the code from peter57r.

I want it to initiate once one of the buttons is clicked. ie. 1) User chooses a date 2) User clicks a button 4) Progressbar appears 5) Query appears.

Right now only the first button 401K works and is tied to a Macro which executes a query when clicking that button.

I am currently in the process of adding a query that goes through several table and have been sitting here 8min now waiting for it to finish.
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 24749735
romerica,

Nobody can know what you mean by: "no luck", unless you tell us.

Can you :
1. Explain or post the cdode you used
2. State what happened
3. State what did not happen

Or simply post a sample of your database.

JeffCoachman
0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 24749795
Remember to *first* test the sample as it is presented in the link, this works fine for me.
0
 

Author Comment

by:romerica
ID: 24755016
sorry, i think i just dont know where to put the code.. here is what i have (see code below) I will post 2 seperate codes

Im trying to attach it to "Private Sub BTN_401k_GotFocus()" b/c i want it to execute when i click the button to run the query as part of the macro.
So I copied and pasted MS artice stated above there but am not too sure if i have to change any names...

Does that make sence?

Whenever i did that, it came back with an error with a portion highlighted


I also dont know what the article is referring to as "module".
formview.JPG
errorbox.JPG
codebuilder.JPG
0
 

Author Comment

by:romerica
ID: 24755030
ReportChooser Form Code:
Option Compare Database
 

Private Sub Text8_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

ocxCalendar.Visible = True

ocxCalendar.SetFocus

If Not IsNull(txtDateChooser) Then

   ocxCalendar.Value = txtDateChooser.Value

Else

   ocxCalendar.Value = Date

End If

End Sub
 

Private Sub ocxCalendar_Updated(Code As Integer)
 

End Sub
 
 
 

Private Sub BTN_401k_GotFocus()

Option Explicit

Function Meter()

   Dim MyDB As DAO.Database, MyTable As DAO.Recordset

   Dim Count As Long

   Dim Progress_Amount As Integer, RetVal As Variant

   

   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.

   RetVal = SysCmd(acSysCmdInitMeter, "Reading Data...", Count)
 

   ' Enumerate through all the records.

   For Progress_Amount = 1 To Count

     ' Update the progress meter.

      RetVal = 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] & "'")
 

     ' Goto the next record.

      MyTable.MoveNext

   Next Progress_Amount
 

   ' Remove the progress meter.

   RetVal = SysCmd(acSysCmdRemoveMeter)

        

End Function
 

End Function
 

Private Sub ProgressBar_GotFocus()
 
 

End Function

Open in new window

0
 

Author Comment

by:romerica
ID: 24755038
ProgressBar Form Code:
Option Compare Database
 

Private Sub Detail_Click()

Private Sub Form_Open(Cancel As Integer)
 

    Meter
 

End Sub
 

End Sub

Open in new window

0
 
LVL 74

Expert Comment

by:Jeffrey Coachman
ID: 24756185
romerica,

The code you posted is all over the place.

First, realize that what you have asked for here *requires* you to be familiar with VBA and coding.

So in this code:

Option Compare Database
 
Private Sub Detail_Click()
Private Sub Form_Open(Cancel As Integer)
 
    Meter
 
End Sub
 
End Sub

...You have wrapped a sub in a sub
Do you want the code to run on the click event of a button or on the Open event of the form?

It should look like this:
 
Private Sub Detail_Click()
     Meter
end Sub

Or this:

Private Sub Form_Open(Cancel As Integer)
    Meter
End Sub
 

The words:
Option Explicit
Option Compare Database

...will only appear once, ...at the top of all the code.

Perhaps another Expert can get you sorted out.
I would have to see a sample of this database

JeffCoachman
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Suggested Solutions

In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now