MASCHERA CONTINUA E FILTRO CASELLA DI CONTROLLO NELL'INTESTAZIONE

di il
3 risposte

MASCHERA CONTINUA E FILTRO CASELLA DI CONTROLLO NELL'INTESTAZIONE

Ciao,
Scusate ma non ci salto fuori e avrei bisogno di aiuto.
Access 2016
La Home è una maschera continua che mi elenca i contratti aperti negli ultimi 30 giorni. Una parte dei contratti può essere chiusa e l'altra aperta. Ho pensato di mettere un filtro nell'intestazione, una casella di controllo che mi permetta di scegliere se visualizzare tutto o solo i contratti attivi.
La query agganciata alla maschera continua funziona benissimo. Andrebbe giusto bene mantenere le tre scelte (contratti LIve, Contratti Chiusi, Tutti).
Succede che quando aggiungo nella query, colonna PolizzeLive il criterio che segue

[Maschere]![Home]![ContrPolizzeLive]

La query da zero risultati. Le ho provate tutte. Se nei criteri inserisco Vero o Falso funziona. Funziona tutto tranne l'ultimo passaggio.
Ditemi che c'è un modo per farlo girare.

Mille Grazie

3 Risposte

  • Re: MASCHERA CONTINUA E FILTRO CASELLA DI CONTROLLO NELL'INTESTAZIONE

    Per ottenere tl risultato che ti proponi devi utilizzare
    • un controllo Gruppo Opzioni, che potresti chiamare fraContrPolizzeLive (Valore predefinito 1), con tre opzioni
      • Tutti (Valore opzione 1)
      • contratti LIve (Valore opzione 2)
      • contratti Chiusi (Valore opzione 3)
    e nel criterio relativo al campo da filtrare, della query, dovresti scrivere
    
    IIf([Maschere]![Home]![fraContrPolizzeLive]=1;[nome del campo da filtrare];IIf([Maschere]![Home]![fraContrPolizzeLive]=2;Vero;Falso))
    
    e nella maschera Home dovresti aggiungere questo evento relativo al controllo Gruppo Opzioni
    
    Private Sub fraContrPolizzeLive_AfterUpdate()
        Me.Requery
    End Sub
    
    provvedendo a sostituire nell'istruzione IIf a nome del campo da controllare il nome corretto del campo su cui impostre il filtro.
  • Re: MASCHERA CONTINUA E FILTRO CASELLA DI CONTROLLO NELL'INTESTAZIONE

    Concordo con l'idea del gruppo opzioni ma io suggerirei di non inserire nella query alcun criterio quanto di sfruttare la proprietà Filter della maschera che è sicuramente più flessibile ed anche meno invasiva... se vuoi vedere tutti basta resettare il filtro e mettere FilterOn=False
    
    Provate Sub GRPOpzioni_AfterUpdate()
        DIM sWhr as string 
        Select case GRPOpzioni
            Case 1
                 me.filteron=False
                 me.filter=vbNustring
                 exit sub
            case 2
                 sWhr="CampoPolizwLivw=True"
            Case 3
                 sWhr="CampoPolixeLive=False"
         End select
       me.filter=sWhr
       Me.filterOn=True
    End sub
    
    Non serve requery e non servono modifiche alla query.
  • Re: MASCHERA CONTINUA E FILTRO CASELLA DI CONTROLLO NELL'INTESTAZIONE

    Spettacolo!!!!! Funziona alla grande!!!!
    Ho considerato tutte e due le soluzioni e applicato la seconda. Magico!!!!
    Mille mille mille mille mille grazie
Devi accedere o registrarti per scrivere nel forum
3 risposte