In che senso non riesci ad usare la WHERE....?
Partiamo un passo per volta.
1) Visualizzazione DataSheet, quindi immagino usi i Filtri Nativi in Testata...? (Ipotizzo SI)
2) Applicati i criteri che ritieni anche 10... verifica il criterio che si è venuto a creare... puoi stamparlo in un MsgBox o in Finestra Immediata se lo ritieni più comodo(io si), ad esempio così
Option Compare Database
Option Explicit
Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
Debug.Print Me.Filter
End Sub
Fatto questo, vedrai che ad ogni aggiunta di criteri nella finestra immediata che visualizzi da VBE(con CTRL+G), ti si visualizzano i passaggi ed otterrai come ultimo la STRINGA COMPLETA del criterio.
Questo è esattamente la WHERE CONDITION che puoi usare in qualsiasi Query, ma come ti dicevo non servirà più il FLAG, basterà recuperare quel criterio se vuoi Stampare o fare quello che vuoi...!
Esempio, se vuoi Cancellare tutti i Records selezionati...
[CODE]
Dim strSQL As String
strSQL="DELETE * FROM T1 WHERE " & Forms!NomeForm.Filter
DbEngine(0)(0).EXECUTE strSQL
Se invece vuoi modificare il predicato SQL di una query presente... ipotizzando la Query sia [Query1]
Dim strSQL As String
strSQL="SELECT * FROM T1 WHERE " & Forms!NomeForm.Filter
DbEngine(0)(0).QueryDefs("Query1").SQL=strSQL
Da quì in poi ovviamente, dipende da quello che devi fare e che autonomia hai per realizzarlo...