Newsgroup: it.comp.appl.access
Titolo: Problemi con IIF nella Query

In una query devo filtrare i record secondo se la data di consegna e
vuota o compilata.
Pertanto nel campo [dataconsegna] della query ho inserito questa formula
IIf([Forms]![Esenzioni]![GiaVendute]=Vero;Vero;([Contratti].[DataConsegna])
Is Null).La scelta viene presa da una maschera da un flag di un campo di
controllo.
Se nella query invece che inserire la formula provo le scelte singole
(vero oppure is null) da i risultati voluti.
La sitassi della funzione IIf e giusta, come mai non funziona.
Spero di essermi spiegato e di non aver fatto troppa confusuione.
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel
messaggio
news:202f38ce45e48f5aa9e...@mygate.mailgate.org...

Prova a sostituire vero con -1
MAssimiliano

 ha scritto nel messaggio
news:202f38ce45e48f5aa9e...@mygate.mailgate.org...

...
ciao
che io sappia la funzione iif restituisce un valore punto e basta, uno nel
caso il test sia vero e uno per il caso sia falso
dunque non puoi mettere  - ([Contratti].[DataConsegna]) Is Null -  come
risposta ma dovrai mettere solo - Null - o - Falso - per restare in linea
con il 1° caso se poi il campo [Contratti].[DataConsegna] non è quello su
cui stai lavorando ma un altro, allora agirai lì con un'altra formula.
spero di esserti stato utile
Giovanni


bhč..un pochino di confusione c'č.
nella query, alla condizione del campo [dataconsegna] hai messo un IIF 
che testa se il controllo [giavendute] della maschera [esenzioni] č vero 
(true) oppure no (false).
se č vero (true) ti aspetti come risposta Vero (??)...cioč?? ti aspetti 
che il controllo [giavendute] resti settatto a vero (true)??
se č falso (false) vuoi controllare che il campo [dataconsegna]non sia 
blank. e se č blank?? che deve fare la query??
lasciando perdere un attimo la parte del Vero, devi "nidificare l' IIF.
tipo:
IIf([Forms]![Esenzioni]![GiaVendute]=Vero;Vero;IIF([Contratti].[DataConsegna]Is 
Null;AZIONE SE VERO;AZIONE SE FALSO))
spero di aver capito il tuo problema..
ciao

Ho provato le soluzioni sopra ma non funzionano. La funzione IIf e
IIf(espr, partevera, partefalsa)ed e quello che ho fatto.
Infatti se io scrivo nella query
IIf([Forms]![Esenzioni]![GiaVendute]=Vero;#25/01/2004#;#18/11/2003#)
a seconda se la casella di controllo e vera o falsa il risultato della
query mi fa vedere i record contenenti o una data o l'altra.
Quando io sostituisco le date con quello che voglio ottenere, cioe
voglio evidenziare i record che contengono date oppure i record dove 
non ci sono le date,di conseguenza al posto delle date inserisco
 da una parte VERO e dall'altra IS NULL ed a questo punto non mi estrae
piu niente.
Non riesco a capire dove si trova l'inghippo, ho provato le scelte da
solo e funzionano, ma dentro il comando IIF non va.
Grazie.




Nella query il valore assunto da un determinato campo può derivare
direttamente da un campo di una tabella oppure derivare da una formula
(il tuo caso).
Quindi con la tua formula potrai valorizzare SOLO il campo della query
e NESSUN ALTRO CAMPO.
Se la condizione è vera il tuo campo assumerà 'true'. (fin qui Ok)
Non riesco a capire che valore dovrà assumere in caso contrario
??[([Contratti].[DataConsegna])Is Null)]??
Ciao
--
Alberto
No alle guerre

#25/01/2004# .
Il risultato e stato una query vuota.........
Sono in un vicolo ceco.


Sono in un vicolo ceco.
Lascia una parte del messaggio cui stai ripondendo (cosě si puň capire
il senso del dicorso)
Vediamo un po' di far chiarezza ...
Nella tua query hai un campo (TuoCampo) dove, invece di riportare il
campo di una tabella hai scritto
TuoCampo:IIf([Forms]![Esenzioni]![GiaVendute]=Vero;Vero;([Contratti].[DataConsegna])
Is Null)
Il che significa che quando lanci la query vuoi che in corrispondenza
del campo 'TuoCampo':
- Se il valore del controllo 'GiaVendute' della maschera 'Esenzioni' č
"vero", appaia il valore "Vero"
- Altrimenti ??? (e qui non ho capito cosa vuoi che accada: lo devi
spiegare tu)
