В настоящее время я работаю над перемещением сотен баз данных доступа из различных папок в другой набор папок, и мне нужно обновить любые ссылки на связанные таблицы, которые будут повреждены во время перемещения.Я определил, как обновить местоположение таблицы связанной базы данных, добавив макрос в саму базу данных доступа, выполнив что-то вроде следующего:
Dim tdf As TableDef, db As Database
Set db = CurrentDb
db.TableDefs.Refresh
For Each tdf In db.TableDefs
' My Logic for checking to see if it is is a linked
' table and then updating it appropriately
Next
Set collTables = Nothing
Set tdf = Nothing
Set db = Nothing
Однако я не хочу добавлять кодк каждой из баз данных доступа, поэтому мне было интересно, есть ли способ создать файл VBS, который будет выполнять логику того же типа.Я попробовал следующий код, но я получаю следующую ошибку, когда выполняется строка с каждой логикой: «Аргументы имеют неправильный тип, находятся за пределами допустимого диапазона или конфликтуют друг с другом»
Set MyConn = CreateObject("ADODB.Connection")
MyConn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = MyFile.mdb"
for each tblLoop in db.TableDefs
' business logic
next
set tblLoop = nothing
MyConn.close
set MyConn = nothing
Я надеюсь, что кто-то, более знакомый с этим типом кодирования, сможет указать мне правильное направление.Есть ли способ использовать таблицу TableDefs извне Access через VBS-файл и, если да, как будет выглядеть этот код.
Спасибо, Джереми