Как на одном бэнде использовать разные источники?
При построении отчета мне требуется выводить на одном MasterData результаты из разных запросов к базе данных. Эти запросы синхронизированы по какому-то полю, но количество их разное (в смысле: в одном из результатов присутствуют не все строки данных).
Ну так вот: каким образом можно синхронизировать данные?
К примеру вывожу в Memo1: query1.data1 а в Memo2: query2.data1
В обоих запросах есть некий ID, по которому я и хочу их синхронихировать.
К сожалению объединение запросов невозможно (каждый из запросов использует кучу таблиц с разными критериями - очень сложные получаются), и использоваться этих запросов будет всего 3-4.
Ну так вот: каким образом можно синхронизировать данные?
К примеру вывожу в Memo1: query1.data1 а в Memo2: query2.data1
В обоих запросах есть некий ID, по которому я и хочу их синхронихировать.
К сожалению объединение запросов невозможно (каждый из запросов использует кучу таблиц с разными критериями - очень сложные получаются), и использоваться этих запросов будет всего 3-4.
Комментарии
if [DialogForm.Query3."ID"]=[DialogForm.Query2."ID"] then
begin
if not Query2.EOF then
begin
DisplayResult:=[DialogForm.Query2."Data"];
Query2.Next;
end;
end
else DisplayResult:=null;
(DisplayResult: переменная для вывода в мемо)
То же самое повторяем для Query1.
Query3 запрос простой, к одной таблице, потому тормозов не добавляется.
Если так не хочешь, можно сделать с тремя запросами: первый выбирает ключевое поле, как сказал Андрей С, он назанчается мастер-дате нулевой высоты. К нему цепляются 2 детэйл-даты со своими запросами, в качестве источника - первый запрос.
Так проще. Единственно что- сортировка будет неизвестно какой.