Novo

Forum kao aplikacija na telefonu

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

Opet problem sa tabelom! (sabiranje dva polja iz baze)

VB6
  • 121 odgovor
  • 25.371 pregleda

Najnovija ↓

Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 13.04.2005. u 00:13 · pre 262 meseca #41
Marko_L u pravu si jesam bio malo nekorektan, potrudit cu se ubuduce da malo vise razmisljam svojom glavom. Nemoj zamjeriti. A ako stvarno negdje zapnem valjda ti se mogu obratiti. Hvala ti puno. Pozdrav
Potpis
A gde je moj moped ko da je u moravu propo!
Pero kojot genije!
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 13.04.2005. u 15:44 · pre 262 meseca #42
Naravno da se možeš obratiti.Ja ću ti pomoći koliko mogu, kao i do sada, a verujem i ostali.
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 13.04.2005. u 16:38 · pre 262 meseca #43
Marko_L super ovako onaj kod sto si mi dao :

Code:

datPrimaryRS.RecordSource = "SELECT count([Ime i prezime]) FROM Razred WHERE cint((val(Matematika) + val(Fizika)) / 2) = 3"
datPrimaryRS.Refresh
lblOdlicnih.Caption = datPrimaryRS.Recordset.Fields(0).Value


on radi ali kad stisnem dugme on izracuna koliko ima trojki ali izbrise sve iz tabele. A kad izadjem iz programa i ponovo udjem tabela je puna i ponovo kad stisnem dugme on izracuna ali izbrise sve iz tabele... U cemu je sad tu problem?
Potpis
A gde je moj moped ko da je u moravu propo!
Pero kojot genije!
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 13.04.2005. u 18:18 · pre 262 meseca #44
Problem je u tome što menjaš recordsource, a nigde ne vraćaš stari koji prikazuje sve te podatke u tabeli.Posle ovog koda stavi onaj sa SQL-om koji prikazuje podatke koji su ti potrebni.
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 13.04.2005. u 18:19 · pre 262 meseca #45
Izbrise sve iz tabele??? Mislim da negde debelo gresis :) Kad si stavio da
je datPrimaryRS.RecordSource = "select count(......" automatski se sadrzaj
datPrimaryRS menja u skladu sa tom SQL naredbom. Drugim recima ako hoces da
datPrimeryRS opet ima ranije podatke moras opet da izvrsis predhodni upit.
Potpis
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 14.04.2005. u 11:58 · pre 262 meseca #47
Od samog pocetka pratim ovu temu i mogu vam reci da je veoma zanimljiva. I ja sam probao na osnovu ovoga napraviti nesto, posto sam ja pocetnik imam par pitanja za vas ako mi mozete odgovoriti:

U lblSr da stavim kod da mi iz tabele iz kolone Uspjeh izracuna srednju ocjenu Marko_L je gore naveo taj kod ali meni ne radi. Pozdrav
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 14.04.2005. u 17:35 · pre 262 meseca #48
Kamikaza taj kod sam sada isprobo i neradi na Uspjeh ali radi na Matematika i na ostalim drugim predmetima. Marko_L onaj kod sto si mi dao:

Code:

Private Sub Command1_Click()
datPrimaryRS.RecordSource = "select sum(val(Opravdano)) AS ukupno FROM Razred"
datPrimaryRS.Refresh
lblUkupno = datPrimaryRS.Recordset.Fields(0).Value
datPrimaryRS.RecordSource = "select [Ime i prezime],Istorija,Matematika,[Maternji jezik]," & _
"Fizika,[Strani jezik],((val(Istorija) + val(Matematika) + val([maternji jezik]) + val(Fizika) + val([Strani jezik])) / 5) " & _
"AS [Srednja ocjena], cint(((val(Istorija) + val(Matematika) + val([maternji jezik]) + val(Fizika) + val([Strani jezik])) / 5)) " & _
"AS Uspjeh,Vladanje,Opravdano,Neopravdano,(val(Opravdano)+val(Neopravdano)) AS Svega from Razred"
datPrimaryRS.Refresh
End Sub


