2 потока в fastreport

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Rishat
Постоянный обитатель
Сообщения: 191
Зарегистрирован: 12 сен 2005, 17:10
Откуда: Наб. Челны

2 потока в fastreport

Сообщение Rishat »

субж. что и как надо сделать чтобы в один fastreport отчет загнать 2 независимых потока?
Rishat
Постоянный обитатель
Сообщения: 191
Зарегистрирован: 12 сен 2005, 17:10
Откуда: Наб. Челны

Сообщение Rishat »

мдя видимо fastreport'ом никто не пользуется. :P
Goblin
Местный житель
Сообщения: 474
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь-матушка
Контактная информация:

Сообщение Goblin »

2 Dataset'а в DataStream
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Rishat
Постоянный обитатель
Сообщения: 191
Зарегистрирован: 12 сен 2005, 17:10
Откуда: Наб. Челны

Сообщение Rishat »

вы наверное меня неправильно поняли. мне надо 2 create view. как такое реализовать?
Goblin
Местный житель
Сообщения: 474
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Сибирь-матушка
Контактная информация:

Сообщение Goblin »

А один Create View, но с двумя независимыми ветвями чем не устраивает ?

Потом поля этих ветвей объявить 2 таблицами в одном DataStream'е

Код: Выделить всё

datastream stream1
(

table table1
(
поля первой ветки
)

table table2
(
поля второй ветки
)

;
)
end;
Правда не представляю себе задач, где такое (2 независимые ветки в Create View или же 2 Create View независимых) может понадобиться
Питаю патологические отвращение и ненависть в особо тяжелой и крайне запущенной формах к семейству программ Microsoft Business Solution !
Восславим господа Кришну за то, что у нас есть ГАЛАКТИКА !
Rishat
Постоянный обитатель
Сообщения: 191
Зарегистрирован: 12 сен 2005, 17:10
Откуда: Наб. Челны

Сообщение Rishat »

нет не походит.
вот такая вот задача. в одном select нельзя вывести то что надо. :Р потому и нужен второй поток.
хотя бы для примера есть вот такое

persons.appointcur == appointments.nrec
apphist.cappoint /== appointments.nrec
и в то самое время надо вывести
persons.appointfirst == appointments.nrec
apphist.cappoint /== appointments.nrec

синонимы не канают. пробовали.
так работает
select * from persons, appointments, synonym appointments app2 where
((
persons.APPOINTfirst==appointments.nrec
and
persons.APPOINTcur==app2.nrec
))

а вот так нет. идет перемножение..


select * from persons, appointments, synonym appointments app2, apphist, synonym apphist apphist2 where
((
persons.APPOINTfirst==appointments.nrec
and
apphist.cappoint /== appointments.nrec

and
persons.APPOINTcur==app2.nrec
and
apphist2.cappoint /== app2.nrec
))
Rishat
Постоянный обитатель
Сообщения: 191
Зарегистрирован: 12 сен 2005, 17:10
Откуда: Наб. Челны

Сообщение Rishat »

и опять тишина... техподдержка как всегда молчит. :\
dp
Местный житель
Сообщения: 216
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Беларусь, Минск
Контактная информация:

Сообщение dp »

Rishat
select * from persons, appointments, synonym appointments app2, apphist, synonym apphist apphist2 where
((
persons.APPOINTfirst==appointments.nrec
and
apphist.cappoint /== appointments.nrec

and
persons.APPOINTcur==app2.nrec
and
apphist2.cappoint /== app2.nrec
))
а зачем использовать жесткие подцепки? они и так сложно работают - а тут их аж 2 сразу?

Код: Выделить всё

select 
 * 
from 
 persons
, apphist
, apphist apphist2 
where 
(( 
    persons.APPOINTfirst == apphist.cappoint
and persons.APPOINTcur   == apphist2.cappoint
))
вот это, по моему, идентично будет тому, что выше написано.

или я идеи не понял?

Что получить-то нужно?
Rishat
Постоянный обитатель
Сообщения: 191
Зарегистрирован: 12 сен 2005, 17:10
Откуда: Наб. Челны

Сообщение Rishat »

2 dp
а куда выкинули appointments. оттуда также требуется вывести данные.
напр.

ФИО Табельн. № Дата1 Код1 Дата2 Код2
где
persons.fio - ФИО,
persons.tabnmb - Табельн.№,
appointments.appointdate - Дата1,
apphist.codoper - Код1,
app2.appointdate - Дата2,
apphist2.codoper - Код2

в осадке должно получиться вот так

ФИО1 234 23.02.2005 1 25.02.2005 50
ФИО2 235 18.01.2005 1 18.01.2005 1
ФИО3 236 01.01.2005 1 - -

....

использую "обходной путь" в принципе можно получить данные которые мне треба. :)

select
persons.fio, persons.tabnmb, apphist.codoper, apphist2.codoper , appointments.appointdate, app2.appointdate
from
persons
, apphist
, apphist apphist2
, appointments
, appointments app2
where
((
persons.APPOINTfirst == apphist.cappoint
and persons.APPOINTcur == apphist2.cappoint
and apphist.cappoint == appointments.nrec
and apphist2.cappoint == app2.nrec
));


большой сенкс. вы мне подали мне хорошую идею. :))
будем пытать.. надеюсь больше проблем не возникнет..
т.к. мне еще порядка 3-4 табл к этому запросу цеплять. :)
dp
Местный житель
Сообщения: 216
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Беларусь, Минск
Контактная информация:

Сообщение dp »

Rishat так я и спрашивал - что нужно получить? :grin:

потому как не зная задачи нельзя предложить точное решение.

и в целом, по-моему, нужно избегать жестких подцепок - потому как очень не очевидно как они отработают и что получится на после компиляции (бывает что срабатывают на внешней выгрузке и это очень большие тормоза).

уж лучше построить на обычных подцепках, а там где не хватает индекса написать (noindex)
Ответить