Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] MS Access: problem z funkcją Policz

To: winnt@man.lodz.pl
Subject: Re: [WINNT] MS Access: problem z funkcją Policz
From: Netx <nospam@chip.pl>
Date: Fri, 24 May 2013 13:34:47 +0200
W dniu 2013-05-24 13:23, Basia pisze:
Temat nie na tę grupę, ale - niestety - to jedna z nielicznych jeszcze 
"żyjących", zatem wybaczcie :)
Rozwiązuję sobie zadania maturalne z informatyki i na poziomie rozszerzonym trafiła mi 
się "zagwozdka" z zadaniem wykorzystującym Access'a (używam wersji z pakietu 
Office 2003). Krótko: jest baza danych wypożyczalni filmów z tabelami:
1. FILMY. Pola to: ID_filmu, Tytul, Kraj_produkcji, Gatunek, Cena_w_zl.
2. KLIENCI. Pola to: Pesel, Imie, Nazwisko.
3. WYPOZYCZENIA. Pola to: ID_wyp, Data_wyp, ID_filmu, Pesel.
Dane poprawnie zaimportowane, tabele powiązane relacjami (FILMY i WYPOZYCZENIA 
polem ID_filmu; KLIENCI i WYPOZYCZENIA polem Pesel), 4 podpunkty zadania 
zrobione, a w piątym mam problem.
Zadanie jest takie: "Podaj liczbę filmów oraz tytuły filmów, które nie zostały 
wypożyczone ani razu przez klientów usługi VOD na etapie testowania."
Co zrobiłam?
Utworzyłam kwerendę podsumowującą (włączyłam SUMY) z tabel FILMY i WYPOZYCZENIA. Wzięłam pole Tytul z tabeli 
FILMY oraz pole ID_wyp z tabeli WYPOZYCZENIA. Dla pola Tytul ustawiłam "Grupuj według", a dla pola 
ID_wyp wybrałam funkcję Policz. I tu jest problem. Owszem funkcja liczy (poprawnie, sprawdzałam 
"ręcznie"), ale nie podaje wartości zerowych - czyli nie znajduje filmów niewypożyczonych (nie ma 
ich w wyniku kwerendy). Zmiana pola na Data_wyp, ID_filmu czy Pesel nic nie daje. Czy funkcja Policz nie 
podaje wartości zerowych? Czy jakoś można "zmusić" Access'a do podania tych wartości? Czy może 
poradzić sobie inaczej (jak)? Szperanie w Google nic nie przyniosło.
Z góry dziękuje za pomoc i ewentualną podpowiedź.

Dawno już nie programowałem baz danych ale o ile pamiętam w Access można użyć SQL i wtedy kombinowałbym coś w rodzaju:

select f.Tytul from FILMY [as] f w where not exists (select * from WYPOZYCZENIA where WYPOZYCZENIA.ID_filmu = f.ID_FILMU)

Nie jestem pewny czy "as" jest potrzebne

<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>