Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите идею решения [D7, XP]


deras ©   (2008-06-10 20:35:00) 

Есть 2 БД Парадокс (так получилось) и FB2.0
Таблица Парадокс:
 spracc - простой справочник счетов (поля ID, NAME), в который пользователь иногда вносит новые счета

Таблица FB:
 docs - таблица документов (для простоты укажу такие поля: ID, ACCD, ACCK, AMT), где ACCD, ACCK - это NAME из spracc

Необходимо выбрать  все документы, ACCD, которых есть в spracc. Проблемки б не было, если б таблицы одной БД, А так...
Я думаю так: можно из spracc формировать строку типа '(ACCD='260045433' or ACCD='260045431' or ACCD='260045449'......)  и енту строку позставлять в запрос к таблице docs. Но насколько длинной может быть такая подстрока. Ее длинна ограничивается только размером переменной или СКЛ имеет ограничения на длинну строки запроса?

З.Ы. Прошу не комментировать - почему так криво БД, таблицы и т.д. - все уже сделано до меня. Мне надо приспосабливаться к существующему.
Спасибо.


deras   (2008-06-10 21:38:00) [1]


> а соединить все это в одну БД нельзя?


к сожалению, нельзя. Если б можно было, я б так и сделал


Правильный_Вася   (2008-06-10 21:36:00) [2]


> а как нащет того, чтоб формировать подстроку для запроса
> (описано в вопросе)? Неэффективно?

длина запроса может превысить предел для сервера

а соединить все это в одну БД нельзя? ведь перенести справочник счетов и переделать 10 строк в программе особого труда не составляет


deras   (2008-06-10 21:21:00) [3]

а как нащет того, чтоб формировать подстроку для запроса (описано в вопросе)? Неэффективно?


deras   (2008-06-10 21:04:00) [4]


> ZENsan ©   (10.06.08 20:57) [1]

а запрос в ексель руками прописывать? Или я не правильно понял Вашу идею?


MsGuns   (2008-06-10 21:03:00) [5]

Вариант 2.
Все через БДЕ. Гетерогеный запрос


MsGuns   (2008-06-10 21:02:00) [6]

Два соединения, два датасета. Оба открываем на чтение, во втором ищем то, что есть в первом, найденные кладем в третий (например, TCliaenDataSet), который и показываем


zensan   (2008-06-10 20:58:00) [7]

Там ты сможешъ использовать и выражения IN и всё что ADO позволяет.


ZENsan   (2008-06-10 20:57:00) [8]

Идея... В екселе можно сделать запрос из двух баз поместить их страници например. А затем написатй запрос к этому ексел файлу.
Это правда только если не ежедневно надо, а так иногда..


Наверх

Титульная страница Поиск, карта сайта Написать письмо