![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Подскажите идею решения [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]Идея... В екселе можно сделать запрос из двух баз поместить их страници например. А затем написатй запрос к этому ексел файлу.
Это правда только если не ежедневно надо, а так иногда..