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

HITNO problem u reportu!

[es] :: Access :: HITNO problem u reportu!

[ Pregleda: 2837 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

obradorriuss
Nikola Obradovic
CEO & Founder
NO SOLUTIONS
Novi Sad

Član broj: 30270
Poruke: 177
*.panline.net.

ICQ: 329831125
Sajt: www.nosolutions.rs


Profil

icon HITNO problem u reportu!20.12.2004. u 10:23 - pre 234 meseci
Pozdrav ljudi radi se o sledecem:
Imam bazu iz koje treba da izvuchem neke podatke u report!
tabele: clanovi, zaduzenje knjigama, knjige
naime napravio sam queri koji bi trebao da mi prikaze koji je ucenik iznajmio najvise knjiga za odredjeni period i koja je knjiga najcitanija za odredjeni period!

moj queri za ucenika glasi ovako:
SELECT [Zaduzenje knjigama].[Datum uzimanja], Clanovi.Prezime, Clanovi.Ime, Clanovi.Razred, Clanovi.Odeljenje, Count([Zaduzenje knjigama].Invbroj) AS CountOfInvbroj
FROM ([Zaduzenje knjigama] INNER JOIN Clanovi ON [Zaduzenje knjigama].[Clanski broj] = Clanovi.[Clanski broj]) INNER JOIN [Unos knjiga] ON [Zaduzenje knjigama].Invbroj = [Unos knjiga].Invbroj
GROUP BY [Zaduzenje knjigama].[Datum uzimanja], Clanovi.Prezime, Clanovi.Ime, Clanovi.Razred, Clanovi.Odeljenje
HAVING ((([Zaduzenje knjigama].[Datum uzimanja]) Between [Unesite pocetni datum:] And [Unesite krajnji datum:]))
ORDER BY Clanovi.Prezime, Clanovi.Ime, Clanovi.Razred, Clanovi.Odeljenje, Count([Zaduzenje knjigama].Invbroj);


a za najcitaniju knjigu glasi:
SELECT [Zaduzenje knjigama].[Datum uzimanja], [Unos knjiga].[Naslov dela], [Unos knjiga].Autor, Count([Unos knjiga].[Naslov dela]) AS [CountOfNaslov dela]
FROM ([Zaduzenje knjigama] INNER JOIN Clanovi ON [Zaduzenje knjigama].[Clanski broj] = Clanovi.[Clanski broj]) INNER JOIN [Unos knjiga] ON [Zaduzenje knjigama].Invbroj = [Unos knjiga].Invbroj
GROUP BY [Zaduzenje knjigama].[Datum uzimanja], [Unos knjiga].[Naslov dela], [Unos knjiga].Autor
HAVING ((([Zaduzenje knjigama].[Datum uzimanja]) Between [Unesite pocetni datum:] And [Unesite krajnji datum:]))
ORDER BY [Unos knjiga].[Naslov dela], [Unos knjiga].Autor, Count([Unos knjiga].[Naslov dela]);



E sada mene muchi to shto klikom na otvaranje upita ili izvestaja meni ne sumira po naslovu dela ili po clanskom broju ucenika, vec ispishe jedno ispod drugogf! ne znam kako to da resim
Npr. obradorriuss je iznajmio knjigu sa inventarnim brojem 1, 2 i 3 (ukupno 3 knjige) a on mi izbaci u izvestaju (upitu) jedno ispod drugog a ne da je obradorriuss ukupno 3 knjige uzeo!!!

Isto je i sa knjigama ukoliko imamo vise knjiga "Access 2003" ali pod razlicitim inventarnim brojevima isto izbacuje jednu ispod druge a nece da mi sumira da je knjiga "access 2003" bila iznajmljena ukupno 3 puta!!

Ako neko ima neki primer neka mi posalje! molim vas ovo mi je jako hitno!
hvala u napred!
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: HITNO problem u reportu!20.12.2004. u 16:22 - pre 234 meseci
Ajde da malo pojednostavimo kverije. Ovako:
a) Kveri koji pokazuje koji ucenik je zaduzio koliko knjiga
Code:

SELECT Clanovi.Prezime, Clanovi.Ime, Clanovi.Razred, Clanovi.Odeljenje, Count([Zaduzenje knjigama].Invbroj) AS CountOfInvbroj
FROM ([Zaduzenje knjigama] INNER JOIN Clanovi ON [Zaduzenje knjigama].[Clanski broj] = Clanovi.[Clanski broj]) INNER JOIN [Unos knjiga] ON [Zaduzenje knjigama].Invbroj = [Unos knjiga].Invbroj
GROUP Clanovi.Prezime, Clanovi.Ime, Clanovi.Razred, Clanovi.Odeljenje
WHERE((([Zaduzenje knjigama].[Datum uzimanja]) Between [Unesite pocetni datum:] And [Unesite krajnji datum:]))

Tvoj originalni kveri grupise prvo po datumu, a treba po Clanovi.Ime. Stoga sam izbacio Datum iz SELECT liste. AKo nesto nije u SELECT listi, ne sme da bude ni u GROUP BY, pa sam ga izbacio i odande. HAVING sam promenio u WHERE. HAVING se primenjuje na ono polje po kome radis COUNT. WHERE imas na dnu liste funkcija za grupisanje, ne vidi se odmah, mora da se skroluje na dole. ORDER BY sam izbacio jer Access ignorise ORDER BY kad radi report (ne ignorise uvek, ali ga ni ne gleda). report ima svoju logiku u odredjivanju redosleda i da bi bio siguran uradi sortiranje u reportu.


b) kveri koji pokazuje koja knjiga je najcitanija:
Code:

