Solved

Create & Call upon activex progress bar Access 2007

Posted on 2009-06-29
12
1,317 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
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 
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

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In the article entitled Working with Objects – Part 1 (http://www.experts-exchange.com/Microsoft/Development/MS_Access/A_4942-Working-with-Objects-Part-1.html), you learned the basics of working with objects, properties, methods, and events. In Work…
Regardless of which version on MS Access you are using, one of the harder data-entry forms to create is one where most data from previous entries needs to be appended to new records, especially when there are numerous fields and records involved.  W…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.

895 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