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