Cómo autorellenar campo 'código' en formulario de múltiples tablas

  • Autor Autor HaK3r
  • Fecha de inicio Fecha de inicio
HaK3r

HaK3r

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buenas gente, estoy haciendo un formulario para agregar datos en 3 tablas diferentes.
Tengo una tabla 'alumnes' otra 'familia' y otra de 'parents'.
Lo primero que estoy intentando es que al crear un alumno nuevo que el campo 'codigoalumnefamilia' se rellene con la ID del alumno, que es un autonumerico que se crea solo.
Luego, tengo en el mismo caso el mismo problema, que en el mismo formulario quiero poner los campos de los padres, en la tabla de 'padres' tengo el campo 'Codigofamiliaparent' donde va el código de la familia. Y todo esto me gustaría hacerlo en el mismo formulario.
Adjunto una imagen de las tablas.

Gracias

2017-01-13 09_34_59-Access - Consell_Ensenyament _ Base de datos- C__Users_Usuari_OneDrive - ...webp
 
A mi no me queda claro, si tienes problemas con el formulario... con las operaciones de la base de datos, o con las dos cosas.
 
A mi no me queda claro, si tienes problemas con el formulario... con las operaciones de la base de datos, o con las dos cosas.

Buenas 'sevilla666' ahora e cambiado las relaciones, porque me he dado cuenta que tenia mal la relación de 'alumno -> familia'.

El problema que tengo sigue siendo el mismo por eso. Me gustarià hacer un formulario para añadir 1 alumno, pero con los datos del alumno tendría que añadir los datos de la familia y los datos de los padres, entonces la pregunta es, Como pongo que los campos relacionados 'CodigoFamiliaAlumno' y 'CodigoFamiliaParent' se auto-completen con el autonumerico creado del nuevo alumno o familia?

Gracias 🙂 !
 
Buenas 'sevilla666' ahora e cambiado las relaciones, porque me he dado cuenta que tenia mal la relación de 'alumno -> familia'.

El problema que tengo sigue siendo el mismo por eso. Me gustarià hacer un formulario para añadir 1 alumno, pero con los datos del alumno tendría que añadir los datos de la familia y los datos de los padres, entonces la pregunta es, Como pongo que los campos relacionados 'CodigoFamiliaAlumno' y 'CodigoFamiliaParent' se auto-completen con el autonumerico creado del nuevo alumno o familia?

Gracias 🙂 !

Se supone que están relacionadas las tablas.
Tienes que crear un TRIGGER, y al crear la tabla familia usar ON DELETE CASCADE ON UPDATE CASCADE.
Puedes mirar esta página que hace algo parecido:
ON INSERT CASCADE.

- - - Actualizado - - -



Ayer te di una respuesta muy vaga.
Te complemento la respuesta:
Hacemos una BD que se llama base con tres tablas: tabla1, tabla2, tabla3.
tabla1 con dos campos: id1, otro_campo1
tabla2 con dos campos: id2, otro_campo2
tabla3 con dos campos: id3, otro_campo3.
Este código que te pongo queda de tal forma que si a tabla1 le añades le borras o le modificas el campo id1, entonces tabla2->id2 y tabla3->id3 cogerán el mismo valor.
Insertar CODE, HTML o PHP:
mysql> CREATE DATABASE base;
Query OK, 1 row affected (0,00 sec)

mysql> use base;
Database changed

mysql> CREATE TABLE tabla1 ( id1 INT(2) NOT null AUTO_INCREMENT, otro_campo1 VARCHAR(15), PRIMARY KEY(id1) );
Query OK, 0 rows affected (0,47 sec)

mysql> CREATE TABLE tabla2 ( id2 INT(2) NOT null , otro_campo2 VARCHAR(15), PRIMARY KEY(id2), FOREIGN KEY(id2) REFERENCES tabla1(id1) ON DELETE CASCADE ON UPDATE CASCADE );
Query OK, 0 rows affected (0,35 sec)

mysql> CREATE TABLE tabla3 ( id3 INT(2) NOT null , otro_campo3 VARCHAR(15), PRIMARY KEY(id3), FOREIGN KEY(id3) REFERENCES tabla1(id1) ON DELETE CASCADE ON UPDATE CASCADE );
Query OK, 0 rows affected (0,40 sec)

mysql>  DELIMITER $$                                                            
mysql> CREATE TRIGGER copiar_a_id2  AFTER INSERT ON tabla1  FOR EACH ROW BEGIN INSERT INTO tabla2 (id2) VALUES (NEW.id1); END$$
Query OK, 0 rows affected (0,10 sec)

 
mysql>  CREATE TRIGGER copiar_a_id3  AFTER INSERT ON tabla1  FOR EACH ROW BEGIN INSERT INTO tabla3 (id3) VALUES (NEW.id1); END$$
mysql> DELIMITER ;

Query OK, 0 rows affected (0,10 sec)

mysql> INSERT INTO tabla1 (id1) VALUES (NULL);

Espero que te sirva.
 
Última edición:
Sevilla666 para que te pongas en situación, estoy en Access 2016. Tengo que crear un formulario para rellenar 4 tablas diferentes y la única forma que he encontrado, para ir creando y que las ID se rellene solas, es añadiendo subformularios en el formulario, adjunto una imagen del formulario 'chapuzas' que he realizado:

2017-01-18 11_12_21-Access - Consell_Ensenyament _ Base de datos- C__Users_Usuari_OneDrive - ...webp

Y me gustaría saber si podría hacerlo mejor de alguna forma.
Muchas gracias!
 
estoy en Access 2016

! OSTIA! lo siento, no me he dado cuenta que estas en ACCESS. Esto me pasa por no leer bien las preguntas y hacerlo desde el p**o movil.
No tengo ni papa de access pero lo poco que lo he usado sé que no tiene triggers y hay que simularlo por script.
Te vuelvo a pedir disculpas.

Saludos.
 
! OSTIA! lo siento, no me he dado cuenta que estas en ACCESS. Esto me pasa por no leer bien las preguntas y hacerlo desde el p**o movil.
No tengo ni papa de access pero lo poco que lo he usado sé que no tiene triggers y hay que simularlo por script.
Te vuelvo a pedir disculpas.

Saludos.

Tranquilo, de todas formas muchas gracias por la ayuda 🙂 ! :encouragement::encouragement:
 
Atrás
Arriba