Jalar info de una tabla dentro de un formulario creado en base a otra

tengo dos tablas TblPacientes y TblPacientesPorAtender cada una con su propio formulario, ambas tablas están relacionadas por [DNI]. En la tabla TblPacientes la Claves es [DNI] y están los campos [Apellidos] y [Nombres], en el formulario FrmPacientesPorAtender ingreso el campo [DNI] asociado a este esta un cuadro de texto, como hago para que jale desde TblPacientes y me muestre [Apellidos] y [Nombres] en este.

1 respuesta

Respuesta
1

Suponiendo que en tu formulario FrmPacientesPorAtender los nombres sean los que indicas en el enunciado, al campo [DNI] le generas este código en el evento Después de Actualizar:

Private Sub DNI_AfterUpdate()
if IsNull(Me.DNI) Then Exit Sub
Me.Apellidos=Nz(DLookUp("Apellidos","TblPacientes";"DNI='" & Me.DNI & "'"),"")
Me.Nombres=Nz(DLookUp("Nombres","TblPacientes";"DNI='" & Me.DNI & "'"),"")
End Sub

NO ME FUNCIONA, DEBO EXPLICARLO MEJOR:

Tengo dos tablas TblPacientes y TblPacientesPorAtender cada una con su propio formulario, en la TblPacientes tengo estos campos [DNI], [Apellidos] y [Nombres] y en TblPacientesPorAtender los campos [Paciente_1], [Paciente_2], [Paciente_3], [Paciente_4], [Paciente_5], [Paciente_6], [Paciente_7], [Paciente_8], [Paciente_9] y [Paciente_10], ambas tablas están relacionadas por [DNI]-[Paciente_1],2,3,etc. En el formulario FrmPacientesPorAtender en el campo [Paciente1] ingreso el valor de un [DNI]. Asimismo cada campo [Paciente_1],[Paciente_2],etc tiene un cuadro de texto dependiente asociado a este, como hago para que al momento de poner el valor en el campo [Paciente_1] me aparezca en el cuadro dependiente los [Apellidos] y [Nombres] desde la TblPacientes.

Gracias

Private Sub Paciente_1_AfterUpdate()
if IsNull(Me.Paciente_1) Then Exit Sub
Me.NombreCuadro=Nz(DLookUp("Apellidos","TblPacientes";"DNI='" & Me.Paciente_1 & "'"),"") & " " & Nz(DLookUp("Nombres","TblPacientes";"DNI='" & Me.Paciente_1 & "'"),"")
End Sub

Tendrás que cambiar NombreCuadro por el nombre que le tengas al cuadro asociado al campo Paciente_1

Para el resto, sería lo mismo, cambiando los nombres.

Me indica error de compilación se esperaba separador de listas

Private Sub Paciente_1_AfterUpdate()
If IsNull(Me.Paciente_1) Then Exit Sub
Me.NombreCuadro = Nz(DLookup("Apellidos", "TblPacientes", "DNI='" & Me.Paciente_1 & "'"), "") & " " & Nz(DLookup("Nombres", "TblPacientes", "DNI='" & Me.Paciente_1 & "'"), "")
End Sub

A ver así...

perfecto cambia el cuadro de texto asociado que se llama Paciente1

pero también cambia el valor de Paciente_1 donde se introdujeron inicialmente los datos, crees que se pueda modificar el código para que solo varíe al cuadro dependiente?

Lo quiero así porque al lado tengo un botón que abre otro formulario filtrando el valor de Paciente_1 (DNI)!

¿Entiendes por qué necesito que permanezca el valor introducido?

Gracias

Seria mejor introducir un código pero en cuadro de texto dependiente (Paciente1), ¿para qué así no altere el valor del campo Paciente_1?

El código que te puse no hace nada con el valor del campo Paciente_1.

La primera linea comprueba si el campo está vacío, en cuyo caso no hace nada.

La segunda busca los valores de Apellidos y Nombres en la tabla y los pone en el cuadro correspondiente.

El problema que comentas tiene que venir por otro lado, ya sea otra macro o código que tengas, o el propio diseño del formulario.

Si quieres el código en el campo dependiente, lo puedes hacer asociándolo al evento "Al recibir el enfoque" de ese campo dependiente.

¡Gracias!

El cuadro de texto dependiente lo convertí en independiente y en la tabla de origen cree un campo con el nombre Pacien1 y se soluciono el problema

Gracias me ayudaste mucho!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas