Running an Access Macro from ASP

Running an Access Macro from ASP

It’s possible to run an Access macro from ASP?

Although you can run a macro from Access, it takes preparation, nerve and luck.
Preparation, because you have to set Internet Information Server 4.0 to allow out of process applications and give your IUSR_machine plenty of rights in the system.
Nerve, because you may end up rebooting your web server if you run a macro that doesn’t behave or causes a sharing violation.
Lucky, because some macros run and some don’t. The error messages you get may not relate to what you are doing.

To experiment, I created an Access 97 macro called CreateHTML. The macro writes the contents of a table to an HTML file. The directory needs to be read-write. The macro has these properties:

Action: OutputTo
Object Type: Table
Object Name: Countries
Output Format: HTML (*.html)
Output File: e:inetpubwwwrootaccesscountries.htm
Auto Start: Yes

I used the following VBScript code in my ASP file:

set objAccess=server.createobject(“Access.application”)
objAccess.OpenCurrentDatabase “e:inetpubwwwrootaccesssitelist.mdb”, true
objAccess.DoCmd.RunMacro “createHTML”
set objAccess=Nothing

It appears that Visual Basic for Applications isn’t yet well-suited to the ASP environment. That may have to do with its threading model.


Share the Post: