Win 10
Access 2007
Non arrabbiatevi per il titolo della mia domanda ma quando non capisco mi rimbamisco più di quanto già sono!!!
ho la mia bella maschera continua (con origine dati una query) che utilizzo per poter affinare la ricerca selezionando vari parametri.
per filtrare utilizzo caselle combinate e caselle di controllo.
nelle caselle di controllo mi sono preoccupato di impostare "state triplo" SI
e DopoAggiornamento "Filtra_Click"
Option Compare Database
Option Explicit
Private strFilter As String
Private Sub Filtra_Click()
strFilter = vbNullString
With Me
If Not IsNull(.CasellaControllo1) Then strFilter = strFilter & " And Campo1 = " & .CasellaControllo1
If Not IsNull(.CasellaCombinata20) Then strFilter = strFilter & " And Campo20 = " & .CasellaCombinata20
If Not IsNull(strFilter) Then
strFilter = "1=1 " + strFilter
.Filter = strFilter
.Filter = True
Else
.FilterOn = False
.Filter = vbNullString
End If
End With
End Sub
per alcune caselle di controllo, al momento di caricare la maschera ho messo come valore predefinito 0 perché nella maggioranza dei casi quelle caselle non devono essere spuntate e come mi avete insegnato Voi la casella di controllo ha 3 stati: null - 0 e -1
quello che mi manda in bestia è che quando apro la maschera giustamente vedo tutti i record,
poi seleziono dalla casellacombinata il valore da ricercare e va tutto bene, ma e come se non mi prende in considerazione le caselle di controllo che avevo predisposto con valore iniziale = 0
allora tolgo il valore predefinito e ripeto la ricerca.
stessa cosa se faccio il primo ciclo di ricerca non esce il valore corretto, se ripeto nuovamente il passaggio di spuntare la casella di controllo fino al valore 0 alla fine mi restituisce la risposta corretta.
ho anche provato a mettere un pulsante per refresh della maschera ma niente.
diciamo che la maschera di ricerca (filtro) non è affidabile se ogni volta devo ripetere le selezioni più volte.
non riesco a capire perché questo accade.
spero di essermi spiegato :)
un caro saluto
Ivan