Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Компоненты Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.12.2008, 14:05   #1
Var17
Пользователь
 
Регистрация: 13.12.2007
Сообщений: 41
По умолчанию вопрос по FastReport

Используется FastReport 2,5. Вопрос - в шаблоне есть таблица с бэндами master header, master data c результатами запроса под таблицей бэнд report summary - строка текстовая. Как связать текстувую строку с таблицей, чтобы если таблица была пуста строка не выводилась в отчет. И еще вопрос как сделать чтобы данная строка не разрывалась с таблицей т.е. не показывалась одна на странице.
Var17 вне форума Ответить с цитированием
Старый 22.12.2008, 19:17   #2
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

Подробнее пожалуйста:
Цитата:
Сообщение от Var17 Посмотреть сообщение
Используется FastReport 2,5. Вопрос - в шаблоне есть таблица с бэндами master header, master data c результатами запроса под таблицей бэнд report summary - строка текстовая. Как связать текстувую строку с таблицей, чтобы если таблица была пуста строка не выводилась в отчет.
Вас волнует, что при наличии записей в таблице = 0, у вас выводятся итоги с нулями?
Если это так, как я понял, то это не существенно, незаморачивайтесь...
Цитата:
Сообщение от Var17 Посмотреть сообщение
И еще вопрос как сделать чтобы данная строка не разрывалась с таблицей т.е. не показывалась одна на странице.
Объясните, как она разрывается...
Rik вне форума Ответить с цитированием
Старый 24.12.2008, 00:40   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Если это так, как я понял, то это не существенно, незаморачивайтесь...
извините, позвольте с Вами не согласиться!
В FastReport можно писать скрипты - и там это решается довольно легко!


Цитата:
Сообщение от Var17
еще вопрос как сделать чтобы данная строка не разрывалась с таблицей т.е. не показывалась одна на странице.
а вот это довольно замороченно... Хотя, разработчики на конференции говорили, что вроде бы в 3-й/4-й версии FastReport будут какие-то средства борьбы с "висячими" band report'ами.... но, на практике, могу порекомендовать такой способо - для фастрепорта включайте опции управления шириной полей и научите пользователя, если разорвалась одна строка - либо уменьшать верхние/нижние поля до минимума, чтобы последняя строка "подтянулась" на предпоследний лист, либо увеличивая поля, добиться, чтобы часть таблицы с данными "переползла" на последний лист к строке с итогами/подписями....

p.s. если нужны подробности - спрашивайте...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 24.12.2008, 12:32   #4
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
вроде бы в 3-й/4-й версии FastReport будут какие-то средства борьбы с "висячими" band report'ами
Действительно, начиная с 3-й версии в FastReport у "бэндов" есть свойства
-разрешить разрыв
-держать child вместе
-печатать child если невидимый
А у тестовых полей
-скрывать нули
-скрывать повторяющиеся
... и многое другое.
_SERGEYX_ вне форума Ответить с цитированием
Старый 24.12.2008, 17:14   #5
Var17
Пользователь
 
Регистрация: 13.12.2007
Сообщений: 41
По умолчанию

Всем большое спасибо.
Такая вот еще проблема c FastReport не могу разобраться с вычисляемыми полями.
В отчете есть табличка формируется из query в ней есть поле с числами, задача проста - нужно
проссумировать строки по этому полю, ну и вывести их для этого поставил бэнд Master Footer
ну и в нем формирую вычисляемое поле, в нем что то типа того записываю для примера
[sum(имя бэнда с данными(2))],
где 2 порядковый номер поля. Не робит.
Плс подскажите как правильно записать вычисление.
Var17 вне форума Ответить с цитированием
Старый 24.12.2008, 17:21   #6
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
для этого поставил бэнд Master Footer
Агрегатные функции работают только в Подвалах данных (footer).
Поставь Подвал данных ниже бэнда с данными и в нем пиши [sum(имя бэнда с данными(2))] и т.п.
_SERGEYX_ вне форума Ответить с цитированием
Старый 24.12.2008, 17:57   #7
Var17
Пользователь
 
Регистрация: 13.12.2007
Сообщений: 41
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Агрегатные функции работают только в Подвалах данных (footer).
Поставь Подвал данных ниже бэнда с данными и в нем пиши [sum(имя бэнда с данными(2))] и т.п.
Можно подробней, как правильно записать вычисляемое поле, подскажите синтаксис.
Var17 вне форума Ответить с цитированием
Старый 25.12.2008, 17:17   #8
Var17
Пользователь
 
Регистрация: 13.12.2007
Сообщений: 41
По умолчанию

Вот так надо было :
сумма - [sum([query."имя поля"], датабэнд)]
число строк - count(датабэнд)
Var17 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FastReport MasterofCDM Компоненты Delphi 7 12.12.2008 17:24
FastReport MasterofCDM БД в Delphi 7 24.11.2008 13:11
Вопрос о FastReport MasterofCDM БД в Delphi 2 21.07.2008 17:14
Вопрос по FastReport _SERGEYX_ БД в Delphi 2 25.07.2007 17:07
FastReport dmitry Общие вопросы Delphi 3 17.01.2007 11:57