Nisam dosad ni primjetio da u polju Uspijeh ako je u polju Srednja ocjena 4,50 nece ispisat Uspjeh 5 nego ce staviti da je 4, a ako je 4,51 e onda ce staviti da je 5. Sta mislis sta je tu problem...
Potpis
A gde je moj moped ko da je u moravu propo!
Pero kojot genije!
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 14.04.2005. u 19:33 · pre 262 meseca #49
Momci, ovako možemo do sutra.Već sam na početku pomenuo da je sama konstrukcija baze neprimerena za ovo što se radi, jer su u njoj sva polja text tipa a se većinom se rade neke računske operacije, a ima i viška polja, što opet dovodi do mogućnosti velikih grešaka.Ono što sam ja pokušao da uradim je da te bez menjanja te baze uputim u to kako bi nešto mogao da uradiš i upoznaš se sa SQL-om.Ali, kao što vidiš računske operacije nisu dovoljno precizne, pa samim tim dolazi do pomenutih grešaka jer su ti brojevi sa kojima se radi, u stvari stringovi, koji se u hodu menja u brojčane podatke, što je po meni jako pogrešan pristup, pogotovo kada se u samoj bazi sve to može definisati i izbeći razni problemi koji se javljaju.E sad, pošto si se malo upoznao sa problematikom sa kojom radiš, predlažem da projekat kreneš iz početka, ali ovaj put kako treba.Dakle u bazi definiši tipove podataka.Dakle, ime i prezime treba da ostane text tipa, ocene, neopravdani, opravdani, bi trebalo da budu number tip, recimo integer, srednja ocena bi zbog decimala trebalo da bude single.Polja uspeh i svega ti ne trebaju, jer se ona generišu i prikazuju samim SQL-om.Sledeća stvar koju bih predložio jeste da se ne zezaš sa prenošenjem podataka sa forme na formu, nego da napraviš posebne forme za unos i pregled podataka, čime ćeš postići 2 bitne stvari, prva je preglednost, a druga stabilniji i sigurniji rad aplikacije.
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 14.04.2005. u 20:14 · pre 262 meseca #51
Kodovi koje si do sada dobio su takvi da rade sa bazom koja sadrže text polja, recimo ono Val koje služi da text pretvori u broj, cint koji neku vrednost gleda kao integer i slično, tako da bi morao da prepravljaš gotovo 80% koda, možda i više.Dakle, u principu možeš to da uradiš, ali ne preporučujem, jer to opet povlači dosta mogućnosti za greške, jer kako ćeš biti siguran da si baš sve prepravio.Ne vidim u čemu je problem napisati sve ponovo, jer kod i nije toliko dugačak, a do sada bi trebalo da si naučio barem osnove SQL-a, a ako nisi, onda ne znam zašto smo pričali sve ovo ovde.
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 17.04.2005. u 15:35 · pre 262 meseca #52
Marko ja ne znam stvarno sta je ovo napravio sam novu tabelu i stavio Imeiprezime-Text,Srpski-Number-Long Integer, Matematika-Number-Long Integer,Fizika-Number-Long Integer, Istorija-Number-Long Integer, Srednjaocjena-Number-Single, Uspjeh-Number-Long Integer,Opravdano-Number-Long Integer,Neopravdano-Number-Long Integer,Svega-Number-Long Integer. I ubacim ovaj kod:

Code:

Private Sub cmdIspisi_Click()
datPrimaryRS.RecordSource = "Select Imeiprezime, Srpski, Matematika, Fizika, Istorija, (((Srpski)+(Matematika)+(Fizika)+(Istorija)) / 4) AS Srednjaocjena, cint(((Srpski)+(Matematika)+(Fizika)+(Istorija)) / 4) AS Uspjeh, Opravdano, Neopravdano, (Opravdano + Neopravdano) As Svega FROM Automehanicar1"
datPrimaryRS.Refresh
End Sub


