Mostrar campos de un formulario en otro, sin usar subformularios...

Los estoy leyendo de a poco y aprendiendo a mejorar mi base de datos Access. Resulta que tengo un formulario llamado CLIENTES, que se relaciona con otro formulario llamado CÓNYUGES, por medio del campo DOCUMENTO CLIENTE. De manera que un cliente tenga un registro correspondiente a su conyuge en dicha tabla.

Los datos se cargan manualmente en ambos formularios, pero hay alguna manera de que en el formulario CLIENTES me muestre automáticamente el apellido, ¿nombre y documento del cónyuge cargado previamente en el formulario CÓNYUGES? Pero si usar subformularios.

1 respuesta

Respuesta
1

Lo puedes hacer de muchas formas, te comento alguna:

1º/ en tu formulario Clientes pones, en Vista Diseño, un cuadro de texto llamado, por ejemplo txtApeConyuge y en él escribes:

=DLookUp("APELLIDOS","[CÓNYUGES]","[DOCUMENTO CLIENTE]=" & [DOCUMENTO CLIENTE[)

Y así con el resto de campos (suponiendo que la tabla donde se guardan los datos es CÓNYUGES)

2º/ Usar la misma expresión pero por código, por ejemplo en el evento "después de actualizar" de DOCUMENTO CLIENTE:

Me.txtApeConyuge =DLookUp("APELLIDOS","[CÓNYUGES]","[DOCUMENTO CLIENTE]=" & [DOCUMENTO CLIENTE[)

3º/ Hacer una consulta uniendo las dos tablas y usarla como origen del formulario

Antes que nada Sveinbjorn El Rojo,  muchas gracias por tu ayuda, probé las dos primeras opciones y no me funcionó. Creería que pase mal los nombres de los campos. Para mejorar la pregunta, ahora adjunto las dos tablas y su relación, a ver si podemos lograr que funcione..

El objetivo que estoy buscando, es evitar duplicar los datos del conyuges, puesto que también se cargan en el formulario Clientes Auto.

Desde ya muchas gracias!

A ver, si quieres coger el valor de LOCALIDAD (por ejemplo) de la tabla CÓNYUGES, la expresión sería:

=DLookUp("LOCALIDAD","CONYUGES","[DNI TITULAR]=" & [DNI[)

Esta expresión la pondrías en el origen de control de un cuadro de texto del formulario hecho sobre la tabla CLIENTES AUTO

Sveinbjorn El Rojo,  gracias por tu tiempo y paciencia, je , pero me tira un error y copie tal cual me indicaste

Vale, después de DNI hay que cerrar el corchete, no abrirlo... fallo mío...

=DLookUp("LOCALIDAD","CONYUGES","[DNI TITULAR]=" & [DNI])

Sigue el mismo error... che una pena

Cambia las comas por punto y coma, a ver si va a ser de eso:

=DLookUp("LOCALIDAD";"CONYUGES";"[DNI TITULAR]=" & [DNI])

Seeeeee! Perfecto me sale la localidad, ahora lo voy a adaptar para que me muestre el apellido, nombre y documento del cónyuge. Sos un capo Sveinbjorn El Rojo.

Muchas gracias por tu tiempo

Así quedó

No es nada.

Buenas!! Se me presentó un problema con los informes, precisamente de las personas que no tienen cónyuges. El informe sale con error. 

Primero levanto esta imagen de los 4 formularios que están completos y el informe funciona. 

Pero el siguiente cliente no tiene cónyuge el informe no sale

Pero si le pongo en Documento de cliente en el formulario Cónyuges, quedando así relacionados, sí funciona el informe, pero como lo señalo sale el dato en blanco, solo DNI, en el concatenado. 

Pero con esta solución voy cargando la tabla Cónyuges sólo con el numero de dni del cliente y me genera otra redundancia.

Agradecería cualquier ayuda.

Muchas gracias

Al no saber cómo haces el informe, no te puedo dar una respuesta concreta, pero te comento cosas:

1º/ si los datos de cada formulario los guardas en tablas diferentes (una por formulario), al hacer el informe (sobre una consulta o directamente sobre las diferentes tablas) no te tendría que salir ese error.

2º/ si los datos no los guardas en la tabla y los coges directamente del formulario, prueba a usar Nz() para convertir los nulos en cadenas vacías, o sino, tendrás que asignarle los valores a los cuadros de texto vía código VBA y no en el origen de control de los mismos, previa verificación de que existan esos datos en la tabla correspondiente.

Gracias por la paciencia Sveinbjorn El Rojo

Te paso el diseño de la consulta que acabo de crear, la hice con el asistente. Uso 3 tablas donde se almacenan los datos desde sus formularios. Y curiosamente me sale el mismo error cuando los clientes son solteros. En los casos de clientes casados y donde están cargados los datos de los cónyuges la consulta y el informe funcionan. 

Si la consulta no te funciona, algo te falla en el diseño de la misma, o peor aun, en el diseño de las tablas y sus relaciones...

Lo correcto sería relacionar las tablas "padres" con las "hijas" a través del campo clave de la tabla padre, y parece que en tu caso no es así

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas