Subformularios

Tengo poco experiencia en Access, pero hecho algunas tablas en Access para ser preciso son de ellas hecho una relación 1 a 1, realice un formulario, cuando realizo una búsqueda, la funciona adecuadamente, pero cuando intento relacionar la 3 tabla, deja de relacionarse de cuada entre las 3, ya que también seria 1 a 1, como puedo realizar la relación para que cuga en el formulario, ¿pueda mostrarme los datos relacionados sin problemas?

3 respuestas

Respuesta
1
Este tipo de relaciones de 1 a 1 no es muy común...
La razón para hacerlos es cuando manejo demasiados campos en una sola tabla... ejemplo un "listado de alumnos"
-NombreAlumno
-Edad
-FechaNacimiento
-ColorDelPelo
-NombrePadre
-Nom breMadre
-ColorOjos
-NombreMascota
-Etc
-Etc
-Etc... muchos campos...
Por tener muchos campos es necesario "partirla" en dos para mejor administración...
Es mucho menos común entre tres tablas...
Sin embargo... yo hice la "Tarea",...
Debes tener cada tablas un campo de "llave Primaria"...
Enlaza la tabla 2 y 3 a la primera
* NO enlaces la tabla 1 con la tabla 2 y luego la tabla 2 con la tabla 3
* Enlaza la tabla 1 con la 2 y la tabla 1 con la 3
Nota: debe haber un dato en común en cada... ejemplo para ver un registro completo de un alumno debe estar la cedula en las tres tablas... la "cedula" seria la "llave primaria"
Suerte...
Respuesta
1
Ahí que mirar muchas cosas...
Bueno, hay que revisar las relaciones, usualmente en las relaciones 1-1, se coloca los datos en una sola tablas es un estándar utilizado, y que no lo coloca tanto problema al trabajar con ellas...
Ahora, si no quieres hacer esto, debes revisar que la relación debe ser una por una, y no que una este relacinada con dos al mismo tiempo...
Debe revisar que la relación de las tablas estén bien (tipo de datos iguales y tamaño iguales)... aquí puede fallar la relación...
Ahora puede ser que en una tabla no existan datos para la tabla relacionada .. es decir las relaciones sirven para que la Base de Datos vincule los datos que sean IGUALES... es decir si hablamos de una tabla de empleados (con su llave codemp) y una de Pagos (donde lleva la llave foránea codemp, y sus datos normales)... pero en la tabla pagos no exista un empleado determinado, y si filtra o busca por este empleado (con su llave), no le va a devolvcer nada por que las relaciones inner join, busca datos COINCIDENTES, ahora si necesita mostrar todos los datos así no haya datos en las tablas relacionada (hijas) debe cambiar el inner join por 'left join' o 'right join'... Que es todo esto..
Cuando creas tu formulario o subform.. y vas al origen del registro (RecordSource) en las propiedades del formulario, página de datos... y haces click en el botón de los puntos suspnsivos.. puedes entrar a modificar este origen...
Se habré como una consulta, relacionas, colocas los datos que se deben mostrar, etc..
Ahora haces click derecho sobre la linea de relación y haces click en 'Propiedades de la combinación', al hacer esto se habré otro ventana donde te indica que tipo de relación requiere, por defecto esta seleccionada la primera que es cuando busque datos exactos en ambas tablas, debes seleccionar la segunda o tercera, esto dependen la dirección de las relaciones, pero si hay una tercera tabla también debes arreglar la relaciones para que te función, que seria escojiando el mismo tipo...
No se si es lo que necesitas... pero me avisas...
Me mandas más información especifica...
Si te sirvió la respuesta la finalizas y valoras...
Respuesta
1
Que pena no haber contestado tu pregunta anteriormente, mira no se si estas seguro en que las relaciones deben ser 1 a 1, pues en Access generalmente las relaciones son 1 a varios, es preferible realizar la relación con el mismo campo y con los mismos datos, es decir numérico con numerico; texto con texto.
Es mejor, si te parece que me envíes la tabla y yo la reviso, mi mail es [email protected], ojala te sirva

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas