Newsgroup: it.comp.appl.access
Titolo: query per selezione da maschera

buona sera a tutti
ho realizzato un piccolo database per la gestione di una squadra...
vengo subito al sodo ho creato una query che seleziona da form il
campo visita medica scaduta o valida
ma ho problemi a farla girare...!!!
Like IIf([forms]![dati_personali]![visita]="ok";([atleti].
[visita])<=Now();IIf([forms]![dati_personali]![visita]="scaduta";
([atleti].[visita])>=Now();IIf([forms]![dati_personali]!
[visita]="tutte";"*")))
quando nel campo di selezione dalla form metto tutte logicamente ho
come risposta tutti i record
se seleziono ok oppure scaduta non ottengo risultati
un grazie in anticipo....
ciao aldo

 ha scritto nel messaggio 
news:067be46e-28f8-445f...@m35g2000vbn.googlegroups.com...

Caro Aldo, stesso mio problema che ho postato il 18/01 ma ancora non sono 
riuscita a risolvere.
Puoi tenermi aggiornata sulle tue prove e se risolvi?
Grazie,
Giorgia 

 ha scritto nel messaggio 
news:ih8n6a$kln$1...@speranza.aioe.org...

Ragazzi (visto che il problema ce l'avete tutti e due) ma lo leggete quello 
che scrivete???
se il valore è ok cosa restituisce l'espressione?
Like [atleti].[visita])<=Now()
e secondo voi che vor dì?
Sintatticamente e informaticamente parlando sai cosa vuol dire?
viene valutata la sottoespressione visita <= now che darà true o false
quindi ci sarà Like true o like false
e quindi non sarà mai verificato
stesso discorso per l'altro caso
cmq, il campo atleti.visita cosa dovrebbe avere al suo interno, stavolta 
semanticamente?
Antonio 

 ha scritto nel messaggio

opssss
mò ho capito....
antonio adesso ho capito il concetto.....come dici tu esegue una cosa
inconcepibile...
nel campo atleti.visita vi è la data del certificato medico ed io in
base alla data odierna vorrei fare filtro
sulle visite valide o scadute.....
mi aiuteresti a completare la query..???? please...
di nuovo un grazie in anticipo
ciao aldo


antonio adesso ho capito il concetto.....come dici tu esegue una cosa
inconcepibile...
nel campo atleti.visita vi è la data del certificato medico ed io in
base alla data odierna vorrei fare filtro
sulle visite valide o scadute.....
Non mi torna cmq quello che volevi fare
se lì c'è la data di scadenza del certificato, semmai doveva essere > now 
per OK (se scade dopo oggi, non è scaduto) e < now per scaduta (se scade 
prima di oggi è già scaduto)
siccome con l'espressione condizionale è un casino mettere confronti con 
operatori diversi, il trucco è quello di rifarsi a valori singoli risultato 
di un espressione messa come campo calcolato
pertanto
iif(visita>now();1;2) questo ti dice con valori singoli se è scaduta o no
sotto questo campo calcolato ci metti
like 
iif([forms]![dati_personali]![visita]="ok";1;iif([forms]![dati_personali]![visita]="scaduta";2;"*")
pertanto, se scelgono tutte viene like "*" e quindi prende sia 1 che 2 cioè 
sia scaduto che non
se scelgono ok, viene like 1 e quindi prende solo quei campi calcolati dove 
visita > now quindi non scaduta
stessa cosa per il terzo caso
Antonio 

 ha scritto nel messaggionews:844e56a2-a5c5-47df...@i17g2000vbq.googlegroups.com...

GRANDE
funziona perfettamente......ora vado avanti con la query
vorrei aggiungere 2-3 cose ...
fare una query dinamica (nome nn appropriato) dove selezioni vari
campi dalla maschera tipo
la visita medica taglia abbigliamento etc..ed altre cose e alla fine
ottengo il risultato sperato...!!!
ciao e grazie ancora

 Antonio
GRANDE
funziona perfettamente......
Eccecredo!! :-D
ora vado avanti con la query
vorrei aggiungere 2-3 cose ...
fare una query dinamica (nome nn appropriato) dove selezioni vari
campi dalla maschera tipo
la visita medica taglia abbigliamento etc..ed altre cose e alla fine
ottengo il risultato sperato...!!!
Sotto ogni campo della query metti
like iif(nz(forms("tuaform").controllofiltro;"*")
Antonio