|
Связанный подотчет не фильтрует выборку
|
|||
---|---|---|---|
#18+
Друзья, есть связанный подотчет, в который передается значение параметра. Финальный результат выборки подотчета устраивает (он корректный), но такое ощущение, что сперва все строки (для подотчета) из таблицы грузятся в Crystal, а затем уже из них, сам Crystal выбирает данные для финального результата (который отображается) по заданному фильтру (который передается в подотчет из главного). У меня в статусной строке видно как Crystal перебирает строки (все 120 тыс.) Это занимает около 3-х минут. Нельзя ли заставить Crystal выбирать из БД сразу по фильтру? Как это делает основной отчет (он отрабатывает 1-2 сек) Если запустить код выборки из подотчета, то он тоже отработает за 1-2 сек (сразу с условием выборки, конечно). Я смог объяснить ситуацию? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2013, 16:13 |
|
Связанный подотчет не фильтрует выборку
|
|||
---|---|---|---|
#18+
немного разобрался. в подотчет действительно выбиралась ВСЯ таблица, а затем с помощью формул, из полной выборки выбирались нужные записи. Как сделать так, чтобы параметр подотчета который передается из основного отчета, точно так же можно было использовать в select'e подотчета. если добавитб классическим путем, то при просмотре (print preview) он запрашивает значение параметра наравне с параметрами для основного отчета. Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2013, 16:36 |
|
Связанный подотчет не фильтрует выборку
|
|||
---|---|---|---|
#18+
Разобрался. Рапортую. Подытожим задачу. Требовалось, сделать так, чтобы подотчет не грузил все строки из БД, а затем у себя сортировал выборку. Такое поведение происходит, если связать основной отчет и подотчет обычным методом. Как обойти. 1. создаем параметр "MainReport" в основном отчете. 2. создаем параметр "SubReport" в под отчете 3. В окне линкования (в левом верхнем блоке) выбираем наш параметр и жмем ">" 4. В левом нижнем блоке окне линкования, выбираем параметр "SubReport". 5. Затем в селекте в подотчете (database expert -> edit command) создаем параметр "SubReport" (имя должно совпадать) и прописываем его как условие выборки (например в секцию where) Готово. Результат. Запрашивать значение параметра "SubReport" не будет. Сам подотчет будет работать только с фильтрованной выборкой. Профит. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.01.2013, 17:21 |
|
|
start [/forum/topic.php?fid=31&msg=38112502&tid=1534146]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
others: | 262ms |
total: | 382ms |
0 / 0 |