2015-04-30 2 views
1

У меня есть 3 Доступ к базам данных связаны между собой и при перемещении их с одного компьютера на другой, я должен обновить их ...Обновления связанных таблиц при перемещении каталогов

Я пытался с ниже кодом, который, кажется, работает отлично до части обновления ... когда я получаю «не могу найти устанавливаемый ISAM» ... любые идеи, как это решить?

Private Sub RelinkTables() 
Dim oldConnection As String 
Dim newConnection As String 

Dim currentPath As String 
currentPath = CurrentProject.Path 

Dim tblDef As TableDef 

For Each tblDef In CurrentDb.TableDefs 
oldConnection = tblDef.Connect 
If Right(oldConnection, 7) = "l.accdb" Then 
    newConnection = currentPath & "\PL.accdb" 
Else 
    If Right(oldConnection, 7) = "d.accdb" Then 
     newConnection = currentPath & "\MasterDB - consolidated.accdb" 
    Else 
     newConnection = currentPath & "\analysis.accdb" 
End If 
End If 

tblDef.Connect = newConnection 
tblDef.RefreshLink 

Next 

End Sub 
+0

MS говорит его потому, что ACCESS не в состоянии получить доступ к информации в проверки этого: https://support.microsoft.com/en-us/kb/209805 –

ответ

1

Вот .Connect свойства для связанной таблицы, источник которого находится в другой базе данных Access.

? CurrentDb.TableDefs("tblUser").Connect 
;DATABASE=C:\share\Access\loginexample.mdb 

Ваш код не включает "; DATABASE =" часть при создании этих newConnection строк. Вы можете добавить его в свою строку currentPath, а затем она будет включена в ваши строки newConnection.

currentPath = ";DATABASE=" & CurrentProject.Path 
Смежные вопросы