Показать сообщение отдельно
Старый 17.06.2002, 16:22   #1  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Перемещение по записям отфильтрованного DataSource
Добрый день.

Проблема следующая. Есть форма с гридом на который выводятся данные из datasource. Данные на форме как угодно фильтруются пользователем, а мне надо считать сумму отфильтрованных данных по какому либо полю(с учетом фильтрации) и выводить ее на форму.

Создал свою форму поместил datasource свою таблицу и перекрыл executeQuery() следующим образом:

public void executeQuery()
{
QueryRun qr;
InventTrans it;
real sm;
;
super();

qr = this.queryRun();
it = qr.get(tableNum(InventTrans));
sm = it.Qty;
print it.ItemId;

while (qr.next())
{
it = qr.get(tableNum(InventTrans));
sm = sm + it.Qty;
print it.ItemId;
}

dem_rl.realValue(sm);
}

Все работает.

Теперь пробую тоже самое реализовать в форме VendTrans - у datasource VendTrans в метод executeQuery() добавлюя следующий код:

QueryRun qr;
VendTrans vt;
real sm;

............................

qr = this.queryRun();

vt = qr.get(tableNum(VendTrans));
sm = vt.AmountMST;

while (qr.next())
{
vt = qr.get(tableNum(VendTrans));
sm = sm + vt.AmountMST;
}

dem_Balance.realValue(sm);

super();

При запуске формы появляется ошибка - QueryRun object не инициализован (при вызове метода get).

В чем может быть дело ?

Или данную задачу можно (и нужно) решать другим способом ?