Newsgroup: it.comp.appl.access
Titolo: Filtro da casella di riepilogo

Salve  tutti,
premetto che sono un neofita di Access.
Ho il seguente problema:
In una maschera devo filtrare una tabella tramite una casella di riepilogo.
Non riesco ad utilizzare il valore della casella di riepilogo come filtro.
Spero che qualcuno sia in grado di aiutarmi.
Grazie

 wrote in message
8g180u$9al$1...@nslave1.tin.it...

Non è che sei stato proprio chiaro nell'esporre il tuo caso, pertanto farò
prima un'ipotesi in base a quello che ho capito.
La tua tabella potrebbe contenere tutti i dati anagrafici dei tuoi clienti
ed ha fra l'altro il controllo IDCliente ed il controllo RagioneSociale; tu
vuoi fare una maschera che ti faccia vedere tutti i dati anagrafici dei
clienti, ma non di tutti i clienti ma solamente del cliente la cui ragione
sociale scegli da un elenco contenuto in una casella di riepilogo???
Se questo è il problema puoi fare così:
1) Dichiarati una query partendo dalla tua tabella e che contiene solamente
(e nell'ordine) i campi IDCliente e RagioneSociale; ordina la query su
quest'ultimo campo in maniera crescente; salva la query dandogli come nome
ElencoClienti.
2) Dichiarati una prima maschera,che chiamerai Maschera1,  che abbia come
"Origine record" la tua tabella e che contenga tutti i controlli relativi ai
campi che vuoi visionare e comunque il controllo IDCliente.
3) Dichiarati una seconda maschera, che chiamerai Maschera2 e che non sia
associata a nessuna tabella e a nessuna query; inseriscici una casella di
riepilogo non associata (ovvero nella proprietà "Origine controllo" non deve
esserci scritto nulla) alla quale darai il nome
Elenco; come "Tipo origine riga" della casella di riepilogo scegli
"Tabella/query"; come "Origine riga" della casella di riepilogo metti il
nome della query di cui al punto 1), in questo caso ElencoClienti; verifica
che nella proprietà "Numero colonne" della casella di riepilogo ci sia il
valore 2 e che nella proprietà "Larghezza colonne" la dimensione della prima
colonna sia uguale a 0cm.
4) Dichiarati in Maschera2 una casella di testo non associata che chiamerai
IDCliente; imposta la proprietà "Visibile" di questa casella di testo a NO.
5) Scrivi una routine evento relativa a "Su clic" della casella di riepilogo
che contenga il seguente codice:
        Me!IDCliente = Me!Elenco.Column (0)
6) Iserisci in Maschera2 una sottomaschera che abbia come "Oggetto origine"
Maschera1, e come "Collega campi secondari" e "Collega campi master" la
dicitura IDCliente.
A questo punto, aprendo Maschera2, dovresti vedere nella casella di
riepilogo l'elenco di tutti i clienti e la zona della sottomaschera vuota;
cliccando su una Ragione Sociale della casella di riepilogo, nella
sottomaschera ti dovrebbero comparire tutti i dati anagrafici del cliente
selezionato. Almeno spero :-))
Mi auguro che era quello che ti serviva; ciao
Roberto
3) Nell'Intestazione Maschera (non nel Corpo) della maschera di cui al punto
2) dichiarati una casella di riepilogo non associata (ovvero nella proprietà
"Origine controllo" non deve esserci scritto nulla) alla quale darai il nome
Elenco; come "Tipo origine riga" della casella di riepilogo scegli
"Tabella/query"; come "Origine riga" della casella di riepilogo metti il
nome della query di cui al punto 1), in questo caso ElencoClienti; verifica
che nella proprietà "Numero colonne" della casella di riepilogo ci sia il
valore 2 e che nella proprietà "Larghezza colonne" la dimensione della prima
colonna sia uguale a 0cm.
5) Scrivi una routine evento relativa a "Su clic" della casella di riepilogo
che contenga il seguente codice:
        DoCmd.ApplyFilter , "IDCliente = Elenco.Column (0)"


*****************************************
SCUSAMI MA NELLA RISPOSTA PRECEDENTE CE N'ERA UN PEZZO DI TROPPO
******************************************
