[AccessD] 32->64 bit conversion

Stuart McLachlan stuart at lexacorp.com.pg
Thu Oct 28 16:30:52 CDT 2021


Access knows that re-compilation is required if it encouters compiled code it can't run:)

That may be because of different "bittedness", something that is not available in the running 
version (i.e. an accdb compiled on a recent Access version which uses some feature not 
available in  the version it is being opened by), a missing reference etc, etc.

In that situation, it will "de-compile" behind the scenes and try to re-compile.


There is no point in de-compiling before distribution, Access will do that if necessary.


Conditional compilation works fine.  It's never a problem to use it, it can be a problem if you 
don't use it and  you are using functions which need it.



On 29 Oct 2021 at 9:58, Paul Wolstenholme wrote:

> I have wondered about how conditional compilation works with Access. I
> understand Access likes to pre-compile its source and save it in the
> database file (the front end in a FE-BE system). The database file can
> be distributed and even shared in a multi-user environment. So perhaps
> the computer that was used for compilation is not necessarily the
> computer that executes the compiled code. If the source is written for
> conditional compilation (conditional according to how Access was
> installed on the computer) how does Access know when recompilation is
> required?
> 
> One could avoid the issue by always decompiling the Access database
> before another computer uses it and never sharing an Access database
> except as a back end. But Access wasn't designed with that limitation.
> 
> Should conditional compilation only be used in Access with some
> prescribed caveats?
> 
> Paul Wolstenholme
> 
> 
> 
> > On Thu, Oct 28, 2021 at 11:59 AM Bill Benson
> > <bensonforums at gmail.com> wrote: ...
> > > When I was on a massive upscaling project, one with a lot of 32
> > > bit API functions pre-existing in the code, I would put wrappers
> > > around that luke
> > >
> > > #If VBA7 Then
> > >      The declarations that are 64 bit
> > >       Office Compatible
> > > #Else
> > >       The declarations that were 32 bit
> > >       Office Compatible
> > > #End If
> > >
> > >
> > > Sometimes in addition or in substitution one would have also
> > >
> > > #If WIN64 Then...
> > >
> > > Etc.
> > >
> > > That is what conditional compilation is. Unfortunately this was
> > > only sometimes all my code required. Often I had to change how
> > > many of the variables in the rest of my code were declared as
> > > well. It is a long learning curve (or was for me) and took a long
> > > time to properly upgrade large apps to work in both environments.
> > > I think reading some of the
> > links
> > > others provided may be worth your time.
> > >
> >
> >
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> https://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com




More information about the AccessD mailing list