Script to open Access database, run macro, and persist Access instance

ms-access, vba, vbscript

Solution

If you want to leave the application open after the script completes you need to set the `UserControl` property to `true`.

dim accessApp
set accessApp = createObject("Access.Application")
accessApp.visible = true

accessApp.UserControl = true

accessApp.OpenCurrentDataBase("C:\path.accdb")
accessApp.Run "myLinker"

The `Visible` property is technically unnecessary when the `UserControl` property is true. It will automatically be set.

More information here: http://msdn.microsoft.com/en-us/library/office/ff836033.aspx

Problem

I would like to have a script to: - Open an Access .accdb file - Run a macro within the database - Leave this open I can very easily do the first two with the following VB script: ``` dim accessApp set accessApp = createObject("Access.Application") accessApp.visible = true accessApp.OpenCurrentDataBase("C:\path.accdb") accessApp.Run "myLinker" ``` But it immediately closes the Access database when the VBS execution finishes. I would like the instance to remain open independent of the script. I am not forced to use VBScript for this but it definitely seems the easiest to actually invoke the macro to run.

Original source