[ avox @ 10.08.2006. 14:21 ] @
Zanima me kako da uradim sledece.Za fax moram da uradim projekad u VWD 2005 express.
Radi vezbe sam hteo da uradim aplikaciju za vodjenje kucnih finansija.Znaci unese se neki iznos i kasnije se prave rashodi.
Napravio sam 3 tabele u bazi.Jedna je Prihod.U njoj bi trebali da se belezi iznos prihoda (smallmoney), Nazi (sta je to) i datum (smalldate).U tabeli Rashodi bi sve sve isto upisivalo.Dok tabela Stanje sluzi da se vidi koliko je trenutno stanje i u njoj bi bila kolona StanjeId i Stanje (smallmoney).
Ja sam napravio da kad se unese novi prihod da se i u stanje to isto zapise, ali mi se pojavljuje novi red, a ja bih hteo da mi se u jedanom redu dodaje stanje.Kad unesem novi prihod na postojece stanje se doda.A kad upisem rashod od stanja se oduzme. Zanima me kako to da se izvede.Sta trebam da kucam u query-u.
Valjda nisam suvise konfuzno objasnio sta me zanima.
Hvala.
[ misk0 @ 10.08.2006. 17:05 ] @
Ne znam kakve su sad navike i zahtjevi, ali dobar nacin za rjesavanje tih problema je bio da drzis sve podatke u jednoj tabeli. I prihode i rashode. Kad zelis izracunati stanje po nekoj stavci, uradis SUM() po svim prihodima jedne stavke (vrste troskova) i od tog broja oduzmes SUM() rashoda iste stavke. Tako stanje imas najpreciznije.
[ spartak @ 11.08.2006. 08:02 ] @
Druze, nije ti bas najbolji plan baze. Pogotovo ta tabela stanje nema nikakvog osnova da postoji. Stanje se menja u zavisnosti od prihod/rashod i racuna se u momentu poziva (potrebe) kao razlika.

Ovo sto ti je rekao misk0 je prava stvar. Potrebna ti je jedna tabela za ovu funkcionalnost, posto prihod i rashod nisu dva razlicita podatka vec samo nose pozitivnu i negativnu vrednost jednog polja (para). Tu jednu tabelu slobodno nazovi Stanje, a svaki zapis u nju bi ti bio "promena" (stanja). E sad promena kad je prihod ona je pozitivna, kad je rashod ona je negativna. Stanje ti je suma svega i resio si stvar.

Ne bi bilo lose da dodas kolonu Datum (promene), tako da ako ti zatreba "kakvo je bilo stanje u 15. Oktobra 2006" mozes da dobijes presek sumirajuci samo ono sto se desilo do tada.
[ avox @ 11.08.2006. 21:01 ] @
To sam sad nekako skapirao, ali sad imam problem da u tabelu upisem podatke iz txtbox-a.
Hteo bih da preko dropdownliste izaberem da li je prihod ili rashod i u txtbox-u upisem vrednost.
Jel moze neko da mi pomogne oko koda?
Hvala.
[ spartak @ 11.08.2006. 22:41 ] @
Pogledaj ASP.NET Quickstart primere. Imas sve sto ti treba.

Da ti neko to sad sazvace bilo bi malo previse. I tako ti je poenta programiranja u tome da provaljujes kako sta radi iz docs.
[ avox @ 13.09.2006. 09:02 ] @
Dosao sam do nekog resenja.Napravio sam 2 tabele.Prva je Finansije, druga Dinamika.
Finansije sadrzi
-FinansijeID
-Ime
-Stanje


Dinamika sadrzi
-DinamikaID
-Prihod
-Rashod

Napravio sam triger na dinamici koji glasi

ALTER TRIGGER Trigger1
ON dbo.Dinamika
FOR INSERT
AS
update Finansije
set Stanje = Stanje + I.Prihod - I.Rashod
From Finansije F
inner join Inserted I
on
F.FinansijeID=I.FinansijeID


E sad problem je sledeci.Ja ne zelim da mi korisnik stalno kada pravi prihod i rashod ukucava FinansijeID.
Posto imam samo jedan unos u tabeli Finansije.Stavio sam da FinansijeID u tabeli bude Dinamika bude Default 1.
Iz detail view-a sam izbacio kolonu za unos FinansijaID i kad pokrenem sve to i vrsim unos izbaci mi gresku da
FinansijeID ne moze da bude null.Ja to ni ne zelim.
Zna li neko kako da resim ovo?
Hvala.
[ VerbatimBOT @ 13.09.2006. 11:40 ] @
Koliko sam shvatio, treba pri unosu da prosledjuješ DEFAULT (baš tim rečima). :)
Npr.
Code:

// dateInsert ima default vrednost GETDATE()
INSERT INTO myTable(fname, lname, dateInsert) VALUES('Mike', 'Morgan', DEFAULT)