[ Aleksandar Vasic @ 27.11.2007. 22:19 ] @
Kako mogu da napise da mi sabere sve vrednosti iz datagrid-a u 4 koloni i da mi to ispise i textbox,ja sam pokusao preko recordseta u adodc ali nije mi uspelo... |
[ Aleksandar Vasic @ 27.11.2007. 22:19 ] @
[ goranvuc @ 28.11.2007. 11:44 ] @
A kako si to pokusao?
[ Aleksandar Vasic @ 28.11.2007. 13:38 ] @
'vako
Code: Dim novi,prihodi As Integer Adodc1.Recordset.MoveFirst Do novi = Adodc1.Recordset(3) prihodi = prihodi + novi Adodc1.Recordset.MoveNext Loop Until Adodc1.Recordset.EOF :D [ goranvuc @ 28.11.2007. 13:55 ] @
Pa kako ti nije uspelo, kada ti je skroz korektno resenje (mada ja bas ne simpatisem Do ... Loop Until strukturu)
Ocigledno negde drugde lezi zec ... Mozda jedino da ne bi izbacivao gresku kada nema slogova u rekordsetu da ubacis proveru pre MoveFirst ;) [ Aleksandar Vasic @ 28.11.2007. 14:01 ] @
ovo je ceo kod...
Code: Private Sub Form_Load() Dim tabela, tabelaa, rashodi, prihodi,Stanje As Integer Form1.Adodc1.Recordset.MoveFirst Do tabela = Form1.Adodc1.Recordset(3) prihodi = prihodi + tabela Form1.Adodc1.Recordset.MoveNext Loop Until Form1.Adodc1.Recordset.EOF Form1.Adodc2.Recordset.MoveFirst Do tabelaa = Form1.Adodc2.Recordset(3) rashodi = rashodi + tabelaa Form1.Adodc2.Recordset.MoveNext Loop Until Form1.Adodc2.Recordset.EOF Stanje = prihodi - rashodi Adodc1.Recordset.AddNew Adodc1.Recordset(0) = Stanje Adodc1.Recordset(1) = Date Label2.Caption = Stanje Label4.Caption = Date End Sub U ovom slucaju kada je promenljiva "Stanje" definisana kao Integer izbacuje greshku "Overflow", a kada je stavim kao String ispisuje neke bzv brojeve..... [ goranvuc @ 28.11.2007. 14:03 ] @
Pa stavi da je Single ili Double
![]() [ Aleksandar Vasic @ 28.11.2007. 14:07 ] @
Ne pomaze.....evo sta izbacuje -1.0022801009005E+39 ;)
[ goranvuc @ 28.11.2007. 14:09 ] @
Pa za cega sluzi Format funkcija?
Code: Label2.Caption = Format(Stanje, "###,##0.00") [ goranvuc @ 28.11.2007. 14:13 ] @
Koje su ti vrednosti u toj koloni 3?
Da li znas da je kolona sa indeksom 3 cetvrta po redu, tj. da li stvarno racunas sa kolonom sa kojom si i hteo? [ Aleksandar Vasic @ 28.11.2007. 14:15 ] @
nista se ne menja hehe....znam,4 kolona u datagrid-u je 3 u adodc,zato sto brojanje krece od 0 hehe...vrednosti su celi brojevi tipa 1000, 500, 100, 3500 i td....
[ goranvuc @ 28.11.2007. 14:18 ] @
Pa koliko imas redova u tom Form1.Adodc2.Recordset-u?
Kako ti se zove polje koje sabiras? [ Aleksandar Vasic @ 28.11.2007. 14:22 ] @
redova u adodc2 ima 12,a polje koje sabira, se zove Cena
[ goranvuc @ 28.11.2007. 14:24 ] @
Pa onda probaj ovo (pisi polja po nazivu, a ne po rednom broju)
Code: Private Sub Form_Load() Dim tabela, tabelaa, rashodi, prihodi,Stanje As Double Form1.Adodc1.Recordset.MoveFirst Do tabela = Form1.Adodc1.Recordset("Cena") prihodi = prihodi + tabela Form1.Adodc1.Recordset.MoveNext Loop Until Form1.Adodc1.Recordset.EOF Form1.Adodc2.Recordset.MoveFirst Do tabelaa = Form1.Adodc2.Recordset("Cena") rashodi = rashodi + tabelaa Form1.Adodc2.Recordset.MoveNext Loop Until Form1.Adodc2.Recordset.EOF Stanje = prihodi - rashodi Adodc1.Recordset.AddNew Adodc1.Recordset(0) = Stanje Adodc1.Recordset(1) = Date Label2.Caption = Stanje Label4.Caption = Date End Sub [ Aleksandar Vasic @ 28.11.2007. 14:26 ] @
sve isto,samo sto vise nema minusa u rezultatu...
[ goranvuc @ 28.11.2007. 14:29 ] @
Prijatelju, dosadilo mi vise da gledam u pasulj i pretpostavljam gde si zabrljao stvar, uploaduj projekat i bice ti reseno za minut, u suprotnom se obrati Vidovitoj Zorki i sl.
Uploaduj i bazu - naravno ![]() [ Aleksandar Vasic @ 28.11.2007. 14:34 ] @
eeeee evo ga resio sam problem hehehe...........u pitanju je bilo sto je u bazi za tu kolonu bio format Text a ne Number :D
Sorry sto sam te mucio ;) [ goranvuc @ 28.11.2007. 14:37 ] @
Pa palo mi je i to na pamet da te pitam, ali si naveo:
Citat: The_End_is_close:vrednosti su celi brojevi tipa 1000, 500, 100, 3500 i td.... Kao sto sam rekao vec vise puta: Prvo potrazite problem kod sebe, proverite da li ste nesto prevideli, a onda dodjite ovde i detaljno prezentujte svoj problem uz sto vise neophodnih informacija. Odlika dobrih programera je da u slucaju bilo kakve greske problem prvo potraze kod sebe, tj. proverite prvo da niste vi nesto pogresili, a kad se uverite da niste idite dalje ... a ne "ja probao, ali mi nije uspelo, sta da radim?" kao sto je otvorena ova tema ![]() [ Aleksandar Vasic @ 28.11.2007. 14:40 ] @
da,ali to se racunalo kao tekst :D
[ goranvuc @ 28.11.2007. 14:46 ] @
Pa ako si hteo da racunas sa tim, sto si uopste stavio da je textualnog tipa u bazi? Ako kazes da su vrednosti celi brojevi, ja ti verujem na rec, nisam znao da nisi siguran cemu sluze tipovi podataka i kako se koriste, ali dobro - trebao sam to da znam, moderatori sve znaju, zar ne?
[ Aleksandar Vasic @ 28.11.2007. 14:48 ] @
ma dobro,nemoj se ljutis,moja greshka nisi ti nishta kriv........naravno da znaju hehe
[ goranvuc @ 28.11.2007. 14:50 ] @
Ma nema veze, niko me ne tera da gubim par sati na ovakve stvari, a mogao sam da ... ;)
[ Aleksandar Vasic @ 28.11.2007. 14:51 ] @
ih sad,nije bilo par sati,bilo je petnestak minuta :D
[ BinLaden @ 28.11.2007. 18:33 ] @
Cini mi se da sam bas tebi skoro objasnjavao kako "NE VALJA" da se deklarisu promjenjive i ti si
opet napravio istu gresku, ne slusajuci sta sam ti govorio. Da si deklarisao promjenjive onako kako sam objasnjavao, bez obzira sto ti je u bazi ta kolona tipa "String" program bi normalno radio. Evo jos jednom i zapamti za ubuduce: Kada deklarises promjenjive u jednom redu kao sto si ti radio: Code: samo zadnja promjenjiva "Stanje" definisana kao Double dok su sve ostale (tabela, tabelaa, rashodi, prihodi)Dim tabela, tabelaa, rashodi, prihodi, Stanje As Double tipa Variant. Posto Tip Variant u stvari ne postoji odnosno tokom izvodjena aplikacije on se uvijek pretvara u odgovarajuci tip podataka koji pokusavamao da dodijelimo nekoj promjeenjivoj. Tj. ako toj promjenjivoj dodijelimo "slova" ona ce automatski biti prebacena u tip "String" ili ako joj dodijelimo brojeve bice prebacena u "Integer ili long ili Double...." U ovom tvom slucaju posto je kolona u bazi bila definisana kao "String", i ti promjenjivoj "tabela" dodjeljujes vrijednost tog polja promjenjiva "tabela" se automatski prebacuje u tip "String" iako su u bazi zapisani brojevi, a kako valjda znas i brojevi mogu da prestavljaju "String". Zbog toga je nastala greska pri sabiranju. Znaci uvijek moras ovako da definises promjenjive: Code: Dim tabela As Double, tabelaa As Double, rashodi As Double, prihodi As Double, Stanje As Double znaci iza svakog naziva promjenjive treba definisati njen tip inace desit ce ti se ovakve glupe greske kao sto je ova. [ Marko_L @ 28.11.2007. 18:55 ] @
A ako hoćeš stvarno da radiš kako treba, onda ne treba da koristiš promenljive uopšte, nego ako već radiš sa bazom, pravilno definiši tipove podataka (Currency za novčane vrednosti, Number za brojeve, Text za tekst, Date/Time za datum...) i radi sabiranje (i ostale operacije) preko query-ja. Em je brže, em je bolje, em je pravilnije, em sabiranje cele kolone radiš jednim prostim upitom tipa
Code: SELECT SUM(Cena) FROM Tabela a možeš da definišeš i razne uslove, itd. [ Aleksandar Vasic @ 28.11.2007. 19:00 ] @
BinLaden, sad sam zapamtio ;)
Marko_L imam loše iskustvo sa podešavanjem tipa Currency i Date pa za to nisam to koristio :D [ chachka @ 28.11.2007. 20:03 ] @
Sada imas losa iskustva i sa kolonama tipa Text, pa prestani da koristis i ovaj tip.
[ goranvuc @ 28.11.2007. 20:08 ] @
Da li to odredjeni tipovi grizu, ili cine neke druge lose stvari - koji mracni tipovi, treba ih maksimalno izbegavati
![]() Chachka, tebi je bas dosadno kad si zalutao u ovaj forum ![]() The_End_is_close, ako pogledas jednu temu nize, videces da i neki profesori koji predaju VB u skolama prave istu gresku kao i ti, mi se ovde samo malo salimo, a to da neko uci decu na takav nacin i za to bude placen - e to je tuuuuuzno! [ Aleksandar Vasic @ 28.11.2007. 20:15 ] @
znam o cemu govoris,profesori u mojoj skoli uce od nas.....i na kraju oni nas ocenjuju hehe
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|