Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.04;
Скачать: CL | DM;

Вниз

АDO и ACCESS   Найти похожие ветки 

 
Петр ©   (2003-08-08 05:10) [0]

Добрый день, уважаемые знатоки !

Есть такая проблема: Стоит задача импорта данных из одного mdb файла в другой. При помощи каких компонент АDO это можно сделать?

Проблема заключается в том, что Query подключается только к одному ADOConnection, к которому, в свою очередь, можно подключить только один файл mdb.

Запрос SQL, для перекачки данных я составил, но как реализовать подключение к Query двух файлов mdb?, посколько сам запрос предполагает обращение к таблицам, находящимся в разных физических файлах.


 
SPIRIT ©   (2003-08-08 06:25) [1]

Два TAdoConnection нельзя на одну форму кинуть что ли ?


 
Петр ©   (2003-08-08 06:44) [2]

Я так и сделал. Кинул 2 TADOConnection, подключил каждый к своему mdb, подключил каждый файл к ADOTable, но дело все в том, что мы получаем 2 набора данных, а как SQL будет воспринимать эти наборы? Или я чего-то не допонимаю? Как мне в SQL запросе обратиться в двум этим разным файлам?


 
Stas   (2003-08-08 07:16) [3]

А если сначала скопировать куда-то данные из одной базы, потом переключиться на другой ADOConnection и добавить данные оттуда куда ты их временно кинул?


 
sniknik ©   (2003-08-08 08:18) [4]

не надо два конекта, одного вполне достаточно, для нешних данных используется IN в запросах. (SELECT INTO ..., INSERT INTO....)
можно даже обьеденение и общий запрос с несколькими базами построить.

из хелпа

Предложение IN
Определяет таблицы в любой внешней базе данных, с которой ядро базы данных Microsoft Jet может установить связь, например в базе данных dBASE, Paradox или внешней базе данных с ядром Microsoft® Jet.

Синтаксис
Чтобы определить результирующую таблицу:

[SELECT | INSERT] INTO назначение IN
{путь | ["путь" "тип"] | ["" [тип; DATABASE = путь]]}

Чтобы определить исходную таблицу:

FROM выражение IN
( по отношению к текущему коннекту) не надо два конекта, одного вполне достаточно, для нешних данных используется IN в запросах. (SELECT INTO ..., INSERT INTO....)
можно даже обьеденение и общий запрос с несколькими базами построить.

из хелпа

Предложение IN
Определяет таблицы в любой внешней базе данных, с которой ядро базы данных Microsoft Jet может установить связь, например в базе данных dBASE, Paradox или внешней базе данных с ядром Microsoft® Jet.

Синтаксис
Чтобы определить результирующую таблицу:

[SELECT | INSERT] INTO назначение IN
{путь | ["путь" "тип"] | ["" [тип; DATABASE = путь]]}

Чтобы определить исходную таблицу:

FROM выражение IN
{путь | ["путь" "тип"] | ["" [тип; DATABASE = путь]]}


пример открытия таблици из внешней(по отношению к текущему коннекту) базы
SELECT * FROM TableName IN "D:\ExternBase.mdb"


 
malamba   (2003-08-08 14:42) [5]

А если у него строки соединения разные, т.е. два разных TADOConnection?
Но все равно проблем быть не должно - два соединеия, два DataSet, а запросы передаются каждый своему набору данных


 
sniknik ©   (2003-08-09 14:46) [6]

malamba (08.08.03 14:42)
> А если у него строки соединения разные, т.е. два разных TADOConnection?
а с двумя конектами общих запросов не получится, только на уровне движка соеденяются. именно для этого и есть поддержка.


 
Hawk2   (2003-08-09 17:51) [7]

Если полей не очень много то можно еще одним способом, хоть и корявым, но все же вариант. Открываешь одну таблицу c помощью Query, а вторую с через Table. В первой выбираешь то что тебе нужно и потом в цикле:
While not Query.EOF do
begin
Table.Append;
Table.FieldByName("SomeField").AsSomeType:=Query.FieldByName ("SomeField").AsSomeType;
Table.Next;
end;
Вроде бы так.


 
Um   (2003-08-12 06:39) [8]


> sniknik

Клёво, давно искал, и главное просто



Страницы: 1 вся ветка

Текущий архив: 2003.09.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.014 c
14-10931
Soft
2003-08-16 18:36
2003.09.04
На начальном этапе есть шанс заработать до 100% в месяц, а далее


6-10848
leonidus
2003-06-29 00:38
2003.09.04
Странности работы NMHTTP


3-10572
Denkop
2003-08-14 12:46
2003.09.04
Связи посредством SQL


7-11004
Fants
2003-06-19 17:12
2003.09.04
Свое расширение файла в системе


14-10889
DeMoN-777
2003-08-18 17:18
2003.09.04
Проблемы с видеокартой