Access Reports

poruka: 7
|
čitano: 3.528
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
17 godina
neaktivan
offline
Access izvještaji
pitanje

Molim pomoć, imam jednu tablicu "Osobe" a koja je povezana sa tablicom
"Datum". Svaka osoba iz tablice "Osobe" ima više datuma u tablici "Datum".
Pitanje:
Kako mogu u izvještaju "Reports" ispisati sve osobe iz tablice "Osobe" i za
svaku osobu SAMO zadnji upisani datum iz tablice "Datum"?

Naime u izvješću imam popis svih osoba iz tablice "Osobe" ali ono mi dupla
osobu za onoliko datuma koliko je upisano za tu osobu u tablici "Datum" a
meni je potreban samo zadnji upisani datum.

Unaprijed zahvaljujem!

 
0 0 hvala 0
17 godina
offline
RE: Access izvještaji
Evo ovako nekao izgleda query:

SELECT Osobe.Osoba, Max(Datum.Datum) AS MaxOfDatum
FROM Osobe LEFT JOIN Datum ON Osobe.Osoba = Datum.Osoba
GROUP BY Osobe.Osoba
HAVING (((Max(Datum.Datum))=Max([datum])));

Dakle uzmes samo "najveci" datum iz tablice datumi. Naravno, prilagodi imena polja i tablica...
***** Maxxy *****
17 godina
neaktivan
offline
RE: Access izvještaji
autorov komentar

Hvala pokušat ću.

 

17 godina
neaktivan
offline
RE: Access izvještaji
autorov komentar

Sa datumom sam uspio ali mi se pojavio problem, naime u tablici "Datum" postoje stupci "Datum_pocetak", "Datum_kraj" i "Razlog", a stupac "Razlog" je povezan sa tablicom "Vrsta razloga" i sad mi u Queries-u kada spojim tablice za osobu mi daje zadnji upisani datum iz stupca "Datum_pocetak" ali u stupcu "Razlog" daje mi najveći sa liste "Vrsta razloga" a koji ne odgovara upisanom datumu jer u liniji upisa nekad je "Razlog" prazan a povlači zadnji veći upis iz "Vrste razloga" za tu osobu.

 

Ako sam bio jasan?

17 godina
offline
RE: Access izvještaji

Hmmm... pa moram priznati da bas i nisi... Smijeh

 

Pretpostavljam da ti treba nesto kao ovo, ali nisam siguran da sam bas sve tocno skuzio:

 

SELECT Osobe.Osoba, Max(Datum.Datum) AS MaxOfDatum, Vrsta_razloga.Razlog
FROM (Osobe LEFT JOIN Datum ON Osobe.Osoba = Datum.Osoba) LEFT JOIN Vrsta_razloga ON Datum.Razlog = Vrsta_razloga.Razlog
GROUP BY Osobe.Osoba, Vrsta_razloga.Razlog
HAVING (((Max(Datum.Datum))=Max([datum])));

Ako to nije to, pojasni ponovno!

***** Maxxy *****
17 godina
neaktivan
offline
RE: Access izvještaji
autorov komentar

Uspio sam da iz prvog primjera primjenim na ID broj iz tablice Datum tako da za svaku osobum dobijem najveći broj zapisa za tu osobu, a onda u novom Queries povežem dobijeni rezultat sa tablicom Datum i onda dobijem rezultat koji mi je potreban.

 

Zahvaljujem na pomoći.

17 godina
offline
RE: Access izvještaji
Drago mi je ako sam pripomogao!
***** Maxxy *****
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice