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

Oduzimanje vrednosti u tabeli

[es] :: Access :: Oduzimanje vrednosti u tabeli

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nikolayu
nikolayu

Član broj: 56759
Poruke: 8
79.125.186.*



Profil

icon Oduzimanje vrednosti u tabeli22.02.2008. u 15:42 - pre 196 meseci
Poz.
Imama jedan problem vezan za tabelu koja sluzi za evidentiranje magacina

Naime, kako da namestim da kad u formu ukucam broj iskoriscenih predmeta da se automatski u tabeli smanji kolicina tog predmeta.

Npr:
predmet | Kolicina
Knjige | 10

I kad u formi u nekom TextBox-u izaberem "Predmet: Knjiga" i ukucam "2", da on atomatski oduzme u tabeli

predmet | Kolicina
Knjige | 8

Hvala!
 
Odgovor na temu

domaci_a_nas
PHP developer

Član broj: 42333
Poruke: 524
*.dynamic.sbb.co.yu.



+8 Profil

icon Re: Oduzimanje vrednosti u tabeli22.02.2008. u 16:55 - pre 196 meseci
Na početku ću reći da je to što si rekao vrlo lako ostvarljivo, samo treba imati u vidu sledeću matematiku:

Raspoloživa količina = 10

Kada ukucaš u polje vrednost 2 on će ti skinuti količinu na 8 (10 - 2 = 8), ali šta se dešava kada kasnije edituješ taj podatak gde je pisalo 2 i umesto 2 upišeš 3. Onda će ti preostala količina biti (8 - 3 = 5), što je netačno, jer treba biti (10 - 3 = 7)

Zato u fomi u kojoj unosiš podatke uvedi promenljivu StaraKolicina. Recimo da se kontrola na formi u kojoj upisuješ količine koje hoćeš da skineš sa stanja zove MojaKolicina, a šifra Predmeta neka bude MojPredmet.

Na On Current event postavi kod StaraKolicina = Nz(MojaKolicina, 0)

Kada stisneš dugme za skidanje sa stanja napišeš sledeći kod :

StrSQL = "Update knjige Set Kolicina = Kolicina - " & Nz(MojaKolicina, 0) - StaraKolicina & " Where Predmet = " & Me!MojPredmet
CurrentDb.Execute StrSQL

U slučaju unošenja novog podatka, StaraKolicina = 0 i želimo da skinemo 2 knjige sa stanja. Znači nova raspoloživa količina će biti 10 - (2 -0) = 8.
Nakon te operacije, ako želimo da umesto 2 postavimo 3, raspoloživa količina će biti 8 - (3 - 2) = 7.

Pozdrav imenjaku
Ozbiljan i odgovoran mladić
 
Odgovor na temu

lukeguy
Novi Sad

Član broj: 46545
Poruke: 470
*.com
Via: [es] mailing liste



+8 Profil

icon Re: Oduzimanje vrednosti u tabeli22.02.2008. u 17:42 - pre 196 meseci
ili se malo upoznaš sa teorijom baza podataka i normalizacijom i
shvatiš da se ovakvi podaci ne čuvaju u tabelama.
 
Odgovor na temu

nikolayu
nikolayu

Član broj: 56759
Poruke: 8
79.125.184.*



Profil

icon Re: Oduzimanje vrednosti u tabeli22.02.2008. u 18:04 - pre 196 meseci
Hvala domaci_a_nas na odgovoru!

Sve sam uradio kao sto si napisao, ali mi izbacuje poruku

Run-time error '3075':
Syntax error (missing operator) in query expression 'Kolicina -'

 
Odgovor na temu

domaci_a_nas
PHP developer

Član broj: 42333
Poruke: 524
*.dynamic.sbb.co.yu.



+8 Profil

icon Re: Oduzimanje vrednosti u tabeli22.02.2008. u 19:11 - pre 196 meseci
Samo da odgovorim lukeguy i sličnim pametnjakovićima.

Firma za koju radim bazu je tražila izveštaj sa spiskom računa koje je izdala, gde im je bila bitna krajnja cifra. E sad, ta krajnja cifra se računa pomalo komplikovano. U tabelu se upiše osnovna cena, zatim se u odnosu od količine svakog proizvoda u računu odredi popust za taj pojedinačni proizvod na osnovu tabele Popusti, zatim se za svaki proizvod u odnosu na grupu proizvoda odredi PDV, zatim još jedna taksa u zavisnosti da li je klijent domaća ili strana firma i onda izbaci finalna suma kao zbir svih tih parametara.

Ja imam oko 1000 računa na tom izveštaju, dok sve to izračuna prođe jedno 15-20 sekundi. Onda sam odlučio da u tabeli Računi dodam jedno polje koje updateujem kad izmenim račune prema Queryju koji te cene računa. Izveštaj se trenutno otvori. Sad ti kad pogledaš, da li zbog performansi sistema vredi žrtvovati neke principe tu i tamo, moj odgovor je DA! Performanse su meni sveti princip jer je to jedino što klijent vidi. Ja pravim sistem po meri klijenata, ne da bi mi neki drugi programer rekao, e tako treba.

Takođe mi je bitan i integritet podataka, znači uvek imam dva polja, početna i preostala količina i tabelu izdavanje robe. Poredeći ta tri parametra ja mogu da utvrdim prilikom održavanja baze da li se u nekoj operaciji pojavila greška, za čim sam već imao potrebe u pojedinim slučajevima. Ako korisnik hoće da u istoj formi vidi početnu količinu i preostalu, a pritom da može da menja podatke u formi, ja mu kolonu preostala kolicina ne mogu prikazati kao pocetna količina - sum(izdata količina) jer taj query ne bi bio editable.

nikolayu, okačiću rešenje problema sa kodom koji sam malopre postavio, mislim da bi mogao bar malo da se potrudiš oko koda koji ima samo dva tri reda, kako kasnije misliš da pišeš mnogo duži kod?
Ozbiljan i odgovoran mladić
Prikačeni fajlovi
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Oduzimanje vrednosti u tabeli22.02.2008. u 20:02 - pre 196 meseci
Zadatak da se sa forme ažurira tabela i da to pri tom bude tretirano kao neko stanje može biti legitiman zahtev i ne mora se smatrati uvek izračunatim poljem. Ovde je stvar percepcije. Nemamo ni model pa da možemo da ga prokomentarišemo. Moguće je da lukeguy nije baš najbolje shvatio zahtev, ali to nije razlog da se kolege nazivaju pametnjakovićima. Brzina na okidaču baš i nije neka vrlina u ovom poslu.
 
Odgovor na temu

nikolayu
nikolayu

Član broj: 56759
Poruke: 8
79.125.184.*



Profil

icon Re: Oduzimanje vrednosti u tabeli22.02.2008. u 20:49 - pre 196 meseci
Da da, sad je ok. Mada sam primetio da se kod u postu i u tvom mdb-u razlikuje, ali nema veze vazno da funkcionise.


Sada mi je ostalo da napravim query ali da sadrzi vise uslova, tako da ako je jedan uslov ostavljen prazan da izbacuje rezultat od drugih (da ga ignorise) ali ako ima vise unesenih uslova da ih sve uporedjuje.

Npr: ako ukucam "srpski" i stavim datum "10.10.2007" da mi izbaci sve knjige "srpski" od "10.10.2007", a ako umesto srpskog ostavim prazno a za datuma ukucam "10.10.2007" da mi izbaci sve knjige od tog datuma.

[Ovu poruku je menjao nikolayu dana 22.02.2008. u 22:05 GMT+1]
 
Odgovor na temu

domaci_a_nas
PHP developer

Član broj: 42333
Poruke: 524
*.dynamic.sbb.co.yu.



+8 Profil

icon Re: Oduzimanje vrednosti u tabeli22.02.2008. u 20:58 - pre 196 meseci
I ja smatram da nije najbolje shvatio zadatak, zato njegov nadmen odgovor nije na mestu. Ako je već neko početnik treba mu dati koristan odgovor, a ne napisati nešto što će ga još više zbuniti. Imenjače, kod se razlikuje jer nisi postavio model podataka kao što reče kolega Getsbi i nisam znao kako se zovu polja u tvojim tabelama, u bazi koju sam ja okačio znam kako se šta zove i to je to.

Ne želim da se neko oseti uvređenim, slažem se da je potrebno pročitati neku literaturu pre nego što se počne bilo šta i izvinjavam se zbog oštrih reči.
Ozbiljan i odgovoran mladić
 
Odgovor na temu

lukeguy
Novi Sad

Član broj: 46545
Poruke: 470
*.com
Via: [es] mailing liste



+8 Profil

icon Re: Oduzimanje vrednosti u tabeli23.02.2008. u 01:33 - pre 196 meseci
naravno da postoje legitimni razlozi da se odustane od normalizovanja
baze, ali to je rešenje kojem se poslednjem pribegava, jer često
donosi više muke nego dobiti. tu ima dosta mesta raspravi, ali ovakve
greške jesu početničke i mislim da je na početku bolje naučiti kako
treba da se radi, a kasnije vežbati sa krpama i zakrpama. jer pitanje
je šta će više zbuniti početnika od to dvoje.

s druge strane mi stvarno nije jasno čemu ovakav ton, kao da se
neslaganje ne može iskazati bez omalovažavanja. no dobro, šta je
rečeno - rečeno je, da ne idemo dalje u offtopic.
 
Odgovor na temu

Getsbi

Moderator
Član broj: 124608
Poruke: 2831



+45 Profil

icon Re: Oduzimanje vrednosti u tabeli23.02.2008. u 07:54 - pre 196 meseci
Ovo sa tonom smo rešili. Čovek se izvinio i to je dovoljno.

Oko razloga za odustajanje od normalizacije smo više puta diskutovali, a postoje i kao uzgredne opaske u raznim temama. Slažem se da prethodno treba iscrpeti sve mogućnosti od maksimalne upotrebe upita pa do prebacivanja back-end na SQL server. Iza toga bi moglo da se razmišlja o denormalizaciji. S tim u vezi istaći ću, po cenu da budem dosadan, da je važno što bolje predviđanje budućeg dometa baze (broja zapisa u njoj) i aplikacije (načina korišćenja). Takođe se slažem i da je kupac ili klijent "zakon", jer od ispunjenja njegovih zahteva zavisi naša plata. Šta je u ovom konkretnom slučaju primarnije ostaje svakom po na osob da proceni.
 
Odgovor na temu

[es] :: Access :: Oduzimanje vrednosti u tabeli

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

Postavi temu Odgovori

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