Wednesday, September 14, 2011

fun with Microsoft (the never-ending saga)

Many of my clients have upgraded to Office 2010 and several users have reported that SOME forms do not display correctly (as they do in Access 2003 and Access 2007). Clearly, Microsoft changed SOMETHING in Access 2010 in how Tab controls are drawn (in 2010, tabs are sometimes invisible, preventing the user from switching from one tab page to another).

But, before I could begin to delve into this, I had to install my (totally legal) Office 2010.

I spent many hours trying to get Office 2010 installed, while leaving intact my Office 2003 apps as well as Groove 2007. I was never able to do this, without the install obliterating Groove (my workspaces were unaffected, but the GROOVE.EXE program and associated stuff was removed).

At one point, I had both Access 2003 and Access 2010 launchable, but, alas, Groove was gone and my Groove install CD said it couldn't reinstall until I uninstalled it, and there was nothing to uninstall. I ended up uninstalling Office 2010, then reinstalling Groove, and, after many hours, I was back where I started.

That was yesterday. Hours of fun.

This morning, I bit the bullet and told Office 2010 to REPLACE all existing Office apps. The Office 2010 install appears to hang indefinitely once the progress bar is entirely filled in, but I patiently waited (almost an hour?) until it actually finished normally.

The Office 2003 apps are indeed gone, and Groove 2007 is replaced by its rebranded successor ('Sharepoint Workspace', which, ironically, is still launched with GROOVE.EXE). Best of all, it had no trouble communicating with the Groove 2007 install on my laptop. This was a major relief.

All programs now appeared to work and I finally got into the guts of Access 2010 to find out why SOME of my forms were not displaying correctly.

Turns out that Microsoft made a small change between Access 2007 and 2010. In a 2010 Tab control, apparently, at least one tab page MUST be defined as Visible = True. I sometimes use the technique, when the tabs to be displayed depend on the context in which the form is opened, of defining all Tab pages as Visible = False, and programatically turning on the page(s) I want the user to see, during Form_Load.

Again, this works great in all versions of Access PRIOR TO 2010. Making the first tab page Visible = True (and then adjusting the code accordingly) permits everything to function exactly as expected.

Thanks again, Microsoft.

No comments: