[ Valerij Zajcev @ 18.01.2008. 19:10 ] @
Code:

SELECT S.Ime, S.Prezime, P.NazivPredmeta, P.Nastavnik, R.Ocena
FROM STUDENT AS S, PREDMET AS P, REZULTATIISPITA AS R
WHERE (((S.BrIndexa)=[R].[BRINDEXA]) AND ((R.IDPredmeta)=[P].[IDPREDMETA]))
GROUP BY S.Ime, S.Prezime, P.NazivPredmeta, P.Nastavnik, R.Ocena, S.BrIndexa
HAVING (((R.Ocena)>=8));

Pokusao sam da napravim report za ovaj query gore preko wizarda ali kada dodam sve iz upita da mi prikaze na report javi mi gresku iz naslova???
[ Zidar @ 18.01.2008. 21:38 ] @
Ne moze kako si napisao. HAVING se primenjuje na agregatnu funkciju (SUM, AVG, MIN, MAX, COUNT). Nisam siguran sta ti tacno treba, ali bi ispravna sintaksa bila

Code:

SELECT S.Ime, S.Prezime, P.NazivPredmeta, P.Nastavnik, AVG(R.Ocena) AS SrednjaOcena
FROM STUDENT AS S, PREDMET AS P, REZULTATIISPITA AS R
WHERE (((S.BrIndexa)=[R].[BRINDEXA]) AND ((R.IDPredmeta)=[P].[IDPREDMETA]))
GROUP BY S.Ime, S.Prezime, P.NazivPredmeta, P.Nastavnik, R.Ocena, S.BrIndexa
HAVING (((R.Ocena)>=8));


Stavio sam AVG(R.Ocena) AS SrednjaOcena umesto R.Ocena

Ako ne radis agregaciju, onda ne vidim cemu ti GROUP BY sluzi, pa bi moglo i ovako:

Code:

SELECT S.Ime, S.Prezime, P.NazivPredmeta, P.Nastavnik, R.Ocena
FROM STUDENT AS S, PREDMET AS P, REZULTATIISPITA AS R
WHERE (((S.BrIndexa)=[R].[BRINDEXA]) AND ((R.IDPredmeta)=[P].[IDPREDMETA]))
AND (((R.Ocena)>=8));


Odavno nisam video ovu starinsku sintaksu za vezivanje tabela, barem ne u MS Access.

Mozda bi trebalo ovako:
Code:

SELECT S.Ime, S.Prezime, P.NazivPredmeta, P.Nastavnik, R.Ocena
FROM STUDENT AS S
JOIN  REZULTATIISPITA AS R ON S.BrIndexa = R.BRINDEXA
JOIN  PREDMET AS P ON R.IDPredmeta)=[P].[IDPREDMETA]
WHERE  R.Ocena>=8

AKo probas Cut/Paste nece ni ovo raditi, ovo je SQL standardna sintaksa a Access nesto drugacije sklapa JOIN.
Imas u Accessu prozor gde se prave kveriji i jednostavno povezes kolone koje te interesuju i gotovo.
Ako koristis JOIN zna se tacno sta je spajanje tabela a sta je uslov. U staroj sintaksi je sve bilo pomesano pa su SQL izrazi bili nejasni i zbog toga.


:-)

[ Valerij Zajcev @ 18.01.2008. 21:46 ] @
Ne mogu da verujem sta sam napisao :) Svejedno kad pokusam da stavim upit u report ne prihvata ga ista greska?
[ Getsbi @ 19.01.2008. 07:11 ] @
Nezavisno od načina pisanja query-ja, gde je Zidar u pravu, moja predpostavka je da su podaci konvertovani (recimo iz Excela ili drugog izvora) i da neki podatak u tabeli ne može da se korektno prikaže na izveštaju. Pokušaj da zakačiš fajl sa tabelom, query-jem i reportom. Ili ako te ne mrzi pregledaj tabelu iz koje vučeš podatke.
[ Valerij Zajcev @ 19.01.2008. 10:20 ] @
Samo access koristim nekakv drugi izvor podataka nemam. Evo pogledaj sam.
VLADA01 upit pokusavam da povezem
[ Getsbi @ 19.01.2008. 11:17 ] @
Red Total ne koristiš na ispravan način. Napravio sam ti jedan upit sa povezanim tabelama i report na osnovu njega. Nadam se da si to hteo.
[ Valerij Zajcev @ 19.01.2008. 11:27 ] @
Na sta mislis kad kazer red total?
Sada sam probao da naprpavim upit na osnovu ovog tvog upita i vidi...
[ Getsbi @ 19.01.2008. 12:00 ] @
Ne mogu da ti dam objašnjenje oko greške "Subscript out of range". I ja dobijem tu grešku kad pokušam preko wizarda da koristim query sa alijasima za nazive tabela. Verovatno ima veze sa time. Ja u principu ne radim sa Wizardima ali evo ti jedan upit Getsbi2 koji će da prođe wizarde.
U prvom primeru ti je bio uključen red Total ali bez neke potrebe. Verovatno je ostao od ranije.