I was in the table view in Access 2003 and accidentally hovered over a linked table. A tool tip (mouse over tip) displayed itself a second later telling me the backend linked MDB file path and name.
Cool! I never knew that.
I should add that I go to great lengths to ensure a user doesn’t have a problem with linked tables. When the user opens the app I ensure that all tables have the same linked path and file name. Just in case. You never know when something really, really weird could happen when relinking tables. And I’d hate to have to debug a customers problem where a few tables are pointing to a demo MDB and all the other tables are pointing to their live data table.
Other things I do on start are opening a recordset based on a particular table and check for a particular field in it. If that fails I assume the BE isn’t linked properly and start up the linking table logic.
Note that I install the Granite Fleet Manager into the users Application Data folder and sub folder of Granite Fleet Mgr using Inno Setup. I also install the Demo MDB and the demo graphics files into that same folder. However the live empty Data.MDB gets installed into My Documents\Granite Fleet Mgr.
I then check to see if there is a license key file in the users My Documents\Granite Fleet Mgr folder. If so I then look to see if there is only one data MDB file in that folder. I inform the user and ask if they want to relink to that table. If there are two or more data MDBs then I inform them and pop up a relinking form. This handles the situation where I’ve converted their data from a spreadsheet and emailed the user that MDB and the license key file.
Note how the number of Units and Service Orders are displayed in the list box. I’ve found this to be of great value when working with clients and somehow multiple versions of the BE data MDB are floating about.
Thanks to Jim, a friend and client, who suggested adding the Selected Data File Folder field. If folks are interested and understand what is all going on then that’s all the better. That field can be double clicked and Windows Explorer opens to that folder. The code behind that double click event for the Selected Data File Folder is:
Call RunShellExecute(tt_StripFromLastRight(CurrentDb.Name, “\”))
tt_StripFromLastRight is a function which removes the “\” and everything to the right leaving just the path.
If nothing found as per the above paragraphs then the linking table logic first examines the current FE path for the Granite Fleet Mgr.INI file. If found I then relink to the BE MDB as specified in that INI file. This handles the situation where the app has been previously installed on the system and the INI file is pointing to a network file location.
If that file isn’t found then I assume this is the first time the user has ever run the app and link to the demo MDB.
I also display the path and file name of the BE MDB in the About screen. As well as the current FE MDB/MDE file path and name.
I also put in a double click event on those two fields which the user can then open up Windows Explorer. Do you really want to tell a user how to use Windows Explorer to navigate to a path that Windows by default hides from the user? No, I didn’t think you would either.
Still reading? All this when all I meant to type was the first few paragraphs. <sigh>