Добрый вечер, всем.
Access 2003 SP3
Использую след. код для прилинковки таблиц из разных баз в зависимости от имени файла-клиента (Sales.mde или Russia-Client.mde). Происходит следующее, если клиент прилинковался к любой из баз, то линковка для другого имени клиента не происходит. Может кто подскажет как отлинковать уже прилинкованные таблицы или более подходящий способ линковки.
'
On Error Resume Next
'
Dim sBase As String
Dim Base1 As Integer
Dim Base2 As Integer
Dim dbs As Database, tdf As TableDef
'
Base1 = InStr(CurrentDb.Name, "Russia-Client.mde")
Base2 = InStr(CurrentDb.Name, "Sales.mde")
If Base1 <> 0 Then
sBase = "\\server1\рабочиебазы$\Russia-Clients.mdb"
ElseIf Base2 <> 0 Then
sBase = "\\server1\рабочиебазы$\SalesDB.mdb"
ElseIf Base1 = 0 And Base2 = 0 Then
MsgBox "Не найдена база данных.", vbCritical + vbOKOnly, "Линковка базы."
Exit Sub
End If
'
Set dbs = CurrentDb
Set tdf = dbs.CreateTableDef("Сотрудники")
tdf.Connect = ";Database=" & sBase
tdf.SourceTableName = "Сотрудники"
dbs.TableDefs.Append tdf
Set dbs = Nothing
'
Set dbs = CurrentDb
Set tdf = dbs.CreateTableDef("Main")
tdf.Connect = ";Database=" & sBase
tdf.SourceTableName = "Main"
dbs.TableDefs.Append tdf
Set dbs = Nothing
'
Set dbs = CurrentDb
Set tdf = dbs.CreateTableDef("Relation")
tdf.Connect = ";Database=" & sBase
tdf.SourceTableName = "Relation"
dbs.TableDefs.Append tdf
Set dbs = Nothing
'
Base1 = 0
Base2 = 0
'