Search code examples
backendms-access-2013

Storing queries on backend access database


I have built a split ms access 2013 database for a handful of users to share over our office LAN. I have been developing the front end forms and code and distributing by releasing new versions of the front end.

I would now like to build a reports menu but I would like to store the queries on the back end so I can make changes without releasing a new front-end version every time I update or add a report.

Is there a way to call a report or query in vba that is stored on the back end mdb? Would there by any significant performance degradation? If I understand how split access databases work , the queries are still processed on the local machine so it doesn't seem like it would make a difference. I have searched around the web but I have not found any questions on the topic. This leads to be believe I am on the wrong track. Thoughts?

Matt


Solution

  • You could either save the queries in a separate file on the network share for the users to import from as needed.

    A more polished method is to maintain a single frontend, then copy this to a network share when a new version is ready, and let the users download this whenever they launch the application from a shortcut. This way the distribution is fully automatic, and it even works in a Citrix environment.

    The full description and a script (which you probably can reduce a little) can be found here:

    Deploy and update a Microsoft Access application in a Citrix environment

    The crucial line where the local copy is opened is here:

    ' Run PPT.
    If objFSO.FileExists(strAppLocalPath) Then
      Call RunApp(strAppLocalPath, False)
    Else
      Call ErrorHandler("The local application file:" & vbCrLf & strAppLocalPath & vbCrLF & "could not be found.")    
    End If
    

    So to be sure get strAppLocalPath right.