Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

SQL запрос к двум базам Access из Делфи.


alvltss ©   (11.09.17 20:37

Приветствую всех!
Подскажите, пожалуйста, как можно сделать SQL запрос к двум базам Access из Делфи одновременно.  Не понимаю как в один  ADOQuery "впихнуть" вторую базу и выбрать из нее значения по соответсвующим полям из результата запроса к первой.
Буду признателен за подсказки/примеры.


sniknik ©   (11.09.17 21:22[1]

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

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

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

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

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

Ниже перечислены аргументы инструкции SELECT, содержащей предложение IN:


TohaNik ©   (15.09.17 12:08[2]


> sniknik ©   (11.09.17 21:22) [1]
> Предложение IN

Круто!

> alvltss ©   (11.09.17 20:37) 

Забей:)


alvltss ©   (17.09.17 07:48[3]

В общем, попробовал но нифига не получается. Например, простой запрос

Select * from Logs  IN [Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Config.mdb; Persist Security Info=False;]

выдает ошибку "Источник данных не найден и не указан драйвер, используемый по умолчанию", хотя все это прописано.
Кроме того, выскакивает окно авторизации. Как его отключить в строке подключения непонятно.
Если выполнить это запрос при подключенной базе, то выскакивает ошибка "Неправильно определен объект Parameter. Представлены несогласованные или неполные сведения"
Как это все победить?


sniknik ©   (17.09.17 16:52[4]

> Как это все победить?
справку почитать как же еще... полную, для Jet.

> выдает ошибку "Источник данных не найден и не указан драйвер, используемый по умолчанию", хотя все это прописано.
хрень прописана.
тут даже из приведенного кусочка справки ясно, что твой "простой запрос" кривой, не соответствует ...
{путь | ["путь" "тип"] | ["" [тип; DATABASE = путь]]}
вот где например тут слово Provider? и вообще сказано что тут полная строка подключения для ado-шного драйвера?


sniknik ©   (17.09.17 16:59[5]

> Select * from Logs  IN [Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\Config.mdb; Persist Security Info=False;]

Select * from Logs  IN "D:\Config.mdb"


alvltss ©   (20.09.17 19:11[6]

Спасибо тебе, мил человек :)   Помогло, буду ковырять дальше...


alvltsss   (26.09.17 07:37[7]

Сделал такой запрос

qry_SQL.SQL.Add('select Seconds from SutvValueTable  ' );
        qry_SQL.SQL.Add ('INNER JOIN DataTable IN "Q:\Systel\Bin\Zerver.mdb"  ');
        qry_SQL.SQL.Add ('ON SutvValueTable.RegionIndex= DataTable.RegionIndex  ');
        qry_SQL.SQL.Add('AND SutvValueTable.DataIndex= DataTable.DataIndex  ');
        qry_SQL.SQL.Add (' where Seconds= (SELECT max(Seconds ) From SutvValueTable)  ');
        qry_SQL.SQL.Add('and (Status> 4095) and (Status< 8092) and (Status mod 2 = 0)  ');

Синтаксическая ошибка. Что тут не так? Может надо указать полный путь в строках 2 и 3 ?
Также в первой строке хочу указать поле из DataTable. Но тоже не совсем понятно, с полным путем указывать или как?
Подскажите, кто может, плиз....


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо