Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как работает SummaryBand в QuickReporte?

1.9K
28 марта 2003 года
Alex_N
37 / / 07.03.2003
Привет всем!
Столкнулся с проблемой подсчёта в столбце отчёта.
Ну и не получается объеденить все значения каждой ячейки столбца в одно число :sad:
Всё что выводится - это последняя ячейка.
Расскажите как работает эта компонента:-?
Заранее благдарю:)
317
29 марта 2003 года
Relax
573 / / 20.09.2000
Цитата:
Originally posted by Alex_N
Привет всем!
Столкнулся с проблемой подсчёта в столбце отчёта.
Ну и не получается объеденить все значения каждой ячейки столбца в одно число :sad:
Всё что выводится - это последняя ячейка.
Расскажите как работает эта компонента:-?
Заранее благдарю:)



понимаешь, он сам ничего не суммирует - это же просто банд - область для размещения компонентов после всех записей... ставь на него лабел, а перед тем как выводить репорт - есть там такое событие - считай сумму и кидай ее в лабел. сумму можешь посчитать пробежав по всем записям или через SQL...

1.9K
29 марта 2003 года
Alex_N
37 / / 07.03.2003
Цитата:
Originally posted by Relax


понимаешь, он сам ничего не суммирует - это же просто банд - область для размещения компонентов после всех записей... ставь на него лабел, а перед тем как выводить репорт - есть там такое событие - считай сумму и кидай ее в лабел. сумму можешь посчитать пробежав по всем записям или через SQL...



через SQL я не смогу этого сделать, потому что использовал первоначально Table, a не Query.
Я её задейсвовал во многих операциях. И поэтому замену делать слишком долго.
А возможно подсчитать сумму представив список,
т.е. отдельный столбец базы массивом? Ну скажем так к примеру с поомощью ARRAYSIZE?
Или может как нибудь применить QRExpr. Вот только проблема в том, что я практически с ним не знаком
и не знаю его правильного применения.
Может подскажешь как мне быть в дальнейшем... :D :-?

317
30 марта 2003 года
Relax
573 / / 20.09.2000
ну так я ж говорю - есть два варианта, если вариант с SQL тебе не подходит - просо делай цикл типа:
int summ = 0;
for(Table->First(); !Table->Eof; Table->Next())
summ += Table->FieldByName("Field1")->Value;

а потом на репорт ставишь лабел и значение summ заносишь ав этот лабел...
1.9K
11 апреля 2003 года
Alex_N
37 / / 07.03.2003
Цитата:
Originally posted by Relax
ну так я ж говорю - есть два варианта, если вариант с SQL тебе не подходит - просо делай цикл типа:
int summ = 0;
for(Table->First(); !Table->Eof; Table->Next())
summ += Table->FieldByName("Field1")->Value;

а потом на репорт ставишь лабел и значение summ заносишь ав этот лабел...




Странно! Но у меня все равно ничего не получается.
При такой операции он мне абсолютно ничего не выдаёт. Метка как была QRLabel, так такой и осталась.

Хотя ввёл я все вроде правильно:

AnsiString summ1 = 0;
for(Form1->Table4->Bof; !Form1->Table4->Eof; Form1->Table4->Next())
summ1 += Form1->Table4->
FieldByName("Поле")->Value;
QRLabel->Caption = (summ1);

Где возникает проблема?

317
14 апреля 2003 года
Relax
573 / / 20.09.2000
Цитата:
Originally posted by Alex_N



Странно! Но у меня все равно ничего не получается.
При такой операции он мне абсолютно ничего не выдаёт. Метка как была QRLabel, так такой и осталась.

Хотя ввёл я все вроде правильно:

AnsiString summ1 = 0;
for(Form1->Table4->Bof; !Form1->Table4->Eof; Form1->Table4->Next())
summ1 += Form1->Table4->
FieldByName("Поле")->Value;
QRLabel->Caption = (summ1);

Где возникает проблема?



а ты погляди чем твой код отличается от моего... у тебя стоит Bof вместо First()... это неправильно! First() - это функция, которая позиционирует указатель текущей записи на начало таблицы, а Bof - это просто признак - он ничего не позиционирует, просто позволяет узнать на первой записи стоит указатель или на какой-нибудь другой...

1.9K
14 апреля 2003 года
Alex_N
37 / / 07.03.2003
Цитата:
Originally posted by Relax


а ты погляди чем твой код отличается от моего... у тебя стоит Bof вместо First()... это неправильно! First() - это функция, которая позиционирует указатель текущей записи на начало таблицы, а Bof - это просто признак - он ничего не позиционирует, просто позволяет узнать на первой записи стоит указатель или на какой-нибудь другой...



Relax, и так и так ничего не получается. Я вставлял First(), но результатом становится последовательность значений каждой ячейки вычисляемого поля.
Напрмер, "Поле" имеет три ячейки со значениями
1 - 10
2 - 21
3 - 23
Результат получается равный 0102123.
При этом предварительный просмотр вскрывает метку только со второго раза, т.е. кнопку preview приходится кликать два раза прежде чем QRLabel примет вид указанного выше примера.

Попробовал найти сумму через QRExpr введя:
SUM(Items.Cost). В итоге он мне написал нуль.
Попробовал через БД: SUM(Table4.Cost) - результат тот же - "0"...
__________________________________________________

519
15 апреля 2003 года
VaGon
134 / / 26.03.2003
Цитата:
Originally posted by Alex_N


Relax, и так и так ничего не получается. Я вставлял First(), но результатом становится последовательность значений каждой ячейки вычисляемого поля.
Напрмер, "Поле" имеет три ячейки со значениями
1 - 10
2 - 21
3 - 23
Результат получается равный 0102123.
При этом предварительный просмотр вскрывает метку только со второго раза, т.е. кнопку preview приходится кликать два раза прежде чем QRLabel примет вид указанного выше примера.
....


ну еще бы у тя получилась сумма summ1 вообще-то строка!!!
а у Relax`a int summ; и далее по тексту...
внимательнее надо быть граждане.

317
15 апреля 2003 года
Relax
573 / / 20.09.2000
точно!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог