Link to home
Create AccountLog in
Avatar of joelmcm
joelmcm

asked on

How do I find the location of a split database's data files in MS Access?

We moved the front end to a different server... and can't find the data. How can I find where it used to be located so that I can import them or link them back to the application?
Avatar of Dale Fye
Dale Fye
Flag of United States of America image

generally, if you open the front end in design view, you can mouse over the tables and display the table name and path.  Theoretically, that should tell you were the backend is residing.
ASKER CERTIFIED SOLUTION
Avatar of Gustav Brock
Gustav Brock
Flag of Denmark image

Link to home
membership
Create an account to see this answer
Signing up is free. No credit card required.
Create Account
You can also use the connection property to get the connection string of linked tables in the immediate window.

?currentdb.tabledefs("linkedTableName").connect
I would not recommend importing the tables once you find them. It would be best to continue to have a split database for reasons too numerous to list here.

Once you find where the data is, consider mapping a drive letter to that location (drive Z:, Y:, X: or whatever), then link to the backend through that mapped drive. Some would say that you should map to the server name (such as "\\MyServer\whatever") and this may work well until the server name changes. I prefer to use drive mapping.

For more, see: http://deepintoaccess.blogspot.com/2011/12/map-network-drives-with-vbscript.html
You can also open the MSysObjects table to view the connection strings.  Or, just use this query:

SELECT MSysObjects.Database, MSysObjects.Name, MSysObjects.ForeignName, MSysObjects.Type
FROM MSysObjects
WHERE (((MSysObjects.Type)=6));

@pdebaets,
The reason people suggest using UNC notation is because in many organizations, it is difficult to find a common drive letter that is available to ALL users once you get more than about 10 users.  And although servers do sometimes change names, it doesn't happen often.
@pat, yes, it can be hard to find a common drive letter and often brings up the organizational issue of standardizing mapped drives which I've implemented at a number of sites. The vbscript example I linked to above comes in handy for these situations.

If such organizational issues can't be resolved, there's a tool I've developed called TableLinker Lite that allows the developer to specify multiple possible locations for the data backend. Linking is attempted for the backends in a list and the first one found is linked to. Details are at: http://www.peterssoftware.com/tll.htm