Newsgroup: it.comp.appl.access
Titolo: filtro con casella di riepilogo che non va

Un saluto a tutto il N.G. .Ho un problemino :
Ho una maschera continua nella quale filtro i records sulla base dei valori
possibili di un controllo
che scelgo da una casella di riepilogo. Avrei la necessita' di filtrare
contemporaneamente i records nei quali quel controllo puo' assumere anche
tre o quattro dei possibili valori della casella di riepilogo.
Impostando la proprieta'  di selezione multipla su estesa riesco a
selezionare piu' valori , ma il filtro dei
 records non funziona piu' . Cosa sbaglio ???? Un grazie a tutti.

 ha scritto nel messaggio
news:%7hA8.48151$W9.11...@twister2.libero.it...

Dove hai sistemato la casella di riepilogo?
Quale è il codice SQL della query o la struttura della tabella che è origine
riga della casella di riepilogo?
Che tipo di dato ha il campo sul quale effettui il filtro (Testo, numerico,
...)?
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------


[CUT]
A questo punto ti suggerisco questa soluzione.
Imposta come origine record della tua maschera1 la tabella team e non la
query.
Le due caselle di riepilogo Elenco0 ed Elenco2 inseriscile in una maschera
non associata chiamata MascheraParametri.
Alle due caselle di riepilogo imposta a Estesa la proprietà Selezione
multipla.
In MascheraParametri inserisci anche un pulsante di comando ed a fronte del
suo evento "Su clic" genera il seguente codice VBA:
Dim strCriteri As String
Dim strLista1 As String
Dim strLista2 As String
Dim varItem1 As Variant
Dim varItem2 As Variant
If Me!Elenco0.ItemsSelected.Count <> 0 Then
    For Each varItem1 In Me!Elenco0.ItemsSelected
        strLista1 = strLista1 & Chr$(34) & _
        Me!Elenco0.Column(0, varItem1) & _
        Chr$(34) & ","
    Next varItem1
    strLista1 = Left$(strLista1, Len(strLista1) - 1)
End If
If Me!Elenco2.ItemsSelected.Count <> 0 Then
    For Each varItem2 In Me!Elenco2.ItemsSelected
        strLista2 = strLista2 & _
        Me!Elenco2.Column(0, varItem2) & ","
    Next varItem2
    strLista2 = Left$(strLista2, Len(strLista2) - 1)
End If
If Len(strLista1) <> 0 Then
    strCriteri = "[Elemento] IN (" & strLista1 & ")"
End If
If Len(strLista2) <> 0 Then
    If Len(strCriteri) <> 0 Then
        strCriteri = strCriteri & " AND "
    End If
    strCriteri = strCriteri & "[Anno] IN (" & strLista2 & ")"
End If
DoCmd.OpenForm "Maschera1", , , strCriteri
Dim Cont As Integer
For Cont = 0 To Me!Elenco0.ListCount - 1
    Me!Elenco0.Selected(Cont) = False
Next Cont
Dim Cont2 As Integer
For Cont2 = 0 To Me!Elenco2.ListCount - 1
    Me!Elenco2.Selected(Cont2) = False
Next Cont2
A questo punto apri MascheraParametri.
Se pigi il pulsante di comando senza effettuare alcuna selezione in ambedue
le caselle di riepilogo, si aprirà maschera1 che ti mostrerà tutto il
contenuto della tabella team.
Se prima di pigiare il pulsante di comando selezionerai una o più righe da
Elenco0, in maschera1 si visualizzeranno tutti i record della tabella team
che nel campo Elenco hanno i valori selezionati in Elenco0.
Se prima di pigiare il pulsante di comando selezionerai una o più righe da
Elenco2, in maschera1 si visualizzeranno tutti i record della tabella team
che nel campo Anno hanno i valori selezionati in Elenco2.
Se prima di pigiare il pulsante di comando selezionerai sia una o più righe
da Elenco0 che una o più righe da Elenco2, im maschera1 si visualizzeranno i
record di team che hanno nel campo Elenco i valori selezionati in Elenco0 e
nel campo Anno i valori selezionati in Elenco2.
Spero che questo è quello che ti serviva.



E' molto di piu' . Non ho parole . Spero un giorno di poter sfiorare da solo
cose del genere.
Grazieeeeeeeeeeeeee

 ha scritto nel messaggio
news:feBA8.1999$US3....@twister1.libero.it...

Per quanto potrà sembrarti strano, non sono in grado di consigliarti un
testo su VBA per principianti. ma sono sicuro che molti altri frequentatori
siano in grado di farlo.
