Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Данные в отчет из БД [D5, IB5.x]


Страницы:   1 2

Serval ©   (2003-07-01 08:12:00) 

Не могу из БД (InterBase 5.5) выбрать данные в QReport. Полоса детализации DetailBand должна повторяться столько раз, сколько записей выбрал запрос, а на практике печатается только первая запись. Что делать?


Alex_***   (2003-07-01 10:59:00) [1]

ok. welcome )))


Serval   (2003-07-01 10:40:00) [2]

Alex_***, всё получилось.
Спасибо.


Alex_***   (2003-07-01 10:05:00) [3]

Кстати кол-во записей не зависит от настройки DBText"a на поле


Alex_***   (2003-07-01 10:04:00) [4]

Ну и что упущено? Настройки на поля в дизайн тайме?


Johnmen   (2003-07-01 10:02:00) [5]

Тогда см.мой пост (01.07.03 09:29)


Serval   (2003-07-01 09:58:00) [6]

> Johnmen © (01.07.03 09:46)
> А ты понимаешь различие между ИМЕНЕМ поля и ЗНАЧЕНИЕМ поля?

Да, понимаю.


Johnmen   (2003-07-01 09:54:00) [7]

>Alex_*** (01.07.03 09:49)
>Больше сказать нечего.

Напрасно... Кое-что - упущено... Кое-что - лишнее...


Alex_***   (2003-07-01 09:49:00) [8]

Фетчить репорт должен сам.

DBText лежит на DetailBand

1. DataSet у репорта -> IBQuery
2. DataSet у DBText"a -> IBQuery
3. IBQuery->Open(); IBQuery->FetchAll(); //на всякий случай
3. Prepare();
4. Preview();

Должно работать. Больше сказать нечего.


Johnmen   (2003-07-01 09:46:00) [9]

>Serval

А ты понимаешь различие между ИМЕНЕМ поля и ЗНАЧЕНИЕМ поля ?


Levan Varshanidze   (2003-07-01 09:44:00) [10]

По моему. ALEX__ прав. Надо указать
qb.BandType:= rbDetail;


Serval   (2003-07-01 09:40:00) [11]

Пробовал и Detail и SubDetail - эффект один.


Serval   (2003-07-01 09:39:00) [12]

Если IBQuery.First, тогда RecordCount=1; если IBQuery.Last, тогда RecordCount=6 (в моём случае 6 записей в таблице)


Alex_***   (2003-07-01 09:37:00) [13]

Используешь Detail или SubDetail?


Alex_***   (2003-07-01 09:34:00) [14]

А RecordCount>1 ?


Johnmen   (2003-07-01 09:29:00) [15]

QRDBText1.DataField:="FIO";


Serval   (2003-07-01 09:26:00) [16]

Вообще изначально было так:

IBQuery1.Open;
QuickRep1.DataSet:=IBQuery1;
QRDBText1.DataSet:=IBQuery1;
QRDBText1.DataField:=IBQuery1.FieldByName("FIO").AsString;

Однако и с вашей помощью пока не получается заставить печатать всё сразу, по-прежнему только первую запись.


Levan Varshanidze   (2003-07-01 09:23:00) [17]

В добавление советам:
как откриывается IBQUERY: execsql() OR open() ?


Alex_***   (2003-07-01 09:15:00) [18]

Кстасти, по моему, на сайте QReport валяются факи по всяким проблемам. Весьма интересно.


Alex_***   (2003-07-01 09:13:00) [19]

Надо у репорта DataSet поставить на нужный и у DBText"ов св-во DataSet настроить туда-же. И все будет ОК.


makdi   (2003-07-01 09:12:00) [20]

ИХМО, после открытия IBQuery тебе нужно сделать IBQuery.FetchAll, т.к. по умолчанию если квери не связан с визуальным компонентом, то он не возвращает данные клиенту.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо