I am in the process of migrating my Access97 FE to 2003. For a while now I’ve been compiling both a 97 front end and a 2003 front end (97 for my XP machines, 2003 for my Win7 machines). Just recently (in the last week?).. I start losing my MSCOMCTL.OCX reference when converting. However, the odd thing is it only happens on my Windows 7 (32 bit) machine running Office 2003 (SP3). If I convert it on another Win7 64 bit, Office 2003 (SP3) machine I don’t lose the referenced file.
I’ve registered/unregistered C:\windows\system32\mscomctl.ocx several times now (making sure to run command prompt as administrator).. and restarting. I’ve uninstalled Office 2003 on the troubled machine and re-loaded it to no avail. I’ve made sure C:\windows\system32 is in the path.. (it is)
If I compile the FE on my Win7 64-bit machine, and distribute it to this trouble machine it will not start the app properly (gets an initializing bar at the bottom) indefinitely. If I re-reference the file on the trouble machine and re-create an MDE it works on both the 32bit version and the 64 bit version of Windows 7 (even though the 64 bit has mscomctl.ocx in C:\windows\syswow64)..
Is something wrong with my Win7 32bit setup? I can take an older version of my FE (I keep a repo as I make changes) and those seem to not lose the reference. The FE in question compiles fine on my Acc97 machines and my Win7 64-bit machines. I used to compile all my 2003 FE’s on the “now” troubled Win7 32bit machine… ?
I’ve run decompile/repair/compile/compact on the MDB file several times as well.
Can anyone suggest something to try?
UPDATE
Well I blew the “problem” workstation away and reloaded with Win7 Pro 64-bit, this will make WSUS duty easier anyway. However the problem persists… so now I’m not sure what to think.
You should confirm the version of MSCOMCTL.OCX used by your Access app is the same version used on any machine you might compile it on. Check which file the reference is using by:
Function ListReferences() Dim a As Long Dim b As Long a = References.count For b = 1 To a Debug.Print b & ": " & References(b).Name & vbTab & vbTab & References(b).FullPath Next b End FunctionThis will give you a list of file names and paths for all references in your Access FE.
Use Windows Explorer to locate the MSCOMCTL.OCX referenced by Access. Right-click the file and note the version. Confirm the MSCOMCTL.OCX you are using on all other computers is the same version.