Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Решение задачи подсчета строк с определенным условием в отчете QuickReport

Delphi , Компоненты и Классы , TQuickReport

Задача подсчета строк с определенным условием в отчете QuickReport может быть решена несколькими способами. В данной статье мы рассмотрим оба подхода, предложенные в контексте, а также предоставим примеры кода на Object Pascal (Delphi) для лучшего понимания.

1. Использование функции SUM в QuickReport

Если в вашем отчете есть столбец, который имеет значение 1 при выполнении определенного условия и 0 в противном случае, вы можете использовать функцию SUM для подсчета количества строк с этим условием. Чтобы сделать это, следуйте приведенным ниже инструкциям:

  1. Добавьте компонент TQRExpr на форму, содержащую ваш отчет QuickReport.
  2. Установите свойство QRExpr.Expression на выражение, которое суммирует значения в столбце, например: SUM(sredQuery.aktuelni_tiket).
  3. Добавьте компонент TLabel на форму и установите его свойство Caption на QRExpr, чтобы отобразить результат подсчета.

Пример кода для TQRExpr:

QRExpr1.Expression := 'SUM(sredQuery.aktuelni_tiket)';

Пример кода для TLabel:

Label1.Caption := QRExpr1.Text;

2. Подсчет строк в коде и отображение результата в отчете

Если функция COUNT не работает или вам нужна более гибкая настройка, вы можете выполнить подсчет строк в коде и отобразить результат в отчете. Для этого выполните следующие шаги:

  1. Добавьте переменную, которая будет хранить результат подсчета, в форму, содержащую ваш отчет QuickReport. Например:
var
  FCount: Integer;
  1. В коде выполните запрос к базе данных и подсчитайте количество строк, удовлетворяющих условию. Например:
procedure TForm1.FormCreate(Sender: TObject);
begin
  FCount := 0;
  with QRDataset1 do
  begin
    Query SQL;
    while not Eof do
    begin
      if sredQuery.aktuelni_tiket = 1 then
        Inc(FCount);
      Next;
    end;
  end;
end;
  1. Добавьте компонент TQRExpr на форму и установите его свойство Expression на выражение, которое отображает значение переменной FCount. Например:
QRExpr1.Expression := 'FCount';
  1. Добавьте компонент TLabel на форму и установите его свойство Caption на QRExpr, чтобы отобразить результат подсчета.

Пример кода для TQRExpr:

QRExpr1.Expression := 'FCount';

Пример кода для TLabel:

Label1.Caption := QRExpr1.Text;

Заключение

В данной статье мы рассмотрели два подхода к решению задачи подсчета строк с определенным условием в отчете QuickReport. Первый подход использует функцию SUM в QuickReport, а второй подход выполняет подсчет в коде и отображает результат в отчете. Оба подхода дают удовлетворительные результаты и могут быть использованы в зависимости от конкретных требований вашего проекта.

Создано по материалам из источника по ссылке.

Статья описывает два метода подсчета строк с определенным условием в отчете QuickReport: первый использует функцию SUM в QuickReport, а второй выполняет подсчет в коде и отображает результат в отчете.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: TQuickReport ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-16 11:14:15/0.0059781074523926/0