I on mi ispise gdje je 3.5 ispise 4 a gdje je 1.5 ispise 1, 2.5 ispise 2, 4.5 ispise 4. Zasto sta nije u redu...
Potpis
A gde je moj moped ko da je u moravu propo!
Pero kojot genije!
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 17.04.2005. u 21:11 · pre 262 meseca #53
Samo bez panike.To nije bug, to je feature :)
Evo šta ćeš.Koristi funkciju format.
Code:
Private Sub cmdIspisi_Click()
datPrimaryRS.RecordSource = "Select Imeiprezime, Srpski, Matematika, Fizika, Istorija, (((Srpski)+(Matematika)+(Fizika)+(Istorija)) / 4) AS Srednjaocjena, format(((Srpski+Matematika+Fizika+Istorija) / 4), '#') AS Uspjeh, Opravdano, Neopravdano, (Opravdano + Neopravdano) As Svega FROM Automehanicar1"
datPrimaryRS.Refresh
End Sub
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 18.04.2005. u 00:23 · pre 262 meseca #54
E izvini a jel moze jos jedan kod ovaj je u redu. Imam lbl1 lbl2 lbl3ivisi.
Da u lbl1 ispise samo ako ima jedna jedinica, u lbl2 da ispise ako imaju 2 jedinice i u lbl3ivise da ispise ako ima 3 ili vise jedinica nije sve ukupno vec kod svakog ucenika. I ako moze da ako u nekom predmetu ima jedan da mu uspjeh odma bude 1. Hvala unapred. Pozdrav
Potpis
A gde je moj moped ko da je u moravu propo!
Pero kojot genije!
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 18.04.2005. u 15:55 · pre 262 meseca #55
Nisam siguran da sam te razumeo.Hoćeš da prebrojiš jedinice za svakog učenika ili šta ?
Probaj da prođeš kroz ceo rekordset.Nešto ovako
Code:
Dim a As Integer
Dim BrojJedinica As Integer
For a = 1 To BrojPredmeta
If DatPrimaryRS.Recordset.Fields(a).Value = "1" Then BrojJedinica = BrojJedinica + 1
Next a

pa onda zapiši gde hoćeš.A za ovo drugo isto ne kapiram, znači ako ima samo jednu jedinicu, uspeh 1 ? Ako je to, onda ćeš teško to moći pošto ti je to privremeno polje, koje se generiše SQL-om.Moraćeš onda drugačije da postaviš stvar, odnsono da izračunati uspeh upišeš u bazu, pa onda prođeš kroz rekordset (kod koji sam ti dao u ovom postu) i kada naiđeš na vrednost jedan edituješ polje Uspjeh.Naravno, za to bi morao da izmeniš one upite koje si do sada koristio u programu.
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 20.04.2005. u 15:52 · pre 262 meseca
izmenjeno 1 put, poslednji put KiselinaXP 20.04.2005. u 17:11
  1. KiselinaXP20.04.2005. u 17:11zapis iz teksta poruke
#56
Da li mi neko moze reci sta nije u redu sa ovim kodom:

Code:

Private Sub Form_Load()
datPrimaryRS.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" & App.Path & "\BazaSkola.mdb"
datPopis = "select Redbr,Imeiprezime,Maternjijezik,Stranijezik,Matematika,Istorija,Opravdano,Neopravdano,Svega from [Pero kojot]"
datPrimaryRS.RecordSource = datPopis
End Sub

Stavio sam u grdDataGrid u meniju Data Source na datPrimaryRS.
I kad pokrenem program nista mi ne pokaze u tabeli a u njoj vec imaju neki podaci niti mogu kliknuti na dugme Add onda ispise " Object variable or With block variable not set ", sigurno je negdje mala greska, jel mi vi mozete pomoci da je otklonim. Hvala unapred...
Potpis
A gde je moj moped ko da je u moravu propo!
Pero kojot genije!
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 20.04.2005. u 17:10 · pre 262 meseca #57
Dodaj još
Code:
datPrimaryRS.Refresh
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 20.04.2005. u 17:20 · pre 262 meseca #58
Kad sam dodo to i onda ocu da pokrenem ispise mi drugu gresku:

Data error eveni hit err:Authentication failed. kad kliknem OK onda

Authentication failed. pa opet OK ond izbaci gresku


Run-time error '-2147217843(80040e4d)'"
Method 'Refresh' of object 'IAdodc' failed

Sta bi to moglo sada biti?
Potpis
A gde je moj moped ko da je u moravu propo!
Pero kojot genije!
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 20.04.2005. u 17:41 · pre 262 meseca #59
Nisam dobro pogledao connection string, u njemu tio je greška.Probaj da ga izmeniš ovako:
Code:
datPrimaryRS.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & App.Path & "\BazaSkola.mdb"
Potpis
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
Re: Opet problem sa tabelom! (sabiranje dva polja iz baze) 20.04.2005. u 18:05 · pre 262 meseca #60
E u redu je. Dal mi mozes sada objasniti sta trebam uraditi i koji kod za ono da ako ucenik ima 1 u nekom predmetu da u koloni Uspjeh upise 1.
Potpis
A gde je moj moped ko da je u moravu propo!
Pero kojot genije!
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme