QuantumGrid 5' te UNBOUND COLUMNS diye bir yenilik var. DataSet'lerin CALCULATED FIELD'larına benziyor. Kullanımı ile ilgili kendilerine ait demolar var.
İsteğinizi bu özellikten faydalanarak gerçekleştirebilirsiniz. Dikkat edeceğiniz konu RECORD olarak değil ROW olarak değerlere ulaşmalısınız.
Örneklerden zaten bunu göreceksiniz.
Bence de en kolayı SP içinde yapmak. İlk değeri sıfır olan TOPLAM değişkenine her SUSPEND öncesi MIKTAR alanını eklemek ve TOP_MIKTAR diye dışarı çıkarmak. Şöyleki;
CREATE PROCEDURE SP_TOPLA(GIREN_PARAM1 INTEGER)
RETURNS (
ID1 INTEGER,
MIKTAR1 DOUBLE PRECISION,
TOP_MIKTAR DOUBLE PRECISION)
AS
DECLARE DLR_TOP_MIKTAR DOUBLE PRECISION;
BEGIN
DLR_TOP_MIKTAR = 0.0;
FOR
SELECT
ID, MIKTAR
FROM TABLOM
WHERE SARTIM
INTO
:ID1,
:MIKTAR1
DO BEGIN
DLR_TOP_MIKTAR = DLR_TOP_MIKTAR + MIKTAR1;
SUSPEND;
END
END
Benim irdelemek istediğim şu; şimdi yeni bir işlem başlattık, örneğin bir fatura kaydediyoruz, aşağıda illa bi genel toplam olsun isteyecekler ki en doğal hakları Her yeni row işlendiğinde commit edilmeyecektir heralde..
//HUSONET
if toplam1 <> 0 then
begin
toplam1 := QOdemeMIKTAR.AsFloat + toplam1;
QOdemeTOPLAM1.AsFloat := toplam1;
end
else
begin
QOdemeTOPLAM1.AsFloat := QOdemeMIKTAR.AsFloat;
toplam1 := 0.00000000000000000001;
end;
bu kodu dbgridde kullanmak istedim ama sonuç alamadım.veri tabanım paradox,bağlantı table veya queryle olabilir.yardımcı olursanız sevinirim.
iyi günler.