Purtroppo variare il recordset ogni volta temo sia troppo pesante, visto che la procedura viene chiamata ad ogni evento change del filtro, su ciascun campo.
La procedura utilizzata è più o meno questa (tutorial 29 delle TDBGrid8 di ComponentOne per OCX)
Private Function getFilter() As String
'Creates the SQL statement in adodc1.recordset.filter
'and only filters text currently. It must be modified to filter other data types.
Dim tmp As String
Dim n As Integer
For Each col In cols
If Trim(col.FilterText) <> "" Then
n = n + 1
If n > 1 Then
tmp = tmp & " AND "
End If
tmp = tmp & col.DataField & " LIKE '" & col.FilterText & "*'"
End If
Next col
getFilter = tmp
End Function
Ovviamente con le modifiche relative alla gestione dei tipi di campo diversi.
La cosa assurda è che la filter sulel date, con Access, non mi da alcun problema.
Grazie ancora per l'interessamento!