Newsgroup: it.comp.appl.access
Titolo: AIUTO:  Query parametrica che mi restituisce tutto in caso di valore Null?

Salve,
non riesco ad impostare la condizione per questa query parametrica potete
darmi qualche indicazione?
Vorrei filtrare la query in base al valore che di volta in volta inserisco
nella casella [SCELTA SCADENZA]
 
Ora, nel caso che io decida di lasciare vuota la casella in questione,
vorrei che la query venisse eseguita senza applicare alcun filtro... in
pratica visualizzando tutti i record.
Nella casella criteri della query ho scritto:
IIf([Forms]![m_report_go]![SCELTASCADENZA] Is Null;"*";"ALTRA CONDIZIONE")
Purtroppo anche lasciandola vuota la query non mi restituisce alcun record.
Dove sbaglio?
Grazie mille

 restituisce alcun record.
Criterio che restituirą tutti i record
www.donkarl.com/it?FAQ3.14
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it



Ma e' quello che ho scritto io nell'esempio. Pero' non mi funziona.
L'Iff anche in caso di condizione vera, quindi casella = Null, non mi
restituisce niente.

 restituisce niente.
Seguendo l'articolo, il criterio (in una riga) sarebbe:
[Forms]![m_report_go]![SCELTASCADENZA]
Or [Forms]![m_report_go]![SCELTASCADENZA] Is Null




Continua a non funzionare.... pero' forse e' colpa mia che ho tralasciato
di dire che la verifica viene fatta su un campo calcolato SCADENZA che
contiene una data o la stringa "DA FORMARE"
In origine avevo impostato questa formula ma il risultato e' sempre lo
stesso: non funziona come vorrei.
Like Nz(<[Forms]![m_report_go]![SCELTASCADENZA] Or "da formare";"*")
L'idea sarebbe questa: se lascio [SCELTA SCADENZA] vuota la query mi
restituisce tutto (questo funziona con la formula che ho postato ora)
se invece inserisco qualcosa (in effetti inserirei una data) nella casella
[SCELTA SCADENZA] la query mi dovrebbe restituire i record con il campo
SCADENZA = "DA FORMARE" e quelli con il valore della data inferiore a
quella inserita. Mi sembrava di aver impostato bene la formula ma
evidentemente mi sono incasinato e non vedo come venirne fuori. 
Grazie

 venirne fuori.
Non hai scritto perché e come crei il campo calcolato.
Forse per impostare il criterio puoi usare il campo data originale
o due campi (una data e un testo). Esempio in SQL:
...
WHERE
CampoData<Forms!m_report_go!SCELTASCADENZA
Or Nz(CampoData,"da formare")="da formare"
Or Forms!m_report_go!SCELTASCADENZA Is Null
Se non riesci posta l'enunciato SQL della tua query.




Ecco come calcolo il campo SCADENZA:
SCADENZA:
IIf([MaxDiData_Form] Is Null;"DA FORMARE";(IIf([MaxDiData_Form] Is Not Null
And [Frequenza]=0;"FORMATO";DateAdd("m";[Frequenza];[MaxDiData_Form]))))
Nel campo alla fine quindi mi ritrovo o una stringa (che puo' essere a
seconda dei casi "FORMATO" o "DA FORMARE") oppure una data.
A questo punto con la query parametrica vorrei avere il seguente risultato:
- se nella casella [Forms]![m_report_go]![SCELTASCADENZA] inserisco una
data, voglio che siano estratti tutti i record con SCADENZA = "DA FORMARE"
+ quelli con SCADENZA inferiore alla data inserita nella casella
[Forms]![m_report_go]![SCELTASCADENZA]
- se la casella [Forms]![m_report_go]![SCELTASCADENZA] e' lasciata vuota
voglio che siano estratti tutti i record.
Mi rendo conto di aver creato un metodo abbastanza "pecoreccio" ma al
momento non mi e' venuto in mente niente di piu' elegante :-)
Di nuovo grazie per l'attenzione.

 momento non mi e' venuto in mente niente di piu' elegante :-)
Se capisco bene basta usare due righe di criteri nel campo SCADENZA:
Nella prima riga scrivi:
[Forms]![m_report_go]![SCELTASCADENZA] Or "DA FORMARE"
Sotto di questo nella seconda riga scrivi:
[Forms]![m_report_go]![SCELTASCADENZA] Is Null


 [Forms]![m_report_go]![SCELTASCADENZA] Is Null
E non meravigliarti se Access ti cambia la query dopo che l'hai
salvata. L'editore spesso ha bisogno di una struttura diversa.
-- 
cu




Funziona!
Nella mia testa impostare le condizioni in entrambe le righe dei criteri
non consentiva alla query di effettuare una scelta in base al valore della
casella combinata.
Ti giuro che non capisco come sia possibile... ma funziona.
E tanto mi basta :-)
Grazie molterrime 

 Grazie molterrime
Ho parlato troppo presto... se applico ulteriori filtri anche su altri
campi non funziona piu'!