It appears that in the recent versions of MS ACCESS (later than 2007) the table name of Clients is now causing errors when trying to link or re-link tables. This happens when using VBA and by the Linked Table Manager :
To resolve the problem using the Linked Table Manager, when it reports - 'Clients' is an invalid name - I deselect the Clients table re-link the rest and then link the Clients table using the menu External Data>Import MS Access Database>Link to the Data Source by creating a Linked Table.
For VBA I do not have a solution. I am using the following relevant code:
Set Tdfs = dbs.TableDefs
'Loop through the tables collection
For Each Tdf In Tdfs
If Tdf.SourceTableName <> "" Then 'If the table source is other than a base table
Tdf.Connect = ";DATABASE=" & Path 'Set the new source
Tdf.RefreshLink 'Refresh the link
Next 'Goto next table
The Tdf.RefreshLink causes an error no 3125 - Description: '~TMPCLP642821' is not a valid name. Make sure that it does not include invalid characters or punctuation and that it is not too long. Note: in the Watch Expression dialogue it identifies 'Clients' as being the Tdf.SourceName. Clients is NOT the first table so clearly it is the Clients name that MS Access is objecting to.
This is OK in development but I have to create a 'self install' process that automatically links to the required source over my client's network using VBA; I cannot regularly travel to my client's location for every update. Can you please help me resolve this other than re-naming the Clients table link, which would be a massive job to change all objects; Clients just happens to be the central object of the project?