|
|
|
Forum Guru
      
участник
Last Login: 23.10.2006 16:18
Сообщ.: 70,
Visits: 704
|
|
| Люди знающие, подскажите! Имеются прилинкованные таблицы. Имена внешних файлов не меняются, а пути (каталоги) меняются. Как программно изменить путь к прилинкованному файлу и обновить связь?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 06.07.2008 10:37
Сообщ.: 236,
Visits: 1 734
|
|
| Наверное единственный выход в такой ситуации заново линковать эти таблицы с новым месторасположением, предварительно удалив старые. Что бы сделать програмно см. справку по TransferDatabase.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 07.03.2008 19:04
Сообщ.: 328,
Visits: 1 857
|
|
Dim MDB As Database, MT As TableDef, NamTab As String
Set MDB = CurrentDb
NamTab="Имя_прилинкованной таблицы"
' Удаляем прилинкованную таблицу
On Error Resume Next
MDB.TableDefs.Delete NamTab
On Error GoTo 0
' Прилинковываем таблицу в предположении, что прилинковання
' таблица имеет такое же имя, как и в родной базе
Set MT = MDB.CreateTableDef(NamTab)
MT.Connect = ";DATABASE=" & Полный_путь_к_базе_где_таблица
MT.SourceTableName = NamTab
MDB.TableDefs.Append MT
|
|
|
|
|
Forum Guru
      
участник
Last Login: 23.10.2006 16:18
Сообщ.: 70,
Visits: 704
|
|
| Удаление проходит без проблем. А вот на строке Set MT = MDB.CreateTableDef(NamTab) MT.Connect = "ODBC;DSN=Paradox Dos;DATABASE=Q:\CE2\fkl.db" MT.SourceTableName = NamTab MDB.TableDefs.Append MT идет спотыкание... Я прилинковываюсь к таблице Paradox. Имя файла и наименование прилинкованной таблицы различны...
|
|
|
|
|
Supreme Being
      
участник
Last Login: 07.03.2008 19:04
Сообщ.: 328,
Visits: 1 857
|
|
Тип базы, к которой линкуемся, не был указан, поэтому, по умолчанию, я принял mdb.
Для Paradox привожу пример из Help
В следующем примере в указанной базе данных создается объект TableDef.
Затем задаются значения его свойств Connect и SourceTableName и объект
добавляется в семейство TableDefs.
Sub ConnectSource()
Dim dbs As Database, tdf As TableDef
' Возвращает ссылку на текущую базу данных.
Set dbs = CurrentDb
' Создает новый объект TableDef.
Set tdf = dbs.CreateTableDef("АвторPDX")
' Устанавливает связь с таблицей Paradox «Авторы» в базе данных C:\PDX\Публикации.
tdf.Connect = "Paradox 4.X;Database=C:\PDX\Публикации"
tdf.SourceTableName = "Авторы"
dbs.TableDefs.Append tdf
Set dbs = Nothing
End Sub
|
|
|
|
|
Forum Guru
      
участник
Last Login: 23.10.2006 16:18
Сообщ.: 70,
Visits: 704
|
|
| Все зарабоотало, спасибо! Ошибка была в том, что я указывал имя файла и расширение при указании самой базы данных. Нужно было прописать без имени файла MT.Connect = "ODBC;DSN=Paradox Dos;DATABASE=Q:\CE2" а имя файла указать в MT.SourceTableName = "fkl" без расширения.
|
|
|
|
|
новичок
      
участник
Last Login: 07.04.2007 17:03
Сообщ.: 2,
Visits: 3
|
|
| А как сделать для текстовой к примеру "file.txt" таблице, с сохраненой спецификацией
|
|
|
|
|
новичок
      
участник
Last Login: 07.04.2007 17:03
Сообщ.: 2,
Visits: 3
|
|
| да забыл добавить акссес-97
|
|
|
|
|
|
| | |