Passing name of database to re-link function

J

J. Shrimp, Jr.

This function will re-link all tables from a single external database:
Function LinkAllTables(sDbName As String)
Dim db As Database, tdf As TableDef
Set db = DBEngine.OpenDatabase(sDbName)
For Each tdf In db.TableDefs
If (tdf.Attributes And dbSystemObject) = 0 Then
AttachTable tdf.Name, sDbName
End If
Next
db.Close
End Function

Now, I would like to re-link all tables in several databases (.mde's
actually).
All databases are in the same directory,
but this code passes the string ' & strFileName &'
to the LinkAllTables function,
NOT the name of the actual MDE in the directory.
LinkAllTables function should link all mde's found in the directory.

What combination of &/'/" do I need to pass the name of
strFileName to LinkAllTables as found in line 4 below?

Dim strFileName As String
strFileName = Dir("v:\inventory\Building*.mde")
Do While strFileName <> ""
LinkAllTables (" & strFileName & ") 'pass strFileName to function
strFileName = Dir()
Loop
 
D

Douglas J. Steele

Just occurred to me that the code is just going to pass the file name, not
the path, and your LinkAllTables function requires the full path.

Use

Call LinkAllTables("v:\inventory\" & strFileName)

A comment, though. From the names, it looks as though you might have a
separate mde for each building. Why not combine them all into one?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top