Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Count funkcija - sabiranje celija iste vrednosti

[es] :: Visual Basic 6 :: Count funkcija - sabiranje celija iste vrednosti

[ Pregleda: 3370 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

zormar

Član broj: 129240
Poruke: 176
*.adsl-1.sezampro.yu.



Profil

icon Count funkcija - sabiranje celija iste vrednosti27.01.2007. u 22:08 - pre 208 meseci
Na formi imam DataGrid. Potrebno je da iz jedne kolone saberem celije koje imaju istu brojcanu vrednost, i to prikazem u labeli.
npr. u koloni su upisani brojevi 1,2,3,1,5,1,6,7,8,1 i treba da saberem celije u koje je upisan broj 1.
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
80.74.160.*



+41 Profil

icon Re: Count funkcija - sabiranje celija iste vrednosti27.01.2007. u 22:31 - pre 208 meseci
Pa vidi, posto je DataGrid "vezan" za rekordset kao izvor podataka, ne mozes izracunati na taj nacin sumu, vec iskljucivo moras "proci u petlji" kroz rekordset koji je izvor podataka:
Code:

Private Sub Sumiraj()
   Dim dblSuma As Double
   Dim dblKriterijum As Double
   
   'Primer podrazumeva da imas neki rekordset rstTmp
   'koji je izvor podataka za tvoj grid
   
   dblSuma = 0
   dblKriterijum = 1 'ovo je tvoj primer, samo sabira one koji su 1
   
   If rstTmp.RecordCount > 0 Then rstTmp.MoveFirst 'ides na pocetak
   
   Do While Not rstTmp.EOF
      
      If rstTmp("Polje") = dblKriterijum Then 'za neko polje pod nazivom "Polje"
         dblSuma = dblSuma + dblKriterijum
      End If
      
      rstTmp.MoveNext
      
   Loop
   
   Label1.Caption = "Suma je: " & Format(dblSuma, "###,##0.00")

End Sub

Naravno, ovde su mnoge stvari pretpostavljene, a mnoge nisu uzete u obzir, ali ....

PS

Ako ti treba klasican COUNT, umesto "dblSuma = dblSuma + dblKriterijum" pisi "dblSuma = dblSuma + 1"
 
Odgovor na temu

zormar

Član broj: 129240
Poruke: 176
*.adsl-1.sezampro.yu.



Profil

icon Re: Count funkcija - sabiranje celija iste vrednosti27.01.2007. u 23:17 - pre 208 meseci
U ovom redu
If rstTmp("Polje") = dblKriterijum Then
daje gresku 3021:Either BOF or EOF is True, or the current record has been deleted.Requested operation requires a current record.
Da li pod "Polje" podrazumevas naziv kolone?
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
80.74.160.*



+41 Profil

icon Re: Count funkcija - sabiranje celija iste vrednosti28.01.2007. u 00:14 - pre 208 meseci
Citat:
zormar:
Da li pod "Polje" podrazumevas naziv kolone?

Naravno, pisao sam ti i komentare ;)
Citat:
zormar: U ovom redu
If rstTmp("Polje") = dblKriterijum Then
daje gresku 3021:Either BOF or EOF is True, or the current record has been deleted.Requested operation requires a current record.

Ne znam sto ti to javlja, prethodno je postavljena provera da li ima rekorda, kao i pozicioniranje na prvi rekord pre ulaska u petlju. Da li si preuzeo kod u integralnom obliku?
 
Odgovor na temu

zormar

Član broj: 129240
Poruke: 176
*.adsl.static.sezampro.yu.



Profil

icon Re: Count funkcija - sabiranje celija iste vrednosti28.01.2007. u 10:07 - pre 208 meseci
Kod u mom primeru izgleda ovako, mozda sam negde pogresio

Private Sub Command2_Click()

Dim dblSuma As Double
Dim dblKriterijum As Double

'Primer podrazumeva da imas neki rekordset rstTmp
'koji je izvor podataka za tvoj grid

dblSuma = 0
dblKriterijum = 1 'ovo je tvoj primer, samo sabira one koji su 1

If Adodc1.Recordset.RecordCount > 0 Then Adodc1.Recordset.MoveFirst 'ides na pocetak

Do While Not Adodc1.EOFAction


If Adodc1.Recordset("Kolona") = dblKriterijum Then 'za neko polje pod nazivom "Polje"
dblSuma = dblSuma + 1
End If

Adodc1.Recordset.MoveNext

Loop

Label3.Caption = "Suma je: " & Format(dblSuma, "###,##0.00")

End Sub
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
80.74.160.*



+41 Profil

icon Re: Count funkcija - sabiranje celija iste vrednosti28.01.2007. u 10:46 - pre 208 meseci
Vidi se iz aviona, umesto:
Code:

Do While Not Adodc1.EOFAction

treba onako kako sam ti i rekao, a ti pogresno prepisao:
Code:

Do While Not Adodc1.Recordset.EOF

Dakle, treba rekordset, a ne ado kontrola i njeno svojstvo EOFAction koje je po defaultu 0, tj. kad se konvertuje u logicku vrednost onda je False, pa ti se uslov za izlazak iz petlje nikad ne ispuni i program "pukne" na EOF od rekordseta.
 
Odgovor na temu

zormar

Član broj: 129240
Poruke: 176
*.adsl.static.sezampro.yu.



Profil

icon Re: Count funkcija - sabiranje celija iste vrednosti28.01.2007. u 11:36 - pre 208 meseci
Bio je to ocigledan moj kiks.
Sve je u redu, puno ti hvala.
 
Odgovor na temu

zormar

Član broj: 129240
Poruke: 176
*.adsl.static.sezampro.yu.



Profil

icon Re: Count funkcija - sabiranje celija iste vrednosti28.01.2007. u 17:36 - pre 208 meseci
Imam jos pitanja o ovoj temi, ako mozes da mi pomognes bilo bi dobro.
Na koji nacin je moguce iz 2 kolone dobiti zbir celija koje imaju istu vrednost i to prikazati u jednoj labeli?
Ako u 2 kolone imam 2 broja koji se ponavljaju na vise mesta u tim kolonama, kako dobiti zbirove tih celija, i prikazati ih u 2 labele posebno za svaki zbir?
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
80.74.160.*



+41 Profil

icon Re: Count funkcija - sabiranje celija iste vrednosti28.01.2007. u 20:20 - pre 208 meseci
Izvini, ali mislim da je resenje tvog novog problema samo sitna varijacija prethodnog resenja, hajde i ti malo nesto da uradis, nije tesko, ako ocekujes da ti ovde ljudi stalno resavaju kompletan problem OK - mozda ti neko i resi, ali time ti cini medvedju uslugu. Sve ti je dato u prethodnom odgovoru.
 
Odgovor na temu

zormar

Član broj: 129240
Poruke: 176
*.adsl.static.sezampro.yu.



Profil

icon Re: Count funkcija - sabiranje celija iste vrednosti28.01.2007. u 21:45 - pre 208 meseci
Slazem se s tvojom sugestijom.
Malo sam bio brz u postavljanju pitanja, jer sam to lako resio.
Jos jednom ti zahvaljujem na pomoci.
 
Odgovor na temu

[es] :: Visual Basic 6 :: Count funkcija - sabiranje celija iste vrednosti

[ Pregleda: 3370 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.