MS run-time 32  BIT Vs 64 BIT

Hankwembo Christopher,FCCA,FZICA,CIA,MAAT,B.A.Sc
Hankwembo Christopher,FCCA,FZICA,CIA,MAAT,B.A.Sc used Ask the Experts™
on
Hi

Is there a way we can run an access application which was done in 32 BIT to run also in a 64 BIT office environment, at the  moment I find not easy to run 32 BIT written Ms Access application unless I install MS access 32 BIT office or uninstall Office 64 BIT and install Office 32 BIT. Surely this is cumbersome what I want is as follows:

(1) If office is 32 BIT then any MS access application written in 32 BIT can run as long as I install MS access run-time 32 if full license not available
(2) If office is 64 BIT  then any MS access application written in 32 BIT  can run as long as I install MS access run-time 64 if full license not available

But it appear the cannot work properly or compile

Am missing something here

Regards

Chris
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Software & Systems Engineer
Commented:
You need compiler directives to achieve this.
Here is a first tutorial:https://usefulgyaan.wordpress.com/2013/06/26/vba-trick-of-the-week-conditional-compiling/
A simple search will give you all the necessary info
Dale FyeOwner, Dev-Soln LLC
Most Valuable Expert 2014
Top Expert 2010
Commented:
@Christopher,

As long as the database is kept as an accdb file (not accde) and you don't use any external API calls in your application, you should be able to run the same application on both 32 and 64 bit Office installs.

The challenge comes in when you:
1.  Want to use ActiveX controls which are available for 32 bit Office but not 64 bit Office
2.  Want to use API calls

In the case of the ActiveX controls, you are just out of luck.  There are some 3rd party providers who have developed tools which claim to emulate the 32 bit ActiveX controls and function in both environments, but I have not used any of them.

In the case of the API calls, John's comment about conditional compilation is the direction you need to go.  However, even with conditional compilation, if you need to deploy your application as an 'accde' file, you will need to make both a 32 bit and a 64 bit version.

HTH
Dale
Distinguished Expert 2017
Commented:
To further complicate matters, If you compile the app to .accde, that app will ONLY run in 32-bit OR 64-bit depending on the version you used to compile it.  So --- if you have to support multiple bit's, then
1. Distribute as .accdb OR create two versions of .accde - one for 32 bit and the other for 64 bit
2. Use compiler directives to switch between 32 and 64 bit versions of API code
3. As Dale mentioned, do not use ActiveX controls UNLESS they will specifically work in both environments.  Dale says there are some but I don't have any experience with them either.
Thank you so much people I'm now very clear on this

Regards

Chris

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial