Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 10 odgovora
  • 3.451 pregleda

Najnovija ↓

adotable (mat. operacie) 09.02.2011. u 20:30 · pre 191 mesec #1
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;
}


Potpis
Kude tumbe i tri bandere
Re: adotable (mat. operacie) 09.02.2011. u 21:55 · pre 191 mesec #2
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.
Sviđa mi se1
Re: adotable (mat. operacie) 09.02.2011. u 23:00 · pre 191 mesec #3
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?
Potpis
Kude tumbe i tri bandere
Re: adotable (mat. operacie) 10.02.2011. u 13:55 · pre 191 mesec #4
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>;


Potpis
Tko leti vrijedi
Re: adotable (mat. operacie) 10.02.2011. u 15:08 · pre 191 mesec #5
@kiklop74
ADOTable nema mogućnost takvog direktnog izvršavanja sql upita.
Re: adotable (mat. operacie) 10.02.2011. u 17:07 · pre 191 mesec #6
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.
Re: adotable (mat. operacie) 11.02.2011. u 13:48 · pre 191 mesec #9
Moze i sa AdoDataSet jer da?
Potpis
Kude tumbe i tri bandere
Re: adotable (mat. operacie) 11.02.2011. u 18:39 · pre 191 mesec #10
Može. Nadasve, mislim da ADODataSet može biti isto kao ADOTable, ADOQuery i ADOStoredProc zajedno. Ovisi o CommandType izrazu.
Re: adotable (mat. operacie) 12.02.2011. u 10:06 · pre 191 mesec #11
Hvala na odgovorima...
Potpis
Kude tumbe i tri bandere
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme