Filtro che agisce su sottomaschera

Anonimo
2019-11-25T15:21:37+00:00

Salve a tutti

in un programma di cui posto un estratto, ho delle maschere con elenchi e dei filtri che agiscono su questi, nell'esempio postato ho la maschera "ELENCO_CLIENTI" con 4 filtri, ovvero 4 caselle combinate cboAGENTE; cboCLIENTE; cboCITTA e cboPROV che agiscono, rispettivamente sull'agente, sul cliente, sulle città e sulle provincie.

Tra le altre cose questa maschera si presenta anche con la possibilità, se l'utente loggato è un agente, di aprirsi già con il con la casella combinata cboAGENTE compilata e bloccata, mentre gli altri filtri vengono limitati ai clienti; città; provincie relative all'agente loggato.

volendo però fare un lavoro più pulito, ho pensato di strutturare  la maschera di cui sopra con una sottomaschera, allo scopo ho creato la maschera 01_CLIENTI_ELENCO che contiene la sottomaschera SM_CLIENTE.

Le caselle combinate cboAGENTE; cboCLIENTE; cboCITTA e cboPROV risiedono nella maschera principale, arriviamo al problema, ho impostato il codice ApplicaFiltro (a cui ogni cboXXXX fa riferimento) nel seguente:

Private Sub ApplicaFiltro()

    Dim wFiltro As String

    On Error Resume Next

    wFiltro = ""

    If Len(Me.cboAGENTE & "") > 0 Then

        wFiltro = wFiltro & " And IDUTENTE = " & Me.cboAGENTE & " "

    End If

    If Len(Me.cboCLIENTE & "") > 0 Then

       wFiltro = wFiltro & " And [RAGIONE SOCIALE] = '" & Me.cboCLIENTE & "' "

    End If

    If Len(Me.cboCITTA & "") > 0 Then

       wFiltro = wFiltro & " And [CITTA] = '" & Me.cboCITTA & "' "

    End If

    If Len(Me.cboPROV & "") > 0 Then

       wFiltro = wFiltro & " And PROV = '" & Me.cboPROV & "' "

    End If

    Me.Filter = Mid(wFiltro, 6, Len(wFiltro))

    Me.FilterOn = True

End Sub

Purtroppo non funziona, non riesco a capire perché ma sembra che non ci sia alcun collegamento tra la maschera e la sottomaschera.

Qualcuno sa dirmi dove commetto l'errore?

di seguito troverete il link al programma

https://www.dropbox.com/s/7tlcn7gpncfy52k/PLUTO.accdb?dl=0

Grazie a tutti per l'aiuto

Ciro

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2019-11-25T16:10:46+00:00

Ciao,

sostituisci le due istruzioni con le seguenti:

Me.SM_CLIENTE.Form.Filter = Mid(wFiltro, 6, Len(wFiltro))

Me.SM_CLIENTE.Form.FilterOn = True

Ciao Mimmo

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2019-11-25T16:41:35+00:00

    Ciao Mimmo

    grazie per la risposta, quindi l'errore risiedeva nel fatto che non indicavo quale maschera (e quindi sottomaschera) era interessata al filtro

    Grazie di cuore, consiglio preziosissimo credimi

    a presto

    Ciro

    La risposta è stata utile?

    0 commenti Nessun commento