Search code examples
vbabatch-filems-accessms-office

Opening Microsoft Access with parameters


Similar to the OpenArgs property of the Form object, am I able to open the Access Application itself with a passed parameter (say from a .bat file)?

Basically I'm looking to speed up the user's experience by having variable links to .bat files that open the same file, but to a different menu screen etc.


Solution

  • Use the /cmd command-line parameter to start Access, and the Commmand() function in Access-VBA to read it.

    "C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" D:\Work\myDb.accdb /cmd foo
    

    and this function called by an Autoexec macro:

    Public Function AutoExec()
    
        Dim sCmd As String
    
        ' ... other initializations ...
    
        ' Read /cmd command-line parameter
        sCmd = Command()
    
        Select Case sCmd
            Case "foo": Call Foo()
            Case "bar": Call Bar()
            Case Else: Debug.Print "No valid command-line parameter passed."
        End Select
    
    End Function