Gustav Brock
Gustav at cactus.dk
Thu Feb 24 03:04:11 CST 2005
Hi David
First, I think TABLE=""; should be omitted from the connect string.
Second, where/why do you close the mdb - cannot see that.
Third, try to refresh the TableDefs collection:
DBEngine(0)(0).TableDefs.Refresh
/gustav
>>> newsgrps at dalyn.co.nz 24-02-2005 04:34:00 >>>
Thanks. Now I am getting closer. The code below is now working since
I
closed the mdb variable.
When I run the code the connection strings are changed but there is now
another problem. When the tables are opened they still are showing the
old
data. Closing the database and opening it in Access doesn't help. It
is
only when I close Access down and reopen it that the new tables are
appearing.
It seems that until Access itself is closed that the actual links to
the
data tables are updated. How can I make the change occur at the same
time
as the connection string is changed?
David
At 24/02/2005, you wrote:
>'verify if current path is correct for tblStudent
>debug.print DLookup("[Database]", "msysObjects", "[Name] =
'tblStudent'")
>See if this gives you correct path for linked table
>
>David Emerson wrote:
>
>>Here is what I have so far.
>>
>>Public Function basCheckLinksFS()
>>
>> Dim mdb As DAO.Database, mtbl As TableDef, strDataPath As
String,
>> strNewConnect As String
>>
>> Set mdb = CurrentDb
>>
>> strDataPath = "d:\CLIENTS\PM SERVICES\DATA\20050216"
>> strNewConnect = "ODBC;DSN=Visual FoxPro Tables;SourceDB=" &
>> strDataPath &
>>
";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;;TABLE="
>>
>>
>> For Each mtbl In mdb.TableDefs
>> 'Only check this table link if this table IS linked.
>> If InStr(mtbl.Connect, "DSN=Visual FoxPro Tables") <> 0
Then
>> mtbl.Connect = strNewConnect & mtbl.Name
>> mtbl.RefreshLink
>> End If
>> Next
>>
>>End Function
>>
>>
>>The problem is with the refreshlink command near the end. It returns
>>error 3011 - The Microsoft Jet database engine could not find the
object
>>rs2YTD. I know that the strDatapath is correct and the foxpro dbf
file
>>is in the folder.