paulgallanter said:
Is there
a way to eliminate all macros from a database so that the warning will not
appear regardless of the security level setting?
That's harder than it sounds. Microsoft's recommended practice in this
situation is to digitally sign your Access applications to avoid the macro
security warning. In case you don't want to foot the bill for a digital
signature and go through the hassle of applying the digital signature to all
your work for this client and teaching your client how to install and use the
digital signature feature in Access, you may want to look at a few
alternatives.
Actually, the macro security warning he wants to avoid doesn't pertain to
Microsoft Access macros, the topic of this newsgroup. Those macros named in
"macro security" are the VBA procedures found in other Office program files,
not the real macros found in Access. (Microsoft didn't want to scare away
potential Word and Excel customers who might think they'd have hire an
expensive programmer to automate and customize their Word and Excel documents,
so the Microsoft marketers called the VBA procedures "macros" and convinced
the customers that they could build these themselves to customize their own
documents.)
But even if you removed all of the VBA code from the Access application you
send your client, if he has his macro security setting for Access at medium
or high, then he'll still get a warning if the Jet Expression Service
encounters any "unsafe expressions" when it scans the file before opening it.
That means any properties in controls or on forms or reports that have unsafe
expressions, or any action queries that may be in the file. Therefore, you'd
have to remove all modules, forms and reports from the application, as well
as any update, append, delete, or DDL queries, and any (real) macros that
used unsafe expressions. All in all, it would be a very limited application
if it only had tables and SELECT queries, but he'd also have to uninstall the
Access 2003 retail version and install the Access 2003 runtime version so
that he can't accidentally create a *dangerous* query, form, report, or macro,
or ever write any VBA code. That's what you'd need to do to keep Access 2003
macro security from *ever* complaining on his computer while avoiding the use
of a digital signature, which is why I said it's harder than it sounds.
But since your client is more afraid of encountering that macro security
warning than what malicious mischief your application is going to do to his
computer, his best alternative to the digital signature is to uninstall
Access 2003 and install Access 2000 with Office 2000 service packs 1, 2, and
3. That way, you can keep any VBA code, action queries, and unsafe
expressions you need in the application, and he can jack his Office 2003
macro security setting as high as he wants and never notice the Access macro
security setting isn't there. He'll be able to use Sandbox mode with Jet 4.0
SP-8, but he won't be bothered with any Office XP security hurdles, like
linked tables that use IP addresses of servers for the paths to the back end
MDB files.