SELECT [Unos knjiga].[Naslov dela], [Unos knjiga].Autor, Count([Unos knjiga].[Naslov dela]) AS [CountOfNaslov dela]
FROM ([Zaduzenje knjigama] INNER JOIN Clanovi ON [Zaduzenje knjigama].[Clanski broj] = Clanovi.[Clanski broj]) INNER JOIN [Unos knjiga] ON [Zaduzenje knjigama].Invbroj = [Unos knjiga].Invbroj
GROUP BY [Unos knjiga].[Naslov dela], [Unos knjiga].Autor
WHERE ((([Zaduzenje knjigama].[Datum uzimanja]) Between [Unesite pocetni datum:] And [Unesite krajnji datum:]))

I ovde sam izbacio Datum Uzimanja iz SELECT/GROUP BY liste, promenio HAVING u WHERE i izbacio ORDR BY.





 
Odgovor na temu

obradorriuss
Nikola Obradovic
CEO & Founder
NO SOLUTIONS
Novi Sad

Član broj: 30270
Poruke: 177
*.panline.net.

ICQ: 329831125
Sajt: www.nosolutions.rs


Profil

icon Re: HITNO problem u reportu!20.12.2004. u 23:29 - pre 234 meseci
Zidar pre svega hvala na jako brzom odgovoru!
Ali problem se opet javi...
Probao sam da odradim i izmenim upit za najcitaniju knjigu, ali posle te izmene access 2003 mi izbaci poruku:
" Syntax error (missing operator) in query expression '[Unos knjiga].Autor WHERE ((([Zaduzenje knjigama].[Datum uzimanja]) Between [Unesite pocetni datum:] And [Unesite krajnji datum:]))'. "
Zasto mi se pojavljuje sad ovo??
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: HITNO problem u reportu!21.12.2004. u 14:25 - pre 234 meseci
Ja sam kucao SELECT direktno u poruku. Mozda fali neka zagrada ili je neka dvotacka gde ne treba da bude, tesko je videti iz koda. Imas generalnu ideju, probaj da napravis kveri nanovo, odpocetka i verovatno ce taj problem nestati. Ako ne uspe, cut/paste SQL izraz u poruku pa cemo da kopamo.

:-)
 
Odgovor na temu

obradorriuss
Nikola Obradovic
CEO & Founder
NO SOLUTIONS
Novi Sad

Član broj: 30270
Poruke: 177
*.panline.net.

ICQ: 329831125
Sajt: www.nosolutions.rs


Profil

icon Re: HITNO problem u reportu!22.12.2004. u 07:50 - pre 234 meseci
Prijavljuje istu gresku!!
Reci mi jel moze ovako da izgleda:
-NAJCITANIJA-

SELECT [Unos knjiga].[Naslov dela], [Unos knjiga].Autor, Count([Unos knjiga].[Naslov dela]) AS [CountOfNaslov dela]
FROM ([Zaduzenje knjigama] INNER JOIN Clanovi ON [Zaduzenje knjigama].[Clanski broj] = Clanovi.[Clanski broj]) INNER JOIN [Unos knjiga] ON [Zaduzenje knjigama].Invbroj = [Unos knjiga].Invbroj
WHERE ((([Zaduzenje knjigama].[Datum uzimanja]) Between [Unesite pocetni datum:] And [Unesite krajnji datum:]))
GROUP BY [Unos knjiga].[Naslov dela], [Unos knjiga].Autor
ORDER BY [Unos knjiga].[Naslov dela], [Unos knjiga].Autor, Count([Unos knjiga].[Naslov dela]);


-NAJVREDNIJI-

SELECT Clanovi.Prezime, Clanovi.Ime, Clanovi.Razred, Clanovi.Odeljenje, Count([Zaduzenje knjigama].Invbroj) AS CountOfInvbroj
FROM ([Zaduzenje knjigama] INNER JOIN Clanovi ON [Zaduzenje knjigama].[Clanski broj] = Clanovi.[Clanski broj]) INNER JOIN [Unos knjiga] ON [Zaduzenje knjigama].Invbroj = [Unos knjiga].Invbroj
WHERE ((([Zaduzenje knjigama].[Datum uzimanja]) Between [Unesite pocetni datum:] And [Unesite krajnji datum:]))
GROUP BY Clanovi.Prezime, Clanovi.Ime, Clanovi.Razred, Clanovi.Odeljenje
ORDER BY Clanovi.Prezime, Clanovi.Ime, Clanovi.Razred, Clanovi.Odeljenje, Count([Zaduzenje knjigama].Invbroj);

???

Ovako mi radi trenutno, mozda GROUP by treba da stoji posle WHERE !!??
Probao sam i sa New query pa istu gresku prijavi.
Ovaj gore kod sto sam napisao trenutno funkcionise, ali moram da ga istestiram josh malo? jel se tebi chini OK napisanim??
 
Odgovor na temu

Zidar
Canada

Moderator
Član broj: 15387
Poruke: 3085
*.eqao.com.



+79 Profil

icon Re: HITNO problem u reportu!22.12.2004. u 13:49 - pre 234 meseci
Izvinjavam se, greska je bila moja. Tacno, WHERE mora da bude pre GROUP BY. Poslednje verzije koje si napravio deluju OK.Probaj dva-tri primera tek da se uveris da sve radi. Ako pravis kveri koristeci Accessov prozor za kverije, onda sve bud epostavljeno kako treba. Jedina caka je kako staviti WHERE. Kao sto rekoh, lista iz koje biras sumirajuce funkcije (GROUP BY, MIN, MAX, COUNT, SUM) na dnu ima opciju WHERE. WHERE se ne vid kad se lista otvori, mora da se skroluje do kraja. I bice sve OK.

Srecna nova godina.

:-)
 
Odgovor na temu

[es] :: Access :: HITNO problem u reportu!

[ Pregleda: 2837 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

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