Como actualizar una Tabla desde un Formulario con cuadro combinado

Tengo un Formulario con un cuadro combinado que cuando le escribo un código me muestra la informaciónón de la Tabla alumnos. Quiero que al tiempo se me actualice una tabla que se se llama ingreso con los campos:

Código:estudiante num

Hora_entrada : Fecha/hora

fecha: Fecha/hora

La tabla alumnos tiene los campos:

Codigo_alumno num

Nombre txt

Sede txt

Grado txt

1 respuesta

Respuesta
1

A ver si entendí tienes un cuadro combinado que tiene como origen la tabla alumnos

Al seleccionar un código te muestra los datos de ese alumno

Pregunto yo, ¿la tabla ingresos tiene datos?, o hay que agregar un registro nuevo cada vez

¿Qué selecciones un código en el cuadro combinado de alumnos? O sea actualizar siempre el mismo registro o agregar nuevos registros por día, ¿es decir cada alumno tendría muchos registros uno con cada fecha y hora de ingreso de cada día?

Supongo que lo que quieres es agregar un registro por cada día para cada alumno seleccionado. Sería mas o menos así:

En el evento después de actualizar del cuadro combinado

----------------------------------------------------------------------

Private sub cuadrocombinado afterupdate:

dim db as database

dim reg as recordset

set db= currentdb

set reg = db.openrecordset("ingreso")

reg.addnew

reg!código:estudiante= me.cuadrocombinado

reg!Hora_entrada= time

reg!fecha= date

reg.update

end sub

--------------------------------------------------------------------------------------

Si lo que querías era actualizar porque la tabla ingresos ya tiene todos los códigos de los alumnos y solo quieres modificar la fecha y la hora de un solo registro por alumno usa

este en vez del anterior ,

-------------------------------------------------------------------------------------------------------

Private sub cuadrocombinado afterupdate
dim db as database
dim reg as recordset
set db= currentdb
set reg = db.openrecordset("ingreso",dbopendynaset)
reg.findfirst "codigoestudiante="& me.cuadrocombinado

if not reg.nomatch then
reg.edit
reg!Hora_entrada= time
reg!fecha= date
reg.update

end if

Reg. Close

Db. Close
End sub

Es importante reemplazar correctamente los nombres de los campos de las tablas y del cuadro combinado para que funcione

Hola Experto.

Te Agradezco la Ayuda. Hice lo que me dijiste con la primera opción, pero me da un error 13 en tiempo de ejecución : no coinciden los tipos

así quedó:

Private Sub cod_estudiante_AfterUpdate()
Dim db As Control
Dim reg As Recordset
Set db = CurrentDb
Set reg = db.OpenRecordset("ingreso")
reg.AddNew
reg!codigo_estudiante = Me.cod_estudiante
reg!Hora_entrada = Time
reg!fecha = Date
reg.Update
End Sub

Gracias por la Ayuda

Bueno espero que hayas podido solucionar, el error tipo 13 se debe a que los tipos de datos no coinciden, por ej, si tratas de poner un valor tipo texto, en un campo numérico o viceversa, se resuelve mirando donde se quiso asignar un tipo de valor así, y verificando o cambiando el tipo de datos asignado

te agradezco si cerramos ya esta pregunta , saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas