![]() |
|
![]() ![]() ![]() |
|
EmilRegis |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 306 Регистрация: 21.9.2007 Репутация: нет Всего: 4 |
Здравствуйте...что-то на могу сообразить как сделать следущую вещь и можно ли вообще такое сделать...
У меня есть программа, в которой данными заполняется табличка...при двойном щелчке на строчке этой таблицы появляется фастрепортовский отчёт...Так же есть функция "Показать всё" - она выводит отчёты по всем строкам таблицы... Дело в том, что данные, которые отображаются в таблице и в отчётах - разные...Поэтому приходится делать довольно сложный запрос к бд, чтобы вытянуть и те данные, которые показываются в таблице, и те, которые отображаются в отчёте...Запрос оказывается очень сложным и выполняется долго(при том, что каждый раз достаётся 3-5тыс записей) Было решено разделить запросы для таблицы и для отчётов... Т.о. теперь у меня таблица заполняется очень быстро и для отчётов я создал параметризованный запрос, использующий в качестве параметров данные выбранной строки таблицы...Здесь всё работает замечательно, но проблема в другом.Теперь мне надо, чтобы работала функция "Показать всё", а это не получается, т.к. запрос параметризованный то у меня получается 5тыщ одинаковых отчётов, т.к. когда я пишу
используются параметры одной строки... Вопрос, как мне можно и можно ли сделать так, чтобы заполнить один датасет в зависимости от того как заполнен другой датасет? |
|||
|
||||
EmilRegis |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 306 Регистрация: 21.9.2007 Репутация: нет Всего: 4 |
что, никто не знает?
|
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
В скобках запрос показываемого датасета, если ты конечно свои записи показываешь запросом, а не фильтрацией по таблице -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
EmilRegis |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 306 Регистрация: 21.9.2007 Репутация: нет Всего: 4 |
всё было бы здорово...но в отчётном запросе есть одна дурацкая связка...Связываются 3 таблицы, в одной из них время работы, в другой логин того кто работает и общий логин для группы, а в третьей соответствие общего логина и ФИО...фишка в том, что надо доставать ФИО, соответствующее общему логину, а если время больше 17:00:00 то доставать ФИО, соответствующее логину CLVECH...в итоге из-за этого дурацкого условия запрос для отчётов выглядит примерно так
и вот последнее условие и рушит возможность использовать приведённый вами пример...для каждой записи в гриде известны sdid и sprb_hour, но вот как построить запрос, использующий эти параметры и проходящий по всем записям грида непонятно |
|||
|
||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
Логин для всех записей у вас получается один до 17, второй после 17, в чем тога проблема, передавайте вместо sdid одной строки сразу выборку?
-------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
EmilRegis |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 306 Регистрация: 21.9.2007 Репутация: нет Всего: 4 |
а как быть со строчкой
тут параметры sprb_hour и sccontr для каждой строки гридовой выборки разные... то есть у меня первая выборка(для грида) выглядит следующим образом
|
||||
|
|||||
Vas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 29.6.2005 Где: Stavropol region Репутация: 23 Всего: 28 |
А откуда они в грид попадают то? sprb_hour - это время? sccontr аналогично, для текущего пользователя ФИО по его логину одно Для формирования отчето оно одно, а не для каждой строки разное, или я чегото не догоняю? Ну если как то в гриде они связываются то также и в запросе в отчет можно их связать. -------------------- И опыт, сын ошибок трудных, И гений, парадоксов друг, И случай, бог изобретатель. ... (А.С. Пушкин) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |