![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Данные в отчет из БД [D5, IB5.x]
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, т.к. по умолчанию если квери не связан с визуальным компонентом, то он не возвращает данные клиенту.