Newsgroup: it.comp.appl.access
Titolo: Query da casella combinata con scelta "tutti"

Saluti.
Dal sito comune ho scaircato il prezioso aiuto per avere una combobox che 
presenti, oltre alle possibilità di scelta (recors di una tabella-query) 
anche la parola TUTTI e che, scegliendo "tutti" si possano mostrare tutti i 
record.
Volevo adattarla in questo senso:
La combobox contiene solo TUTTI, NO, SI.
Se scelgo TUTTI, mi dovrebbe mostrare tutti i clienti che hanno o non hanno 
dipendenti
Se scelgo NO, mi dovrebbe mostrare tutti i clienti che hanno  0 dipendenti
Se scelgo SI, mi dovrebbe mostrare tutti i clienti che hanno >0 dipendenti
Si intende che la query è basata su una Tabella1 che ha un campo Dipendenti, 
il campo è Byte.
Il criterio che usavo nelle quey simili (in cui controllavo però un campo 
booleano) era:
Like 
IIf([Forms]![Maschera1]![CasellaCombinata1]="TUTTI";"*";IIf([Forms]![Maschera1]![CasellaCombinata1]="SI";Vero;Falso))
Vi ringrazio ancora per la disponibilità e la competenza
Guido
-- 
in moto:
sfortunà tanti
fortunà pochi
bravi gnanca uno 

 ha scritto nel messaggio 
news:Afmce.837679$b5.37...@news3.tin.it...

Non è necessario usare l'esempio del sitocomune.
La combo sarà alimentata da un elenco di valori:
Tipo origine riga: elenco valori
Origine riga: "TUTTI";"NO";SI"
Preventivamente avrai creato tre query con i tre criteri che ti interessano.
Poi gestirai il tutto da codice su click della combo o su dopo 
aggiornamento.
Select case Me.TuaCombo
Case "TUTTI"
me.recordsource = "TuaQueryTutti"
me.requery
Case "NO"
me.recordsource = "TuaQueryNO"
me.requery
Case "SI"
me.recordsource = "TuaQuerySI"
me.requery
Case else
exit sub
end select
Aggiungerei un pulsante che elimina i filtri riportando la situazione a 
quella di base:
me.recordsource = "TuaQueryOriginale"
me.requery
Ciao, Carlo 


Soluzione immediata e facile da capire, anche per me.
Grazie.
Resto con un dubbio: è preferibile creare tre (piccole) query o piuttosto 
gestire il tutto con un' unica query (magari con SQL ponderoso)?
Grazie ancora


 ha scritto nel messaggio 
news:I0nce.1307287$35.48...@news4.tin.it...

Certamente con le query salvate (piccole o grandi che siano è lo stesso) 
perchè saranno già compilate e molto più veloci di una istruzione sql creata 
al volo.
Ciao, Carlo 


ehm...
avevo fatto troppo semplice il problema...
La maschera in cui c'è la mia CasellaCombinata1 è una maschera che possiamo 
chiamare Filtri Multipli.
In quella maschera ci sono diverse CaselleCombinate per fare in modo che 
l'utente possa settare il filtro come più gli aggrada.
Mi spiego: nella MascheraFiltriMultipli c'è:
- una CasellaCombinata1 (quella dei dipendenti) in cui uno dovrebbe 
scegliere di vedere quelli che hanno dipendenti (numero >0), oppure quelli 
che non li hanno (numero = 0) oppure tutti (che abbiano dipendenti o meno)
- una CasellaCombinata2 (impresa famigliare) in cui uno dovrebbe scegliere 
di vedere quelli che hanno impresa famigliare(vero), oppure quelli che non 
l'hanno (falso) oppure tutti (che abbiano impresa famigliare o meno)
- una CasellaCombinata3 (figli) in cui uno dovrebbe scegliere di vedere 
quelli che hanno diritto a riduzioni (vero), oppure quelli che non l'hanno 
(falso) oppure tutti (che abbiano diritto o meno)
(in questo modo uno può settare il filtro in questo modo, per esempio: 
"quelli che non hanno figli, hanno impresa famigliare e hanno dipendenti" 
piuttosto che "quelli che non hanno dipendenti, non hanno impresa 
famigliare, non importa se con figli o meno" e via di questo passo).
Il tutto, prima dell'inserimento della casella per i dipendenti (espressi in 
numero) tutto era svolto da un'unica query che riportava, nei diversi 
criteri, quell'IIF sopra riportato.
Devo (?) quindi necessariamente far ricadere la casellacombinata1 nella 
stessa query già pronta, cambiano (e non lo so fare) il criterio.
Che devo dire?
Grazie per l'aiuto, intanto.
