Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Tab Control and ActiveX Problem

Posted on 2001-08-15
6
Medium Priority
?
247 Views
Last Modified: 2006-11-17
Hello!

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!

PinnaclePr
0
Comment
Question by:PinnaclePr
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
6 Comments
 
LVL 12

Expert Comment

by:Paurths
ID: 6390341
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.MyTAB.Pages(1).SetFocus
Me.MyCal.Visible = True
Me.MyCal.Enabled = True
Me.MyTAB.Pages(0).SetFocus



hope this helps,
Ricky

0
 
LVL 12

Accepted Solution

by:
Paurths earned 1000 total points
ID: 6390362
btw,
this is the actual procedure:

Private Sub cmdCalVis_Click()
Me.MyTAB.Pages(1).SetFocus
Me.MyCal.Visible = True
Me.MyCal.Enabled = True
Me.MyTAB.Pages(0).SetFocus
Me.Knop4.SetFocus
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)
0
 

Author Comment

by:PinnaclePr
ID: 6399423
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.

PinnaclePr

0
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 
LVL 1

Expert Comment

by:Moondancer
ID: 6913522
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.
http://www.experts-exchange.com/jsp/qList.jsp?ta=commspt
 
Please click the Help Desk link on the left for Member Guidelines, Member Agreement and the Question/Answer process for further information, if needed.  http://www.experts-exchange.com/jsp/cmtyHelpDesk.jsp

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.
http://www.experts-exchange.com/questions/Q.20169130.html
http://www.experts-exchange.com/questions/Q.20172528.html




PLEASE DO NOT AWARD THE POINTS TO ME.  
 
------------>  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 http://www.experts-exchange.com/jsp/qManageQuestion.jsp?ta=commspt&qid=20274643

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.
 
Moondancer
Moderator @ Experts Exchange
0
 
LVL 54

Expert Comment

by:nico5038
ID: 6990426
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.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER !

Nic;o)
0
 

Expert Comment

by:ComTech
ID: 6990463
As per request, I have accepted this question for Paurths.

Thanks and regards,
ComTech
CS Admin @ EE
0

Featured Post

NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

Question has a verified solution.

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

AutoNumbers should increment automatically, without duplicates.  But sometimes something goes wrong, and the next AutoNumber value is a duplicate.  This article shows how to recover from this problem.
We live in a world of interfaces like the one in the title picture. VBA also allows to use interfaces which offers a lot of possibilities. This article describes how to use interfaces in VBA and how to work around their bugs.
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

662 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