Escribir en varias tablas a la vez

As.

Tengo una tabla con mis alumnos llamada alumnos la cual tiene como como clave principal un campo llamado Id y es autonumerico. Cuando yo inserto un nuevo alumno mediante un formulario que depende de la tabla alumnos este lo autonumera ( nuevo registro- apellido: Pérez, Nombre: Luis, Id: 354( autonuérico).

Tendo otras tablas : Notas, comportamiento. Todas estas tablas tienen un campo llamado Id ( numérico).

Me gustaría que cuando creo un nuevo registro en la tabla alumnos el campo Id se copie el los campos Id de las otras tablas creandose en estas nuevos registros con ese Id.

4 Respuestas

Respuesta
1

Podés hacerlo con una consulta de actualización

Más bien de datos anexados

Respuesta
2

Yo creo que debes tener una tabla de notas que tenga el ID del alumno y el ID de la nota, luego en tu formulario de alumnos, puedes hacer un subformulario donde puedas meter las notas. (Tal ves en un control tipo pestaña)

Respuesta
1

En el evento Después de actualizar del cuadro de texto Nombre puedes crear un procedimiento de evento y entre Private Sub y End sub poner

docmd.setwarnings false

docmd.runsql"insert into Notas(id)values(" & me.id & ")"

docmd.runsql"insert into Comportamiento(id)values(" & me.id & ")"

He supuesto que el campo donde vas a guardar el valor de id en las otras tablas también se llama Id, aunque no tiene porque ser así.

Respuesta
1

Si lo hace con un formulario independiente puede utilizar este código para guardar el registro:

Private Sub btnagregar_Click()
 DoCmd.SetWarnings (False)

 DoCmd.RunSQL "INSERT INTO tblAlumnos (apellidos,nombre) VALUES ('" & Me.apellidos & "'" & ",'" & Me.nombre & "'" & ");"
 DoCmd.RunSQL "INSERT INTO tblNotas (id) VALUES (" & DMax("[id]", "tblAlumnos") & ");"
 DoCmd.RunSQL "INSERT INTO tblComportamiento (id) VALUES (" & DMax("[id]", "tblAlumnos") & ");"

End Sub

Si lo hace con un formulario ejemplo, frmAlumnos dependiente de la tabla tblAlumnos solo debe agregar las 2 últimas instrucciones Docmd.RunSQL...

Es importante que establezca las relaciones entre las tablas, es decir, el id de la tabla tblAlumnos con los id de las otras tablas. Personalmente utilizo formularios independientes, más código pero más control sobre los datos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas