¿Cómo displayo los datos que cumplan la búsqueda en un control DataList o en un DataGrid?

A la hora de ejecutar una búsqueda a través de un "inputbox". ¿Cómo displayo los datos que cumplan la búsqueda en un control DataList o en un DataGrid? ¿Dónde pongo la clausula de la select para que unicamente me salgan los registros que cumplan la condición? Pues consigo que me salgan todos los registros, incluso los que no cumplen la condición.
Cual de los dos controles (DataList, DataGrid) me aconseja para displayar los datos que cumplan una búsqueda y que con un doble click se me vuelquen todos los datos de ese registro sobre las cajas de texto de un formulario.
En estos momentos estamos utilizando este código. Sin embargo desconocemos el lugar donde colocar la condición WHERE [alias] = criterio, para que solo salgan los registros que cumplan esa condición. Hasta ahora lo hemos intentado colocar en: "Texto del comando SQL" en la solapa de "Origen de Registros" de propiedades del control ADODC. De momento no funciona, desconocemos si se trata de la sintaxis o del lugar.
Private Sub RegBuscar()
Dim Buscado As String, Criterio As String
Buscado = InputBox("¿Qué nombre quieres buscar?")
If Buscado = "" Then Exit Sub
Criterio = "Profesor Like '*" & Buscado & "*'"
BuscarElPrimero Criterio
End Sub
Private Sub BuscarElPrimero(Criterio As String)
' Buscar desde el siguiente registro a la posición actual
Adodc1.Recordset.MoveNext
If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.Find Criterio
End If
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveFirst
'Buscar desde el principio
Adodc1.Recordset.Find Criterio
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveLast
MsgBox ("No encuentro ese nombre")
End If
End If
End Sub
Gracias
1

1 respuesta

Respuesta
1
Perdona el retrasso pero es tenido que refrescar mis conocimientos de VB que empezaban a estar oxidados, debido al desuso.
Puedes usar un datagrid, este lo ligas a tu Adodc1
En el botón de búsqueda escribes lo siguiente
Buscado = InputBox("¿Qué nombre quieres buscar?")
If Buscado = "" Then Exit Sub
adodc1.recordsource="SELECT * FROM [tutabla] WHERE [profesor]='" & buscado
& "'"
Adodc1. Refresh
Y con esto, si tu datagrid esta ligado, te mostrara los datos de ese
profesor
y para que cuando hagas doble click te muestre los datos en las cajas
en el click del datagrid escribes
text1.text=adodc1.recordset("profesor")
text2.text=adodc1.recordset("campo")
Etc.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas