[ Nile_80 @ 15.02.2010. 22:12 ] @
| Ovako. Imam dva upita koje sam imenovao UPIT - POČETNO STANJE i UPIT - OSTALA STANJA. Ti upiti izdvajaju mi KONTA sa njihovim prometom (duguje, potražuje). Upit početno stanje izdvaja mi konta koja su otvorena na nalogu 1. sa njihovim prometom. Upit ostala stanja izdvaja sva konta osim onih koja su prikazana u nalogu 1 sa zbirom (dugue, potražuje). To znači da dobijem otprilike ovakve rezultate:
UPIT POČETNO STANJE
broj naloga konto zbirduguje zbir potražuje
1 0139 200,00 0
1 0210 100,00 0
1 0220 100,00
UPIT OSTALA STANJA
broj naloga konto zbir duguje zbir potražuje
2 0139 100,00 0
5 0210 100,00 0
6 0220 100,00 0
7 0500 0 900,00
kako da sastavim ova dva upita u jedan koji bi mi dao sljedeće rezultate
POČETNO STANJE OSTALA STANJA
konto duguje potražuje duguje potražuje
0139 200,00 0 100,00 0
0210 100,00 0 100,00 0
0220 100,00 0 100,00 0
0500 0 0 0 900,00
sastavio sam ih preko trećeg upita ali mi se pojavljuje problem sa kontima koja se pojavljuju u OSTALIM NALOZIMA. dobijam sljedeći rezultat gdje mi se ne pojavljuje broj konta koje je imalo promet 900,00.
POČETNO STANJE OSTALA STANJA
konto duguje potražuje duguje potražuje
0139 200,00 0 100,00 0
0210 100,00 0 100,00 0
0220 100,00 0 100,00 0
0 0 0 900,00
Isprobao sam sve tipove veza u upitu ali nedobijam željeni rezultat . Sve funkcioniše kad imam promete konta I na nalogu br 1 (početno stanje) I na ostalim nalozima. Ukoliko imam promet konta samo na jednom od naloga (ili 1 ili ostali) nedobijam pregled tih konta. Gdje sam pogriješio.
|
[ BiloKoje @ 16.02.2010. 12:28 ] @
Imam utisak da je kod tebe problem u tabelama i relacijama, a ne u upitima. Bolje da okačiš bazu da pomognemo da se baza dobro organizuje nego da tražimo rešenja koja će stvarati nove probleme.
Po iznetim podacima, izgleda da se radi o nekoj knjigovodstvenoj evidenciji, tu ne bi trebalo da se pojavi potreba za takvim povezivanjima upita, jednostavno sve promene kao i početno stanje se unose u istu tabelu, a saldiranje po kontima je mnogo jednostavnije od ovog kako si ti krenuo.
[ Nile_80 @ 16.02.2010. 13:31 ] @
ok postaviću bazu čim stignem pozdrav
[ Nile_80 @ 16.02.2010. 20:29 ] @
[ BiloKoje @ 16.02.2010. 21:06 ] @
Ne mogu da otvorim bazu. Ja radim u Access XP.
[ Trtko @ 16.02.2010. 21:06 ] @
A da si prvo napravio Compact baze, pa vidis da je prevelika
i jos si je trebao staviti u *.rar ili *.zip
[ Nile_80 @ 16.02.2010. 21:14 ] @
ok
[ Catch 22 @ 16.02.2010. 21:17 ] @
Evo vam je konvertovana u Access 2002-2003 format, komprimovana i zipovana (18KB)
Mene trenutno mrzi da se bakćem sa tim...
[Edit]
Preteče me čovek... ali ovaj moj primerak je konvertovan u format čitljiv i iz Office XP
[ Nile_80 @ 16.02.2010. 22:00 ] @
I kako stojimo jel riješiv ovaj problem. Pozdrav svima
[ Nile_80 @ 17.02.2010. 09:09 ] @
Moguće je da nisam dobro postavio problem. Dakle sve promjene mi se nalaze u jednoj tabeli koja ima sljedeće kolone sa npr. ovim podacima
broj stavke ---------broj naloga--------datum knjiženja-------------opis------------konto----------duguje------------potražuje
-----1------------------1----------------17.02.2010----------------x--------------0139----------1000-----------------0-----
-----2------------------1----------------17.02.2010----------------y--------------0139------------0-----------------500----
-----3------------------2----------------17.02.2010----------------x--------------0240------------0-----------------1000---
-----4------------------3----------------17.02.2010----------------w--------------0292----------1000-----------------0----
pretpostavimo da je broj naloga 1 nalog početnog stanja
kako da iz ovog dobijem sljedeći rezultat
-------------------------- POČETNO STANJE----------------------------OSTALA STANJA---------------------
---------------------DUGUJE---------POTRAŽUJE------------------DUGUJE--------POTRAŽUJE---------------
konto-------0139------1000--------------500--------------------------0-----------------0----------------
konto-------0240--------0-----------------0---------------------------0---------------1000--------------
konto-------0292--------0-----------------0--------------------------1000---------------0----------------
[ Catch 22 @ 17.02.2010. 09:44 ] @
^ Već je bilo u više tema reči o tome da je bolje ako se sve promene duguje / potražuje vode u istom polju (koloni) uz uvođenje identifikacionog polja, kojim se određuje šta je u pitanju (Npr. duguje: ID=1 / potražuje: ID=2)...
[ Nile_80 @ 17.02.2010. 13:38 ] @
Da u pravu si radi na taj način,ali nisam naišao ni na kakav primjer do sad kojim bi se na taj način vršilo knjiženje tj. unijeti iznosu u kolonu pa ga u drugoj koloni sortirati po sistemu npr: duguje Poč St - 1, potražuje Poč st -2, duguje ost stanja - 3 , potražuje ost stanja - 4.
Da li je ovaj problem riješiv preko crosstab_query.
Pozdrav Svima
[ Nile_80 @ 18.02.2010. 20:27 ] @
Samo da kažem kako sam riješio ovaj problem i molim da me ispravite ako sam u krivom smjeru:
Iza polja DUGUJE i POTRAŽUJE uveo sam 2 dodatna polja koja dobijam preko QUERIJA
U prvom polju pokazuje mi vrijednost po principu IIf([Stavke naloga]![Duguje]=0;[Potražuje];[Duguje]) dakle ako je DUGUJE 0 stavi vrijednost potražuje i obratno.
U drugom polju dobijam vrijednost 1-4 po principu
IIf(([Stavke naloga]![Broj naloga]=1) And ([Stavke naloga]![Duguje]=0);2;IIf(([Stavke naloga]![Broj naloga]=1) And ([Stavke naloga]![Duguje]<>0);1;IIf([Stavke naloga]![Duguje]=0;4;3)))
To mi je bilo potrebno za UNAKRSNI upit u kojem imam 3 polja KONTO, VRIJEDNOST IZ DRUGOG POLJA DAKLE 1-4, i vrijednost iz prvog polja tj, IZNOS DUGUJE, POTRAŽUJE
TE tako dobijam sadržaj upita
-----------------------------1----------------------2---------------------3----------------------4
KONTO-----XXXX.............1000............................0..............................500..........................0....
KONTO-----YYYY...............0............................1000...............................0........................600...
itd
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|