UtterAccess.com
X   Site Message
(Message will auto close in 2 seconds)

Welcome to UtterAccess! Please ( Login   or   Register )

Custom Search
 
   Reply to this topicStart new topic
> Can't Open 32-bit Accdb On 64-bit Computer, Access 2016    
 
   
Kay9835
post May 30 2020, 07:21 PM
Post#1



Posts: 17
Joined: 17-March 11



I am attempting to deploy a split database application that was developed in a 32-bit version of Access to a user running the 64 bit version. Both platforms use Office 365.

I understand that a 32-bit accde file will not open in the 64-bit environment. But everything I've read tells me the 32-bit accdb file(s) should operate fine in the 64-bit environment.

I have run the Microsoft Readiness Toolkit against both files and both are 100% "clean" - Ready to Upgrade is the official designation.

Yet, when my user attempts to open the front end accdb file she get the "this was created under 32-bit and must be opened in 32-bit" message.

The only thing I can think of that might be a factor is that I'm using the \runtime switch when attempting to open on the 64-bit machine. Seems like an unlikely source of trouble, but I'm running low on ideas. I confess that I need to try it on her computer without the \Runtime switch, but I've already used a lot of her time and patience, and am hoping I don't have to go back to her again until I've got a decent chance of having a solution (rather than just one more "test" for her to run . . .).

I've done a lot of searching for similar problems and have found none. I've also tried searching this site directly, but all my search words (like "bit") are too small, so if there are posts pertinent to my issue here I apologize for not being able to find them.

Input appreciated.
Go to the top of the page
 
theDBguy
post May 30 2020, 07:38 PM
Post#2


UA Moderator
Posts: 78,445
Joined: 19-June 07
From: SunnySandyEggo


Hi. If you're using API calls, then you need to modify them to work with 64-bit. You can start with adding PtrSafe to all your API declarations or look up compiler directives.

--------------------
Just my 2 cents... "And if I claim to be a wise man, it surely means that I don't know" - Kansas
Access Website | Access Blog | Email
Go to the top of the page
 
GroverParkGeorge
post May 30 2020, 08:10 PM
Post#3


UA Admin
Posts: 37,446
Joined: 20-June 02
From: Newcastle, WA


You'll find a detailed description of the changes theDBGuy describes here.

--------------------
My Real Name Is George. Grover Park Consulting is where I did business for 20 years.
How to Ask a Good Question
Beginning SQL Server
Go to the top of the page
 
Kay9835
post May 30 2020, 08:28 PM
Post#4



Posts: 17
Joined: 17-March 11



I have no Declares and no APII calls. Microsoft tells me there is nothing in my code that needs to be changed to work on 64 bit. (And their tool did find issues in other files, so I know it works.)

Can anyone tell me whether the \Runtime switch could be implicated?
Go to the top of the page
 
FrankRuperto
post May 30 2020, 09:30 PM
Post#5



Posts: 1,099
Joined: 21-September 14
From: Tampa, Florida USA


Try it without the \runtime switch. Your accde was compiled with 32-bit Access, so if you have the uncompiled accdb, then that should run with 64-bit Access. If the accdb doesn't run, then compress/repair it and try that. Also try decompiling the accde. If none of that works, then re-install 64-bit Access, or go back to 32-bit Access. 64-bit Office/Access should not be used unless there's a true need for extra memory space. Your customer probably installed the default 64-bit Office 2019 version without really having a need for 64-bit.

EDIT: Also make sure you don't have a mix of different Office and Access runtimes installed, as that would cause a dll conflict.
This post has been edited by FrankRuperto: May 30 2020, 09:54 PM

--------------------
Currently supporting pawnbrokers that use my store management system developed with Access 2010 on Windows7. Experienced with Informix, Oracle & PostgreSQL db's.
Go to the top of the page
 
AlbertKallal
post May 31 2020, 03:01 AM
Post#6


UtterAccess VIP
Posts: 3,101
Joined: 12-April 07
From: Edmonton, Alberta Canada


I would try a de-compile.

I had some x64 databases that I was trying to run as x32 (this is the reverse of your case).

I found they would not work until I de-compiled.

So, in this case, and I would suggest any time you try to run an accDB on a “different” bit size platform?

Do a de-compile. This cleans out the compiled code, and gives the system a chance to re-compile the VBA code to run as the new bit size.

Note that the runtime can even re-compile the VBA is this is not an accDE.

So, I would take the shortcut with the /runtime switch. Copy that shortcut, and change the /runtime to /decompile.

(Hold down the shift key). Now, exit, now re-enter and do a compact + repair. (And again, don’t let code run – shift key again).

The above can be done on either machine (the source x32 box you are working on, or the x64 box running x64 access).

Either way will clean out all compiled code.

And for a nice hoot? After you do the compact + repair (and you held down shift key – no code allowed to run). Exit out and take a look at how small your application is!!! This is the smallest you see your application become after a c

I also suggest you of course open the application (shift key again), ctrl-g (VBA ide, debug->compile. Do this on the x64 access box – you do at least want to do a quick compile to ensure that your code does in fact re-compile with x64 bit access.

So, yes, I have found switching from a accDB that was running fine on one bit size often chokes when changing to the other bit size. A de-compile fixed this in all cases when this occurred to me.


R
Albert

Go to the top of the page
 
GroverParkGeorge
post May 31 2020, 09:34 AM
Post#7


UA Admin
Posts: 37,446
Joined: 20-June 02
From: Newcastle, WA


The decompile process Albert described can be used from the Run applet.

Attached File  decompilearg.png ( 14.41K )Number of downloads: 4


Sometimes a Shortcut on the desktop can be used with the /Decompile argument appended to the target.

--------------------
My Real Name Is George. Grover Park Consulting is where I did business for 20 years.
How to Ask a Good Question
Beginning SQL Server
Go to the top of the page
 
isladogs
post May 31 2020, 03:18 PM
Post#8


UtterAccess VIP
Posts: 2,391
Joined: 4-June 18
From: Somerset, UK


Hopefully a decompile will solve your issue but if not....

You said there are no API calls but there are other issues that can trigger errors. For example:
1. Some ActiveX components such as Treeview and Flexgrid do not work in 64-bit
2. Some old VBA references such as Windows Common Controls also don't work in 64-bit
3. The old calendar control (A2007 or earlier) also fails

--------------------
Colin (Mendip Data Systems)
Website, email
Go to the top of the page
 
Kay9835
post Jun 1 2020, 11:48 PM
Post#9



Posts: 17
Joined: 17-March 11



Thanks for all the suggestions. It turned out a simple compile solved the problem. I'd done that very recently so was "sure" it was OK, but it turned out that I'd introduced a new error. . . Sloppy.
Go to the top of the page
 
GroverParkGeorge
post Jun 2 2020, 07:09 AM
Post#10


UA Admin
Posts: 37,446
Joined: 20-June 02
From: Newcastle, WA


Congratulations on solving the problem.

Continued success with your project.

--------------------
My Real Name Is George. Grover Park Consulting is where I did business for 20 years.
How to Ask a Good Question
Beginning SQL Server
Go to the top of the page
 


Custom Search


RSSSearch   Top   Lo-Fi    4th July 2020 - 10:05 AM