Ejecutar una consulta al rellenar cuadro de texto

Tengo un formulario con un montón de campos (cuadros combinados, cuadros de texto, etc..) y necesitaría lo siguiente.
Tengo un cuadro de texto en el formulario principal (el cuadro de texto se llama "NHC") que se rellena a mano y en función del valor que se introduzca en el querría hacer una búsqueda en una tabla independiente que se llama "pacientes" y que tiene los campos ("id", "NHC", "Nombre completo") . Una vez que encuentre el "NHC" metido a mano en la tabla de "pacientes" querría que me mostrara el campo "nombre completo" correspondiente en otro cuadro de texto del formulario principal que se llama "Nombre".
Me estoy rompiendo la cabeza buscando ejemplos similares y no soy capaz de avanzar.
Respuesta
1
Puedes hacerlo de la siguiente manera.
'Ejecutamos una consulta y seleccionamos el registro donde NHC sea igual al que hemos
' introducido manualmente (Siempre y cuando NHC sea unico). si es campo texto deja las
'comillas simples delante y detras de la variable si es numerico tienes que quitarselas.
set rst = currentdb.openrecorset ("Select id, NHC, [Nombre completo] from TABLA where NHC = '" & me.MiCuadroDeTexto.Value & "';")
'en la variable Aux_Nombre guardamos el valor del campo "Nombre Completo"
'del recorset. Los campos van en orden empezando por el 0.
Aux_Nombre = rst.fields(2)
'Simplemente queda asignar el valor al campo texto que tengas.
Me.MiCampoNombre.Value = Aux_Nombre
' No hay que olvidarse de cerrar la conexion
rst.Close
Muchas gracias por la rapidez en la contestación,
No consigo que me funcione, siguiendo tus instrucciones he metido el siguiente texto en el editor de código del cuadro de texto que se rellena a mano y en función de cuyo valor se hará la búsqueda en la otra tabla.
Te comento, el cuadro de dialogo que se rellena a mano se llama "NHC"
La tabla donde tiene que buscar la coincidencia se llama "Pacientes" y tiene solo dos campos "NHC" y "NOMBRE".
Y lo que querría es mostrar el nombre correspondiente al NHC buscado en un cuadro de dialogo que se llama "Nombre".
'Al rellenar el cuadro de dialogo "NHC" debe comenzar la busqueda
Private Sub NHC_AfterUpdate()
Set rst = CurrentDb.openrecorset("Select NHC, [Nombre] from Pacientes where NHC = '" & Nombre.Value & "';")
'en la variable Aux_Nombre guardamos el valor del campo "Nombre Completo"
'del recorset. Los campos van en orden empezando por el 0.
Aux_Nombre = rst.Fields(1)
'Simplemente queda asignar el valor al campo texto que tengas.
Nombre.Value = Aux_Nombre
' No hay que olvidarse de cerrar la conexion
rst.Close
End Sub
¿Podrías decirme en que me estoy equivocando? ¡Muchísimas gracias!
Seria así, quieres comparar el valor del campo NHC, con el valor del cuadro NHC para tomar el valor de este ultimo seria Me. NHC. Value
Set rst = CurrentDb.openrecorset("Select NHC, [Nombre] from Pacientes where Pacientes.NHC = '" & Me.NHC.Value & "';")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas