[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 4347
  • Last Modified:

KB2687441 causing problems with common controls in Access-based System

After installing Security Update for Microsoft Office 2007 (KB2687441) our Access 2007 based project management system has stopped working.  Unfortunately, this particular update is not removable.

The first problem we discovered that when certain forms were opened, they would close straight away and fire the error "The OpenForm action was cancelled".


I tried unregistering and then re-registering MSCOMCTL.OCX. This did not help.

I then tried unregistering it, copying an older version of the file from a machine that hadn't been updated yet, and re-registering that version.

This solved the above error.

However, we have found that there are still some issues. Any form that contains a ListView control or a TabStrip control will fail on startup with errors such as "Object doesn't support this property or method" whenever these controls are referenced. (In particular, we are calling the ItemsItems.Clear method on the ListView, and trying to reference the caption property of a tab in the tab strip.)

None of these problems exist on machines that haven't installed KB2687441.

It was my understanding that both the tabstrip and listview were stored in MSCOMCTL.OCX, but I'm guessing there must be some other files that I also have to roll back to overcome these problems.

Any thoughts?
0
tassienerd
Asked:
tassienerd
3 Solutions
 
Sushil SonawaneCommented:
Perform the system restore and select the date before this KB2687441 installed on the server.
0
 
Jeffrey CoachmanCommented:
This is why most Access developer only use the built in controls.

What are these MSCOMCTL.OCX controls doing that standard Access control cannot?
0
 
aornikCommented:
We had the same errors.

deleting the registry entry
[HKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0]
solved our problems with mscomctl.ocx
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
I would be very, very leery of deleting a registry key. There is no telling what sort of havoc you can wreak doing that.

As Jeff indicates, a more long term fix is to stop using non-compliant controls in Access. COM based controls (like mscomctl.ocx) are not very high up on the list when MSFT test new upates, and in fact I'd be surprised if they're even tested at all (and especially in environments where they are NOT intended to function, like Access).

Always remember - the bandaid ypu put on today will eventually be yanked off by a new MSFT update.
0
 
datAdrenalineCommented:
Do a  search for .exd files that share the same name.  They are in a folder under the users folder, I think under AppData... Anyway search for the .exd extension and be sure the search hidden folders.

Once you find the files, delete them.  They will be recreated by the vb runtim libraries.

For more info, do a bing/google search for "delete exd files", and you will get more information on this.
0
 
tassienerdAuthor Commented:
Thankyou for all the good suggestions.
Our ICT manager was not willing to go along with using System Restore to roll back the update so we had to find a way to make the system work with the update in place.

I agree that using all these controls in Access is not ideal. To give some context, this system has 94000 lines of code in about 800 forms, reports and modules, so even if our users were willing to live without the features of listviews over list boxes, and we found a way to get around the Tab control, we'd still be looking at a mammoth effort to strip them all out. I understand that a system this size is not best suited to Access, but it's the system we have in place and need to support.

In the end, we overcame this issue by:
1) un-registering the new control
2) reistering the old control
3) un-registering the old control
4) re-resitering the new control.

As several of you have pointed out, this is a 'band-aid'. Hopefully in time we can gradually replace this with something more stable.

thank you all for you input.
0
 
Jeffrey CoachmanCommented:
<To give some context, this system has 94000 lines of code in about 800 forms, reports and modules, so even if our users were willing to live without the features of listviews over list boxes, and we found a way to get around the Tab control, we'd still be looking at a mammoth effort to strip them all out. I understand that a system this size is not best suited to Access, but it's the system we have in place and need to support.>

Thanks...
Most Experts here try just to notify folks of the downsides of these controls.
We won't beat you over the head with it though...
;-)
...because most all of us to are faced with projects where we have to:
    "Build with the Bricks we are given"

We are all glad that our posts helped you work toward a resolution.

;-)

Jeff
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now