Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: программное создание ссылок на таблицу Access Добавлено: 06.08.08 23:34  

Автор вопроса:  Marki
Приветствую всех!

Относительно недавно задавал данный вопрос, но так и не нашлось удовлетворительного ответа. С надеждой, что кто то из знающих, пропустивших мой прошлый крик о помощи, наткнется на этот, повторяю:

Предыстория:

Имеется база данных Access. Для возможности оперативного обновления справочных данных без потери наработанных данных, таблицы размещены в нескольких файлах. Используемые запросы одновременно используют таблицы, размещенные в разных файлах и, соответственно, требуется объединение всех таблиц в одну базу для корректной работы. Таким образом сделал вывод (есть лругие варианты - ?) о необходимости подключения к одному из файлов всех таблиц из остальных баз в виде ссылок.

Сам вопрос:

Каким образом программно подключить к базе Access таблицу, взятую из другой базы, в качестве ссылки?

Используется VB EE 2008.

Заранее спасибо всем за помощь.

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 alibek



Вопросов: 1
Ответов: 6
 Профиль | | #1 Добавлено: 08.08.08 22:35
Например, так я делал в VBS (используя ADO).

Private Sub LinkTables()
Dim db
Set db = CreateObject("ADOX.Catalog";)
Set db.ActiveConnection = DBConnection
LinkDBFTable db, "SOCRBASE"
LinkDBFTable db, "KLADR"
LinkDBFTable db, "STREET"
Set db = Nothing
End Sub

Private Sub LinkDBFTable(Catalog, File)
Dim Table, Path
Path = "."
Set Table = CreateObject("ADOX.Table";)
With Table
  .Name = File
  Set .ParentCatalog = Catalog
  .Properties("Jet OLEDB:Link Provider String";) = "dBase 5.0;HDR=NO;IMEX=2;"
  .Properties("Jet OLEDB:Remote Table Name";) = File & "#DBF"
  .Properties("Jet OLEDB:Link Datasource";) = Path
  .Properties("Jet OLEDB:Remote Table Name";) = File
  .Properties("Jet OLEDB:Create Link";) = True
End With
Catalog.Tables.Append Table
End Sub

В ADO.NET отличия конечно будут, но не принципиальные.

Ответить

Номер ответа: 2
Автор ответа:
 Marki



Вопросов: 42
Ответов: 94
 Профиль | | #2 Добавлено: 09.08.08 00:05
ЧТо-то совсем не идет ничего...
а что из себя представляет
DBConnection
в
Set db.ActiveConnection = DBConnection
?!

Ответить

Номер ответа: 3
Автор ответа:
 alibek



Вопросов: 1
Ответов: 6
 Профиль | | #3 Добавлено: 09.08.08 02:52
ADODB.Connection

Ответить

Номер ответа: 4
Автор ответа:
 Marki



Вопросов: 42
Ответов: 94
 Профиль | | #4 Добавлено: 09.08.08 03:04
Вроде разобрался почему не работало :)
"Это нельзя понять, это надо запомнить" (с)
Еще покопаюсь, чтобы в голове улеглось, но суть ясна и вопрос закрыт.
Всем спасибо за помощь.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам