¿Cuál es el error en el siguiente código de ACCESS?

Tengo el siguiente código:

Private Sub Materia_1_Click()
Dim FiltroMateria As String
FiltroMateria = "Carrera = '" & Me.Curso_Carrera & "'"
Me.Filter = FiltroMateria
Me.FilterOn = True
Me.Nota = NOTAS.Nota_1
End Sub

*Esto mismo se repite para cada materia, cambiando el número del nombre de la materia y el de la nota (ej: Private Sub Materia_2_Click()
Dim FiltroMateria As String
FiltroMateria = "Carrera = '" & Me.Curso_Carrera & "'"
Me.Filter = FiltroMateria
Me.FilterOn = True
Me.Nota = NOTAS.Nota_2
End Sub).

Este supone devolverme, en un formulario de varios elementos, la nota que se sacó el alumno para la respectiva materia según la carrera seleccionada. Sin embargo, al hacerle click a la materia, me salta el error '424': se requiere un objeto. No comprendo qué parte del código está mal.

1 respuesta

Respuesta
3

Presumo que el error lo tienes en el NOTAS.Nota_X

¿Qué es NOTAS? ¿Una tabla, una consulta, otro formulario?

Si es una tabla/consulta, para recuperar un valor, debes usar DLookUp()

Si es otro formulario abierto, debes indicar que es un formulario, por ejemplo:

= Forms("NOTAS").Nota_X

Ya me irás diciendo para afinar mi respuesta.

Saludos.


Intenté utilizar esa fórmula y, con algunas modificaciones, me queda así:

Private Sub Materia_2_Click()
Dim FiltroMateria As String
FiltroMateria = "Carrera = '" & Me.Cuadro_combinado288 & "'"
Me.Filter = FiltroMateria
Me.FilterOn = True
Me.Nota = DLookup("[Nota_2]", "Notas", "[IDAlumno] = [idalumno_Datos]")
End Sub

Ahora bien, cuando selecciono la materia me da la nota del alumno pero siempre es la del primero. Por ejemplo, si el primer registro tiene un 2, todos los demás también. Como que buscar la primera nota y la duplica para todos los demás.

PD: Cuadro_combinado288 es donde elijo la carrera. Notas es la tabla donde están las notas de todos los alumnos. IDAlumno es el código autonumerado que tiene cada alumno y se ubica en la tabla Notas. idalumno_Datos es el mismo código autonumerado del alumno pero este se ubica en la tabla Datos.

Prueba así:

Me.Nota = DLookup("[Nota_2]", "Notas", "[IDAlumno] =" &  Me.[idalumno_Datos])

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas