'Yo hago esto mira, utiliza un texbox,option button y un DataGrid:
Dim Valor as String
'En el option en el evento click:
Private Sub Opt_Click(Index As Integer)
Select Case Index
Case 0: Valor = "Codigo"
Case 1: Valor = "Nombres"
Case 2: Valor = "Apellidos"
End Select
End Sub
'en el evento Chage del Tex coloca esto:
Set Rs=New Recordset
rs.CursorLocation=adUseClient
Rs.Open "Select Codigo,Nombres,Apellidos from TRABAJADORES where Trim(Valor) + " like '%" + Trim(Text1.Text) & "%' Order By Codigo", Cn
Set Grid.DataSource = Rs
Set Rs=nothing
'esto te filtra en el grid conforme vayas escribiendo, ahora si lo que quieres no es esto en un borras la programacion del Change y en un CommandButton programas lo siguiente:
Set Rs=New Recordset
rs.CursorLocation=adUseClient
Rs.Open "Select Codigo,Nombres,Apellidos from TRABAJADORES where Trim(Valor) =Trim(Text1.Text) & "' Order By Codigo", Cn
Set Grid.DataSource = Rs
Set Rs=nothing
'Calro que en el Text deberas escribir previamente lo que deseas filtrar
Suerte