Access - Cuadros de texto que buscan datos en tablas

 
Vista:

Cuadros de texto que buscan datos en tablas

Publicado por Seba (1 intervención) el 13/05/2007 05:22:50
Hola. Estoy tratando de construir un formulario con cuadros de texto donde pueda introducir texto y que este texto que introduzca busque datos en tablas.
Lo que hice fue crear en Propiedades/Eventos/On enter una macro de que si el cuadro de texto cumple la condición de ser igual al campo de una tabla, que abra, por ejemplo, una tabla. Pero al poner presionar Enter luego de escribir el texto me tira el siguiente error:

"The object doesn´t contain the Automation Object 'Tabla 1'

¿Puede alguien ayudarme?
Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Búsqueda de datos en formulario mediante cuadro de texto

Publicado por Alejandro (4142 intervenciones) el 10/08/2023 00:57:11
Espero poder ayudarte a solucionar el problema que estás enfrentando. Parece que estás en el camino correcto, pero hay algunos ajustes que necesitas hacer para que funcione correctamente.

Aquí tienes los pasos para crear un formulario con un cuadro de texto que busca datos en tablas:

1. Abre tu base de datos en Access y abre el formulario en modo de diseño.

2. Agrega un cuadro de texto al formulario donde los usuarios puedan introducir el texto de búsqueda.

3. En las propiedades del cuadro de texto, ve a la pestaña "Eventos" y busca el evento "Al pulsar" (KeyPress). Crea un nuevo procedimiento de evento haciendo clic en el botón de los puntos suspensivos (`...`) y selecciona "Generador de código".

4. En el Generador de código, escribe el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
Private Sub TuCuadroDeTexto_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then ' Si se presiona Enter
        Dim MiTexto As String
        Dim MiSQL As String
 
        MiTexto = Me.TuCuadroDeTexto.Value ' Obtiene el texto introducido
        MiSQL = "SELECT * FROM TuTabla WHERE TuCampo = '" & MiTexto & "'" ' Construye la consulta SQL
 
        DoCmd.OpenTable "TuTabla", acViewNormal, acReadOnly, , acAdd, "TuTabla" ' Abre la tabla con los resultados de la consulta
    End If
End Sub

Asegúrate de reemplazar "TuCuadroDeTexto" con el nombre real de tu cuadro de texto y "TuTabla" y "TuCampo" con los nombres reales de la tabla y el campo que deseas buscar.

5. Cierra el Generador de código y guarda el formulario.

6. Prueba el formulario ejecutándolo. Deberías poder introducir texto en el cuadro de texto y al presionar Enter, se abrirá la tabla con los resultados de la búsqueda.

Recuerda que este es solo un ejemplo básico y podrías personalizarlo más según tus necesidades. También, ten en cuenta que este enfoque solo es adecuado para buscar en una sola tabla. Si deseas realizar búsquedas más complejas o en múltiples tablas, podrías considerar el uso de consultas.

Nota: Asegúrate de hacer pruebas en una copia de tu base de datos o en un entorno de desarrollo para evitar cambios no deseados en los datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar