Tab Control and ActiveX Problem


I've run across a problem and have been unable to find a solution after several hours of searching.  Here's the problem:

- I have an Access 97 database form with the standard MS Access 97 Tab Control.  On one of the pages of the tab control, I have the mscal.ocx ActiveX calendar control.  I need to change the Enable property of the calendar control during run-time.  Whenever I set the Enable property to True, the Access form displays the calendar control regardless of the currently displayed page of the tab control.  For example, let's say that the calendar control is on the 2nd page of the tab control.  If I'm currently viewing the 1st page of the tab control and then set the Enable property of the calendar control to True, I can see the calendar control (even though it is not on the page I'm currently viewing!!).  

I've tested this problem with 2 other ActiveX objects and get exactly the same results.  Actually the Visible property also generates the same display problem.  

Please help!

Who is Participating?
PaurthsConnect With a Mentor Commented:
this is the actual procedure:

Private Sub cmdCalVis_Click()
Me.MyCal.Visible = True
Me.MyCal.Enabled = True
End Sub

the command button 'cmdCalVis' is on the first page of the Tabelement, and the calendar is on the second page of the tabelement. (page index numbers start at 0)
hi PinnaclePR,

well, i can only reproduce that behavior if i use the visible property.

but here is a workaround
I first set the focus to the page on the tabelement that holds the calendar.
Then set the properties of the calendar control, then set the focus back to the page that had first focus (from where the event was called).
Example: (name of calendar = MyCal, name of Tabelement = MyTab)

Me.MyCal.Visible = True
Me.MyCal.Enabled = True

hope this helps,

PinnaclePrAuthor Commented:
Hi Ricky.

Thanks for your help.  I assumed your workaround would work - since I was able to manually do what your code does.  

However, I'm looking for a more elegant solution.  The form that I am using has many tab pages and these ActiveX controls are on several pages.  Also, the code that enables the ActiveX controls also does a ton of other tasks and I don't want to add to this any further code.  

Currently, my "workaround of choice" has been to use the GotFocus event of the ActiveX controls.  If I want the control to be in a disabled state, then I move the focus off of the control as soon as it gets it.  This seems to be working out OK.  

I'm really surprised that there seems to be no MS KB article(s) covering this problem.  I'm open to other suggestions at this point.


Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

ADMINISTRATION WILL BE CONTACTING YOU SHORTLY.  Moderators Computer101 or Netminder will return to finalize these if still open in seven days.  Please post closing recommendations before that time.

Question(s) below appears to have been abandoned. Your options are:
1. Accept a Comment As Answer (use the button next to the Expert's name).
2. Close the question if the information was not useful to you, but may help others. You must tell the participants why you wish to do this, and allow for Expert response.  This choice will include a refund to you, and will move this question to our PAQ (Previously Asked Question) database.  If you found information outside this question thread, please add it.
3. Ask Community Support to help split points between participating experts, or just comment here with details and we'll respond with the process.
4. Delete the question (if it has no potential value for others).
   --> Post comments for expert of your intention to delete and why
   --> You cannot delete a question with comments, special handling by a Moderator is required.

For special handling needs, please post a zero point question in the link below and include the URL (question QID/link) that it regards with details.
Please click the Help Desk link on the left for Member Guidelines, Member Agreement and the Question/Answer process for further information, if needed.

Click you Member Profile to view your question history and keep them all current with updates as the collaboration effort continues, to track all your open and locked questions at this site.  If you are an EE Pro user, use the Power Search option to find them.  Anytime you have questions which are LOCKED with a Proposed Answer but does not serve your needs, please reject it and add comments as to why.  In addition, when you do grade the question, if the grade is less than an A, please add a comment as to why.  This helps all involved, as well as future persons who may access this item in the future to seek help.

To view your open questions, please click the following link(s) and keep them all current with updates.

------------>  EXPERTS:  Please leave any comments regarding your closing recommendations if this item remains inactive another seven (7) days.  Also, if you are interested in the cleanup effort, please click this link

Moderators will finalize this question if still open in 7 days, by either moving this to the PAQ (Previously Asked Questions) at zero points, deleting it or awarding expert(s) when recommendations are made, or an independent determination can be made.  Expert input is always appreciated to determine the fair outcome.
Thank you everyone.
Moderator @ Experts Exchange
for PinnaclePr

It's time to clean up this TA, so I will leave a recommendation in Community Support that this question is:
 - Answered by: Paurths  
Please leave any comments here within the
next seven days.


As per request, I have accepted this question for Paurths.

Thanks and regards,
CS Admin @ EE
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.