Newsgroup: it.comp.appl.access
Titolo: Aiuto! Filtrare un report con selezione multipla in più caselle di riepilogo

Per Access 97.
Il seguente codice VBA (tratto dal Sito Comune - it.comp.appl.access e
debitamente modificato) mi ha permesso di filtrare il "Reparto
dell'elicottero" del report "R:RegVoli" (grandioso!)
________________________________________________________
Private Sub Comando5_Click()
On Error GoTo Err_Comando5_Click
    Me!RepartoElicottero = Null
    Dim strRepartoElicottero As String
    Dim strCriteri As String
    Dim varItem As Variant
    'Se non ci sono voci selezionate
    'non ci sono attività da effettuare
    If Me!Rep.ItemsSelected.Count = 0 Then Exit Sub
    'Cicla nell'insieme delle voci selezionate
    For Each varItem In Me!Rep.ItemsSelected
        'Cattura la colonna IDSocietà di ciascuna
        'voce selezionata
        strRepartoElicottero = strRepartoElicottero & _
            Me!Rep.Column(0, varItem) & ","
        Me!RepartoElicottero = Me!RepartoElicottero & _
            Me!Rep.Column(1, varItem) & ", "
    Next varItem
    'Elimina la virgola eccedente
    strRepartoElicottero = Left$(strRepartoElicottero,
Len(strRepartoElicottero) - 1)
    Me!RepartoElicottero = Left$(Me!RepartoElicottero,
Len(Me!RepartoElicottero) - 2)
    'Apri il ReportSocietà filtrando i Reparti Elicottero selezionati
    strCriteri = "[Rep] IN (" & strRepartoElicottero & ")"
    Dim stDocName As String
    stDocName = "R:RegVoli"
    DoCmd.OpenReport stDocName, acPreview, , strCriteri
    'Deseleziona tutte le righe della casella di riepilogo
    Dim Cont As Integer
    For Cont = 0 To Me!Rep.ListCount - 1
        Me!Rep.Selected(Cont) = False
    Next Cont
Exit_Comando5_Click:
    Exit Sub
Err_Comando5_Click:
    MsgBox Err.Description
    Resume Exit_Comando5_Click
End Sub
_________________________________________________________
Contemporaneamente vorrei filtrare gli altri dati relativi a:
1- "DataInizio" , associata alla casella di testo chiamata
"DataInizioRicerca" ( campi riferiti alla data)
2- "DataFine" , associata alla casella di testo chiamata "DataFineRicerca"
( campi riferiti alla data)
3- "Rep" , associata alla casella di testo chiamata "RepartoElicottero"
4- "TipoElic" , associata alla casella di testo chiamata "TipoElicottero"
5- "Elic" , associata alla casella di testo chiamata "NomeElicottero"
6- "Equip" , associata alla casella di testo chiamata "Equipaggio"
Esempio: filtrare i reparti volo 1 e 2, contemporaneamente i nomi elicottero
56, 98, 32, 45, o solo il tipo di elicottero AB 412, AB 206 , e uno o più
nominativi dell'equipaggio.
La domanda è avanzata perchè non sono capace a scrivere codice VBA. Sto
cercando di apprendere con un corso su CD, ma il tempo è nemico.
Spero in un aiuto, anche con un esempio di compilazione in aggiunta del
codice già esistente.
Mille grazie
                    Bruno

 wrote in message
GodWa.5113$an6.1...@news1.tin.it...

Detto in parole moooolto povere nella variabile strCriteri devi mettere in
AND tutte le condizioni di ricerca.
Naturalmente per le selezioni multiple fatte con una casella di riepilogo
dovrai crearti una variabile stringa che contenga l'elenco dei valori validi
per la selezione (strRepartoElicottero nella routine di cui sopra).
Dovrai anche decidere se e quali parametri possono essere opzionali ed
eventualmente come comportarti di conseguenza; naturalmente se i parametri
opzionali sono quelli relativi ad una casella di riepilogo con selezione
multipla non dovrai uscire dalla sub come fa la routine di cui sopra, ma
dovrai semplicemente passare a valutare gli eventuali parametri
significativi successivi.
--
Roberto
---------------------------------------------
il Sito Comune di it.comp.appl.access:
http://www.sitocomune.com
---------------------------------------------

 Caro "Roberto dalla campagna", grazie per la risposta celere, purtroppo
con grande imbarazzo devo ammettere di non aver capito molto di quanto hai
scritto, non perchè non sei stato chiaro, anziii, ma perchè come menzionato
nella mia richiesta, pur cavandomela abbastanza bene a sviluppare
applicazioni carucce con espressioni, e macro, sono una schiappa con il
codice VBA, pertanto mi viene difficile fare quanto da te scritto in quanto
non saprei da dove iniziare (in pratica non so cosa devo ripetere e come e
non parliamo delle variabili, che dolore). Sto iniziando a leggere un
librone sul codice VBA, ma con il tempo limitato che ho, prima di capirci
qualcosa, sicuramente mi si abbasserà la vista e non potrò più leggere.
Quindi ti chiedo se puoi aiutarmi in altro modo. Se sì, cosa ti necessita
sapere? puoi integrare il codice di cui sopra? So che chiedo molto ma ti
sarei tanto grato. Non disturberei se non fosse necessario.
Grazie.... Bruno

 Grazie.... Bruno


Ancora grazie e ciao


 Ancora grazie e ciao
--
Roberto



Ciao
            Bruno
