Запрос по двум БД
От: Koumandin Россия  
Дата: 13.05.01 18:20
Оценка:
Приветствую всех

Есть проблема: Надо построить средствами MFC и DAO запрос по таблицам, лежащим в двух различных файлах MDB. Как это можно сделать ?
Решение найденное мной таково: Можно средствами MS Accessa ввести в базу ссылки на таблицы из другой базы ( внешние данные\связь с таблицами ). После этого можно работать с одной базой ( по ссылкм ). Но это требует изменения структуры БД, что неприемлемо в моем случае.
Есть ли у кого какие соображения?

Заранее thanks :)
Re: Запрос по двум БД
От: IT Россия linq2db.com
Дата: 14.05.01 11:16
Оценка:
K>Есть проблема: Надо построить средствами MFC и DAO запрос по таблицам, лежащим в двух различных файлах MDB. Как это можно сделать ?
K> Решение найденное мной таково: Можно средствами MS Accessa ввести в базу ссылки на таблицы из другой базы ( внешние данные\связь с таблицами ). После этого можно работать с одной базой ( по ссылкм ). Но это требует изменения структуры БД, что неприемлемо в моем случае.
K>Есть ли у кого какие соображения?

Sdelaj novuju bazu i vnesi v nejo ssylki iz pervyh dvuh.
Если нам не помогут, то мы тоже никого не пощадим.
Re[2]: Запрос по двум БД
От: Koumandin Россия  
Дата: 14.05.01 15:40
Оценка:
Здравствуйте IT, вы писали:

IT>Sdelaj novuju bazu i vnesi v nejo ssylki iz pervyh dvuh.


А как это можно сделать из программы на VС ( средствами ДАО или SQL ) ?
И потом это не совсем то, о чем мечталось :(
Re: Запрос по двум БД
От: Андрей  
Дата: 05.06.01 06:18
Оценка:
Здравствуйте Koumandin, вы писали:

K>Есть проблема: Надо построить средствами MFC и DAO запрос по таблицам, лежащим в двух различных файлах MDB. Как это можно сделать ?

K> Решение найденное мной таково: Можно средствами MS Accessa ввести в базу ссылки на таблицы из другой базы ( внешние данные\связь с таблицами ). После этого можно работать с одной базой ( по ссылкм ). Но это требует изменения структуры БД, что неприемлемо в моем случае.
Честно сказать не понял, что хочешь? Во первых: Select... позваляет делать выборку из другой БД.Во вторых: можно организовать подключение к новой БД и с ним работать.(Есть отличная книга по Access(правда 2000, но это даже лучше)"Access200 Руководство разработчика"Пол Литвин,Кен Гетц, Майк Гилберт в 2-х томах).
Способов достаточно,но самый быстрый и простой способ прилинковать таблицы (особого нежелательного изменения структуры БД не вижу).
Re: Запрос по двум БД
От: masquer Украина  
Дата: 01.08.01 06:51
Оценка:
Взято из MSDN

HOWTO: Access Multiple Databases in an SQL Query in VB 3.0
ID: Q113701

Code Example of a Multiple Database Query
This example creates a dynaset joining two tables from two data sources, one an SQL Server and the other a Microsoft Access database. The TestTab table is on the SQL Server and the T1 table is in the Microsoft Access database.

Dim db As database
Dim ds As dynaset
Dim sql As String, Uid$, Pwd$

Set db = OpenDatabase("C:\VB\BIBLIO.MDB")
' This obtains a valid database object. It does not have to be a Microsoft
' Access database; the following works equally as well:
' Set db = OpenDatabase("C:\FOXPRO25\", 0, 0, "foxpro 2.5")

' The values here are hard-coded, but you could prompt the user for their
' user id and password.
Uid$ = "sa"
Pwd$ = ""

' Build the select statement, concatenating the user's id and password:
sql = "SELECT T1.F2, TestTab.F2, TestTab.F3"
sql = sql & " FROM [;database=C:\ACCESS\DB1.MDB].T1 , "
sql = sql & " [odbc;dsn=texas;database=playpen;uid=" & Uid$
sql = sql & ";pwd=" & Pwd$ & "].TestTab"
sql = sql & " WHERE T1.F1 = TestTab.F1"

' Execute the select query:
Set ds = db.CreateDynaset(sql)

' Loop through and display the records:
While Not ds.EOF
For i = 0 To ds.Fields.Count — 1
Print ds(i); " ";
Next i
Print
ds.MoveNext
Wend
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.