Jamida
04.06.09,13:59
Prosim Vas, potrebujem do dotazu zadat vyraz tak, aby sa mi zobrazili osoby, ktore nakupovali iba do roku 2006.

Takze do pola "datum nakupu" treba zadat mozno nieco taketo: "okrem (Beetwen 1.1.2007 And 1.1.2010)".

Nemozem zadat "menej ako 1.1.2007", pretoze sa mi zobrazia nielen Tí, ktorí posledný krát nakupovali 31.12.2006 - týchto chcem, ale aj tí, ktorí nakupovali aj pred a aj po tomto dátume - týchto nechcem zobrazit.

Snazila som sa v "tvorca vyrazov" ale sa mi nedari. Mozno som uplne mimo a treba ist na to uplne inak.

Vopred dakujem za pomoc - ak sa da

Amaterka
k2s
04.06.09,22:22
* v SQL by to vyzeralo takto:

SELECT tabulka.klient, Max(tabulka.[datum nakupu]) AS [posledny nakup]
FROM tabulka
GROUP BY tabulka.klient
HAVING (((Max(tabulka.[datum nakupu]))<#1/1/2007#));

* a prikladám obrázok ako by to vyzeralo v tvorcovi výrazov
sthruska
05.06.09,05:09
Musí fungovať aj

WHERE [datum nakupu] < #1/1/2007#

Asi si zadával zle formát dátumu.
Odporúčam v žiadnom prípade nepoužívať diakritiku ani medzery v názvoch/definíciach Access-u.
Jamida
05.06.09,05:24
Ďakujeeeeeeeeeeem.
Skúšala som to podľa prvého príspevku, druhý tu ešte nebol (vyskúšam aj túto možnosť).

Funfuje to, akurát som zadala do mriežky ešte ID klienta, aby mi to "vyhodilo" všetky tri "Novákové" nie iba jednu.
k2s
05.06.09,05:59
Použitie WHERE [datum nakupu] < #1/1/2007# nie je postačujúce.

Najskôr som sa tiež divil, žeby nefungovala takáto podmienka, ale keď som si lepšie prečítal zadanie, tak som zistil, čo Jamida presne chce docieliť a v takom prípade je nutné použiť GROUP BY.
sthruska
05.06.09,06:18
Tak som si zadanie prečítal niekoľkokrát a myslím si toto:

1 Ak treba zobraziť aj dátum, tak súhlasím s GROUP BY
2 Ak stačí zobraziť len meno (bez dátumu), postačil by DISTINCT