hola
El DataGrid se trae registros por una SQL sea por variable recordset o por un control Data ADO, lo importante es la SQL que podrias usar algo como:
"Select * From Tabla Where campo='" & Text1.Text & "' Order by Campo"
Esa SQL podrias llamarla/ejecutarla al indicar el campo en el Text y pulsar Enter
En el vento keypress del Text seria algo como:
If KeyAscii=13 Then 'Tecla Enter
'Aqui el codigo, procedimiento o funcion de la SQL
End if
Asi escribes en el Textbox el dato, se pulsa Enter y deberia del DataGrid actualizar su vista con la nueva SQL.
El DataGrid se actualizaria con la nueva SQL trayendose solo el registro indicado, o varios registros en caso de que el campo se cumpla en mas de un registro
Lo que si no recuerdo es si era LIKE %campo% o algo asi en la SQL para traerse todos los registros que empiecen por una letra o que en un campo string se busque todo lo que tenga X cadena
Por ejemplo, yo tengo una ventanita con un DataGrid que muestra un listado de Personas que esperan consulta medica, en la tabla de la Bd se conservan todos los registros, pero en el DataGrid solo se muestran los ingresos de la fecha actual
Private Sub Lista_Pacientes_Cita()
'DataGrid1:
strSQL4 = "Select cedula As Cedula, nombre As Nombre, turno_num As Turno From turno_consulta "
strSQL4 = strSQL4 & "Where fecha='" & Format(Date, "yyyy-mm-dd") & "' "
strSQL4 = strSQL4 & "And estado<>1 Order By turno_num"
Set rsTurnoConsulta = New Recordset
rsTurnoConsulta.Open strSQL4, cnConexdb, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = rsTurnoConsulta
DataGrid1.Columns(0).Width = 1000
DataGrid1.Columns(1).Width = 5100
DataGrid1.Columns(2).Width = 1000
End Sub