[ ik0 @ 09.02.2011. 19:30 ] @
Ovako radim neki progam za presmetke neke(inace nisam znao kako krstiti temu)...Na formi imam grid gde gledam sve fakture, pa iznos od svake fakture sobiram i taj rezultat pokazujem recimo u neki edit...znaci na svaku novu fakturu ja trebam da prelistam sve fakture t.e polje da kazeme Ukupno soberem i rezultat pokazem...Ako ima nad 500 reda (fakture) onda to sabiranje potraje...to isto treba da radi i pri neki filter...Jer ima neki nacin da se ovo resi...Hvala

ovako ja radim (neispravno valjda)
Code:
for(int i=0; i<ADOTable1->RecordCount; i++)
{

ADOTable4->RecNo=i+1;

 double kolonaO=ADOTable1->FieldValues["Ukupno"];
 double kolonaZ=kolonaZ+kolonaO;
}


[ X Files @ 09.02.2011. 20:55 ] @
Citat:

double kolonaZ=kolonaZ+kolonaO;

Deklaracija treba van petlje.

// netestirano
Code:

// ...
try
{
    double kolonaZ=0.0;
    ADOTable1->DisableControls();
    
    for ( ADOTable1->First(); !ADOTable1->Eof; ADOTable1->Next() )
        kolonaZ += ADOTable1->FieldValues["Ukupno"];
}
__finally
{
    ADOTable1->EnableControls();
}
// ...



Code:

// ...
try
{
    double kolonaZ=0.0;
    ADOTable1->DisableControls();
    
    for ( int i=0; i<ADOTable1->RecordCount; i++ )
    {
        kolonaZ += ADOTable1->FieldValues["Ukupno"];
        ADOTable1->Next();
    }
}
__finally
{
    ADOTable1->EnableControls();
}
// ...


Takodje probaj da umesto:
->FieldValues["Ukupno"]
...stavis:
->FieldByName("Ukupno")->AsFloat;
... mozda ima manje konverzije.


A mozes da probas i klasican SQL za sabiranje:
http://www.techonthenet.com/sql/sum.php
Obicno radi brze.
[ ik0 @ 09.02.2011. 22:00 ] @
Hvala X...Kako da iskobinujem sql sa ado sada? Nema li da "kasni"...primer kad unesem fakturu (preko ado) treba nekoliko sekunde ili open/close da bi ga to "vido" preko Query...? Finta je sto vrse filtriranje na podatke mnogo cesto...a u mesec izdaju nad 500 fakture...sto znaci kad bi hteo da filtrira po mesecu ili pa po godini trebalo bi vreme da se to izvrsi...mislio sam nesta kao da svaki nov unos zapisuejm u neki *.ini pa od tam da ga uzimam taj i da sobiram sa narednim? Jer to nesta prakticno ili?
[ kiklop74 @ 10.02.2011. 12:55 ] @
Je'l ti to stvarno radis sumu polja u petlji??

Zar nije brze da uradis custom SQL kao npr:

Code:

SELECT SUM(<imepolja>) AS suma FROM <ime table>;


[ itf @ 10.02.2011. 14:08 ] @
@kiklop74
ADOTable nema mogućnost takvog direktnog izvršavanja sql upita.
[ X Files @ 10.02.2011. 16:07 ] @
Trebalo bi da moze da pokrene nezavisan ADOQuery (nije potreban DBGrid) i procita sadrzaj polja koje je nazvao <imepolja> i dobijeni rezultat (prvi red, prva kolona) upise gde treba.
[ itf @ 10.02.2011. 19:37 ] @
..ili ADOCommand.
[ X Files @ 10.02.2011. 19:38 ] @
Tako je.
[ ik0 @ 11.02.2011. 12:48 ] @
Moze i sa AdoDataSet jer da?
[ itf @ 11.02.2011. 17:39 ] @
Može. Nadasve, mislim da ADODataSet može biti isto kao ADOTable, ADOQuery i ADOStoredProc zajedno. Ovisi o CommandType izrazu.
[ ik0 @ 12.02.2011. 09:06 ] @
Hvala na odgovorima...