Ciao a tutti,
devo filtrare i record presenti in una sottomaschera in base alla ragione sociale.
Per fare questo utilizzo due text box nella maschera principale in cui inserisco il carattere che utilizzerò per filtrare i record (es. scelta1 "c" scelta2 "e")
In sostanza il filtro dovrebbe restituire tutti i record compresi tra le lettere "c" e "e"
Per fare questo pensavo bastasse scrivere:
Dim scelta1, scelta2, str As String
scelta1 = Me.TxtDaLett.Value
scelta2 = Me.TxtALett.Value
Me.UnderFrm_PerAssegnazioneOperatori.Form.Filter = "[Ragione Sociale]>=' " & scelta1 & " ' " & "AND" & [Ragione Sociale]<=' " & scelta2 & " ' "
Me.UnderFrm_PerAssegnazioneOperatori.Form.FilterOn = True
Peccato che così facendo restituisce solo i record che iniziano con la lettere "c" e "d" ignorando misteriosamente quelli con la lettera "e".
E qui già non capisco: perchè l'operatore <= funziona solo come minore e non anche come uguale?
Allora ho provato ad utilizzare l'operatore LIKE:
Dim scelta1, scelta2, str As String
scelta1 = Me.TxtDaLett.Value
scelta2 = Me.TxtALett.Value
str = "LIKE [" & scelta1 & "]*"
Me.UnderFrm_PerAssegnazioneOperatori.Form.Filter = "[Ragione Sociale]='" & str & "'"
Me.UnderFrm_PerAssegnazioneOperatori.Form.FilterOn = True
Il codice non mi da errori ma il filtro non restituisce nulla
In buona sostanza come utilizzo LIKE nel filtro o comunque come posso filtrare i dati in modo che mi restituisca tutto l'intervallo che richiedo (es. dalla lettera A alla lettera D)
Grazie per l'aiuto
Massimo