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

Вниз

Запрос к 2-м БД в ADO(Access)   Найти похожие ветки 

 
msguns   (2004-09-28 16:52) [0]

Есть 2 аналогичные по структуре (но не по содержанию) БД аксеса.
Есть 3-я пустая, тоже аналогичная. Надо, сравнивая 1-ю со 2-й, вывести в 3-ю результирующие записи.
Просмотрел весь хэлп по аксесу, но ни намека на гетерогенные запросы (не считая импорта). Получается, что надо тупо открывать 3 курсора (2 на чтение, один на вставку) и перебором по обеим исх.БД вставлять в 3-ю результитрующие строки. SQL и вообще запросы отдыхают. Было бы здорово, если б я ошибался.
Используются компоненты доступа ADO.

Кому-то покажется дилетантским, заранее приношу свои искренние..


 
sniknik ©   (2004-09-28 17:05) [1]

> Просмотрел весь хэлп по аксесу, но ни намека на гетерогенные запросы (не считая импорта).
файл JETSQL40.CHM раздел "предложение IN", select into/insert into
(файл из установки офиса, скорее всего есть на машине с установленным)

> Было бы здорово, если б я ошибался.
здорово! ты ошибаешся.


 
DiamondShark ©   (2004-09-28 17:06) [2]

Во-первых, в Аксесе есть такое понятие, как "присоединённые (или связанные) таблицы".

Во-вторых, есть расширение синтаксиса SQL для доступа к внешним таблицам:

SELECT * FROM [Товары] IN "C:\Program Files\Microsoft Office\Office\Samples\Борей.mdb"


 
msguns   (2004-09-28 17:16) [3]

>sniknik ©   (28.09.04 17:05) [1]
>..файл JETSQL40.CHM..

 Нашел в инсталляхе ;))

>здорово! ты ошибаешся.
 Действительно здОрово !! Всегда б так ошибаться

>DiamondShark ©   (28.09.04 17:06) [2]
>SELECT * FROM [Товары] IN "C:\Program Files\Microsoft Office\Office\Samples\Борей.mdb"

Усе нормально, шеф ! Уже стряпаю секюэльки ;))

Спасибо широковещательное и всего самого..


 
DSKalugin ©   (2004-09-28 17:17) [4]

учи операторы SQL: exists, Any, all, in (вложенные запросы)

CREATE TABLE "detail_number_book1" (
   "cod1"            INTEGER NOT NULL,
   "dn_number1"      VARCHAR(30) NOT NULL,
   "dn_maker1"       SMALLINT NOT NULL,
   "dn_groups1"      SMALLINT,
   "sklad_comment"  VARCHAR(90)
);

CREATE TABLE "detail_number_book2" (
   "cod2"            INTEGER NOT NULL,
   "dn_number2"      VARCHAR(30) NOT NULL,
   "dn_maker2"       SMALLINT NOT NULL,
   "dn_groups2"      SMALLINT,
   "sklad_comment2"  VARCHAR(90)
);

CREATE TABLE "detail_number_book3" (
   "cod3"            INTEGER NOT NULL,
   "dn_number3"      VARCHAR(30) NOT NULL,
   "dn_maker3"       SMALLINT NOT NULL,
   "dn_groups3"      SMALLINT,
   "sklad_comment3"  VARCHAR(90)
);

--------пример-------
вставляю в третью то что есть в первой, но нету во второй
--------
insert into "detail_number_book3" ("cod3", "dn_number3", "dn_maker3", "dn_groups3", "sklad_comment3")
select "cod1", "dn_number1", "dn_maker1", "dn_groups1", "sklad_comment1" from "detail_number_book1
where not exists (select "cod2" from "detail_number_book2
where "detail_number_book2"."cod2"="detail_number_book1"."cod1")


 
msguns   (2004-09-28 17:23) [5]

>DSKalugin ©   (28.09.04 17:17) [4]
>учи операторы SQL: exists, Any, all, in (вложенные запросы)

Спасибо за науку и, особенно, за пример, в котором почему-то нет конструкции "ÍN", в чем, собчтвенно, и заключался ключик ;))



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

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

Наверх




Память: 0.45 MB
Время: 0.034 c
1-1097165028
Cosinus
2004-10-07 20:03
2004.10.24
Возможно ли в одном StringGrid сделать множественное выделение?


3-1096021162
Alexxxxxxxxxx
2004-09-24 14:19
2004.10.24
Как программно изменить значения параметров в BDE


14-1096882266
1008
2004-10-04 13:31
2004.10.24
По-слухам M$ ввела систему учёта посещений сайта пользователями


3-1096274444
Bless
2004-09-27 12:40
2004.10.24
Как восстановить удаленную таблицу!


3-1096454382
leonard
2004-09-29 14:39
2004.10.24
Как отключить пароль в BDE?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский