Newsgroup: it.comp.appl.access
Titolo: query che non  funziona

ho questa query che dovrebbe estrapolarmi tutti i record compresi in un
mese a scelta, ma mi da sempre lo stesso risultato su qualsiasi mese che
filtro
non capisco dove si trova l'errore, ve lo posto sperando che qualcuno lo
capisca e ne individua l'errore.
ci provo!
SELECT tblferie2008.Matr, tblanagrafica2008.COGNOME,
tblanagrafica2008.NOME, tblferie2008.Dal, Month(tblferie2008.dal) AS
meseinizio, Month(
tblferie2008.al
) AS mesefine, tblferie2008.Al,
tblferie2008.Ordinario, tblferie2008.strsalute, tblferie2008.straltri,
tblferie2008.aspetsalute, tblferie2008.aspetfamiglia,
tblanagrafica2008.CATEGORIA, Format("01/" & [mese] & "/2008","mmmm") AS
NomeMese, tblanagrafica2008.STATO_GIUR
FROM tblanagrafica2008 INNER JOIN tblferie2008 ON tblanagrafica2008.MATR =
tblferie2008.Matr
WHERE (((tblferie2008.strsalute)<10) AND
((tblanagrafica2008.STATO_GIUR)="DI RUOLO") AND
((Month([tblferie2008].[dal]))<=[mese]) AND
((Month([tblferie2008].[al]))>=[mese]) AND
((Year([tblferie2008].[dal]))="2008")) OR (((tblferie2008.straltri)<10))
OR (((tblferie2008.aspetsalute)<10)) OR
(((tblferie2008.aspetfamiglia)<10)) OR (((tblferie2008.Ordinario)<10))
ORDER BY tblferie2008.Matr;
grazie 
l.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 l.
Supponiamo che il tuo mese sia "Agosto" quindi "8"
Gli stai dando come criterio 
Month([tblferie2008].[dal]))<=[mese]) AND
Month([tblferie2008].[al]))>=[mese]
Quindi sono i valori esterni ad "8".. cioč minore/uguale a "8" e
maggiore/uguale a "8" in pratica tutti i mesi..
--
sv


 sv
si ma sono due campi differenti.
Come potrei fare per filtrare solo i dati del mese scelto?
dato che dal e al devono avere l'uno o l'altro il mese scelto?
troppo complicato?
l.


 ha scritto nel messaggio 
news:gp67gb$1lm$1...@news.newsland.it...

Guarda che l'osservazione di Salvino mi sembra proprio azzeccata, anche se 
credo che quanto dice lui si otterrebbe solo con un OR mentre tu usi un AND. 
Ad ogni modo mi sembra poco logica una condizione del tipo:
mese <= CampoDal AND
mese >= CampoAl
Cosa vuoi ottenere ? Prende solo i mesi che sono minori o uguali AND 
maggiori o uguali a quello richiesto: quindi becca solo il particolare mese. 
Forse gli operatori li avresti dovuti mettere invertiti:
mese >= CampoDal AND
mese <= CampoAl
Ciao
Antonio

 Antonio
ripeto, non sono stato chiaro
ho una tabella  con i campi cognome nome Dal , al, ordinario,
strsalute,straltri,aspettative.
dal e al (date) sono il periodo che puo andare da un mese all'altro o
nello stesso mese.
ordinario, strsalute,straltri,aspettative. sono dei campi dove viene
segnato il numero di gg del periodo.
Con una query voglio filtrare tutti i campi ordinario,
strsalute,straltri,aspettative che hanno i gg. inferiori a 10 e che
rientrano come periodo in un mese scelto.
Volevo arrivarci con il codice di cui sopra, ma qualsiasi mese scelgo, mi
dà sempre lo stesso risultato e non mi filtra i gg. inferiori a 10 ma
tutti indistintamente.
spero di aver spiegato bene la cosa.


> >  http :// www .newsland,it /news segnala gli abusi ad abuse@newsland,it 

Io ci provo.....se il problema è filtrare i dati secondo strsalute,straltri,aspettative < 10 nel periodo che scegli (immagino che le date debbano essere iputate entrambe obbligatoriamente) dovresti PRIMA imporre il periodo (tieni la nota di Antonio che ha ragione.....meseDAL >= e meseAL <= non viceversa) e poi imporre le altre condizioni. Una cosa del tipo:
WHERE (Month([tblferie2008].[dal])>=[mese] AND Month([tblferie2008].[al])<=[mese]) AND (tutte le altre condizioni con OR) 
In questo modo il periodo è garantito. Però mi viene da pensare che se usi il QBE e per caso uno dei termini è vuoto s'impalla tutto....io costruirei la stringa WHERE dinamicamente con un loop sui campi, e poi la concatenerei ad una stringa SQL da codice
-- 
Questo articolo e` stato inviato dal sito web 
http://www.nonsolonews.it

Fair8 ha scritto:



ora stai parlando ostrogoto! non lo so fare!
-- 
questo articolo e` stato inviato via web dal servizio gratuito 


^luigi^ ha scritto:

Domanda: la query l'hai costruita nella finestra delle query di Access giusto? Ecco allora la mia perplessità: i campi che hai elencato sono TUTTI pieni per forza? O può succedere che qualcuno sia vuoto? Resta valido il discorso su come sistemare la clausola WHERE
