Inconvenientes en Access

Hola resulta que tengo el siguiente problema en Access
Tengo una base de datos que debe calcular el resultado de las pruebas de las estudiantes de un colegio
, me sale bien la consulta que realice(me muestra el registro o la tupla correspondientes) pero el problema que tengo
es que si la estudiante no tiene ninguna respuesta bien no me trae ninguna tupla o registro.
Considero que Es lógico por que la consulta esta ptrogramada para que incremente el resultado siempre y cuando Los registros
de la tabla de respuestas de la estudiante coincidad con los de la tabla donde esta la respuesta verdadera
¿Existe otra forma (consulta) para validar incluso que me muestre el registro de las estudiantes así no tengan ningún punto bien?
Gracias
La consulta que tengo desarrollada es la siguiente:
SELECT Cursos.Curso, Materias.CodMateria, Materias.Nombremateria, Materias.Docente, Estudiantes.Id, Estudiantes.Cursocod, Estudiantes.Nombre, Estudiantes.Grado, Count(*) AS NRC, Examen.numerodepreguntas, [NRC]*100/Examen!numerodepreguntas AS Calculo1, IIf([Calculo1]>=0 And [Calculo1]<=39.99,"DEFICIENTE",IIf([Calculo1]>=40 And [Calculo1]<=59.99,"INSUFICIENTE",IIf([Calculo1]>=60 And [Calculo1]<=79.99,"ACEPTABLE",IIf([Calculo1]>=80 And [Calculo1]<=89.99,"SOBRESALIENTE",IIf([Calculo1]>=90 And [Calculo1]<=100,"EXCELENTE"))))) AS Letra
FROM ((Cursos INNER JOIN Materias ON Cursos.Curso = Materias.Curso) INNER JOIN (Estudiantes INNER JOIN (Respuesta INNER JOIN Respuesta_Verdadera ON Respuesta.Pregunta = Respuesta_Verdadera.Pregunta) ON Estudiantes.Id = Respuesta.Id) ON (Materias.CodMateria = Respuesta_Verdadera.CodMateria) AND (Materias.CodMateria = Estudiantes.CodMateria)) LEFT JOIN Examen ON Materias.CodMateria = Examen.CodMateria
WHERE (((Respuesta.Respuesta)=[Respuesta_Verdadera].[Resverd] Or (Respuesta.Respuesta)="0") AND ((Respuesta.Pregunta)=[Respuesta_Verdadera].[Pregunta] Or (Respuesta.Pregunta)="0"))
GROUP BY Cursos.Curso, Materias.CodMateria, Materias.Nombremateria, Materias.Docente, Estudiantes.Id, Estudiantes.Cursocod, Estudiantes.Nombre, Estudiantes.Grado, Examen.numerodepreguntas;
Por otra parte quería pedirle el favor de que me dijeras como puedo visualizar una consulta creada mediante un modulo a un botón
dentro de un formulario en Access, pues yo al botón le asigne que al dar clic que me ejecute la consulta
pero cuando le doy clic al botón me muestra el cmodulo con el código y yo quiero que se me visualice la consulta.
Gracias!

1 Respuesta

Respuesta
1
Prueba contando las respuestas correctas de esta forma:
sum(iif(Respuesta.Respuesta=Respuesta_Verdadera.ResVerd or Respuesta.Respuesta="0",1,0)) as respuestasBien
Para contar las que están mal sería tan fácil como poner ", 0,1" en lugar del ", 1,0"
Poniendo eso tienes que quitar de la clausula Where la condición de que sea la respuesta correcta. De esta forma resuperará siempre todas las respuestas, estén bien o mal, sumando 0 o 1 a tu contador según sea la respuesta correcta o no.
Creo que es eso lo que intentas hacer. Si no te sirve necesitaría una copia de la base de datos con algunos registros de prueba para revisar la consulta.
Para que un botón de un formulario te presente una consulta puedes asignarle a una macro que te abra directamente la consulta o bien utilizar el comando "docmd"
DoCmd. OpenQuery "Consulta1", acViewNormal, acReadOnly
Otra forma podría ser creando un formulario de"hoja de datos" automático (para que te lo haga sólo el Access) sobre la consulta y abriendo el formulario.
Muchas gracias, lo felicito por la ayuda que me a brindado, de verdad no se me ocurrió que se pudiera enlazar funciones como las condicionales a una de suma dentro de Access
Muchas gracias..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas