Vincular sub form. Uno a varios

Formulario que no me guarda los datos introducidos mediante un form. De uno a varios.. Cunado cambio los campos principales del form también cambian en el sub... No sé que hacer ya probé el tema de la clave principal y relaciones y no salgo de ahí...

1 respuesta

Respuesta
1

Lo que comentas es, por una parte raro (lo de que no te guarde los datos) y por otra lógico (si cambias los datos del formulario principal, los del subform tienen que cambiar, al estar relacionados).

Para intentar averiguar donde está tu problema, me haría falta ver tu BD. ¿Puedes subir una copia, sin datos que puedan ser confidenciales, a www.filebig.net o web similar y poner aquí el enlace de descarga?

Vale listo, ya lo tienes... me sale esto... ya me dirás algo...

http://www.filebig.net/files/CgLdsSVqRJ

<span style="line-height: 1.5em; color: #0000ee; text-decoration: underline;">
</span>

<span style="line-height: 1.5em; color: #0000ee; text-decoration: underline;"> </span><span style="line-height: 1.5em; color: #0000ee; text-decoration: underline;">http://www.filebig.net/files/CgLdsSVqRJ </span>

[color=#0000ee]
[/color]

[color=#0000ee]<b><a href="http://www.filebig.net/files/CgLdsSVqRJ">http://www.filebig.net/files/CgLdsSVqRJ</a></b>[/color]

http://www.filebig.net/del.php?CgLdsSVqRJHrdWyYQrGc

Te reenvío la BD con unas modificaciones hechas, y te explico:

<a>http://www.filebig.net/files/Bu3qGvc9CW</a>

El subformulario no te funcionaba porque el campo Cognoms, que es la clave principal de la tabla, no lo tenías recogido en el mismo. Tenías un campo que te mostraba ese dato, pero era independiente del subformulario (en su origen, lo vinculabas a un cuadro de texto del formulario, que también era independiente de la tabla en la que se basan ambos)

Además, las relaciones no estaban bien hechas entre formulario y subformulario. Y para rematarlo, los dos están basados sobre la misma tabla, lo que ue puede ser fuente de otros errores.

En la solución que te propongo yo, se elimina el subformulario, y todos los cuadros de texto que eran independientes, pero existen en la tabla "Pagaments", y que eran los que intentabas traspasar al formulario, ya se rellenan directamente después de marcar los cuadros combinados (por código vba, en el evento Después de actualizar). Con eso consigues que se te guarden todos los campos en la tabla sin errores. (Creo que me falta el cuadro Total, porque no sé a que campo se corresponde, pero si entiendes la mecánica de lo que hice, no tendrás problema en hacerlo tu misma)

Además, te añadí un pequeño código en el evento al activar registro del formulario, para que el cuadro combinado de selección de alumno, te muestre el alumno del registro activo y el importe total, o no, según haya alumnos o sea un registro nuevo.

De todos modos, comentarte que si lo que pretendías con el subformulario era tener una especie de "histórico" de los pagos de alumnos, no te iba a servir, pues al tener definida como clave principal (y sin duplicados) el apellido del alumno, no te va a permitir añadir dos registros del mismo alumno (incluso tampoco te permitirá añadir datos de dos hermanos).

Yo te recomendaría que en la tabla "pagaments", crearas un nuevo campo, que fuera autonumérico, y lo pusieras como clave principal, y luego, relacionaras ambas tablas por el campo "Codi" que será único para cada alumno. Si haces esto, podrás eliminar de la tabla pagaments, los campos Nom y Cognom, pues ya los tienes en la tabla Alumnos y al estar ambas relacionadas por Codi, puedes mostrarlos en cualquier momento por medio de una consulta (o por código)

Un saludo, y para cualquier aclaración, no dudes en consultarme.

gracias... no es lo que quería pero me resuelve mas o menos el problema... perdona mi tardanza en contestar...

Criss.

Muchas gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas