Buscar dato

Espero que me ayudes...
Cómo puedo hacer para que al introducir un dato en un cuadro de texto y al pulsar enter me busque dicho dato en un campo específico de una tabla y si existe me salga un msgbox de que existe y al mismo tiempo un botón de comando para buscar información sobre ese dato, es decir + campos de la tabla y si no existe que me salga un msgbox con que vuelva a intentarlo o algo por el estilo... Gracias por tu atención y espero tu respuesta lo antes posible...

1 respuesta

Respuesta
1
Prueba algo como esto...
Private Sub Texto32_KeyPress(KeyAscii As Integer)
Dim base As Database
Dim rst As Recordset
If KeyAscii = 13 Then
Set base = CurrentDb
Set rst = base.OpenRecordset("select * from clientes where id_cliente='" & Texto32.Text & "'")
If rst.RecordCount > 0 Then
MsgBox "Encontrado cliente nº " & rst.Fields("id_cliente")
Else
MsgBox "No existe cliente " & Texto32.Text
End If
End If
End Sub
Buenas noches, y gracias por contestar. He probado lo que me dices pero a la hora de introducir dato en el cuadro de texto me marca "Dim base As Database" y sale lo siguiente: Error de compilación: No se ha definido el tipo definido por el usuario. ¿Qué estoy haciendo mal?. Gracias por tu cooperación...
Buenas noches de nuevo y perdona por darte tantas molestias. Con respecto a tu aclaración lo he hecho y ya no sale error de compilación pero es que ahora introduzco un nivel de vuelo en números en el cuadro de texto y pulso enter y no sale nada de nada me manda el cursor a otro comando debido a que es el siguiente en la tabulación... no me sale los msgbox... que sigo haciendo mal... Gracias...
Desde la ventana de Visual Basic te vas al menu herramientas->referencias y le añades la biblioteca Microsoft DAO 3.6 Object Library o la que tengas en tu lista. Así compilará bien.
Hombre, pues tendrás que adaptar el código que te mando a tus controles del formulario. Yo utilizo un control que se llama text32, pero tu probablemente no tengas ese control. Igualmente, yo no se si tienes una tabla llamada clientes con un campo idcliente, también tendrás que adaptarlo a tus datos.
Buenos días, con respecto a tu aclaración, pues sí ya lo había adaptado a mi tabla y textbox lo que pasa es que formato de números no busca sino letras si hago que el textbox sólo reconozca números funcionará el ejemplo... Gracias.
Pues quítale las comillas simples en la cláusula SQL
select * from clientes where id_cliente='" & Texto32.Text & "'")
Y funcionara con campos numéricos
Hola, no quiero ser pesado pero aún no me funciona, tengo lo siguiente:
Private Sub Texto5_KeyPress(KeyAscii As Integer)
Dim base As Database
Dim rst As Recordset
If KeyAscii = 13 Then
Set base = CurrentDb
Set rst = base.OpenRecordset("select * from NIVELES where Id= " & Texto5.Text & "")
If rst.RecordCount > 0 Then
MsgBox "Encontrado FL " & rst.Fields("Id")
Else
MsgBox "No existe FL " & Texto5.Text
End If
rst.Close
Set rst = Nothing
base.Close
Set base = Nothing
End If
End Sub
Qué puede pasar me sigue mandando el cursor al siguiente comando de tabulación... y en este proceso no hace nada... GRACIAS...
Pues seso es que no encuentra registros. te ruego revises tus select a base de datos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas