Inconvenientes con 2 consultas en Access

Tengo las siguientes inconvenientes en unas consultas en Access.
La primera es que diseñe unos formularios para que me inserte correctamente los registros de notas de estudiantes a unas tablas relacionadas, hasta aquí todo bien
Pero uno de los problemas que tengo es que al realizar la consultas del resultado total de notas en números si el numero de preguntas correctas es menor de 10 o es de 16 me funciona correctamente, si no me decrementa en 1 el numero correcto.
¿A qué se debe esto?
La segunda pregunta que tengo es la siguiente resulta que cuando algún o alguna estudiante que tenga el resultado en números igual a 0, no me muestra la fila o tupla de la estudiante es decir no me muestra en la consulta los estudiantes que tengan como nota final 0.
Agradezco de antemano su ayuda de esto depende un proyecto muy importante..

1 respuesta

Respuesta
1
El segundo punto , seguramente estas utilizando un INNER JOIN en la consulta, entonces si no hay datos, el Inner Join lo excluye de los resultados, para que aprezca debes usar LEFT JOIN no Inner Join.
La primera, ni idea a menos que coloques la consulta que estas utilizando.Ç
Hola como esta agradezco su atención a mi solicitud, pues yo hice lo que usted me comentaba de remplazar el INNER JOIN por LEFT JOIN pero resulta que el Access en primera instancia me genero dentro de la consulta varios INNER JOIN esto obviamente cuando se visualiza de modo SQL. Al cambiaer dichos INNER JO por LEFT o RIGHT o SELF el access no me deja ejecutar la consulta y en otros casos me la deja ejecutar pero no me muestra igualmente la tupla copn los datos de estudiantes cuya Nota es igual a 0.
Gracias!
Att. Camilo
No se alo que te refieres. ¿Access genero las consultas? ¿Osea qué eres tu el que genera la consulta?
¿Si tu no escribes la consulta no se como quieres tener control sobre ella?
Debes escribir tu la consulta para poderla manipular.
Hola lo que hice fue realizar de modo gráfico las consultas es decir crear la consulta en "Vista de diseño" aquí adjunte las tablas que necesito para la consulta seleccione los campos a la parte inferior teniendo en cuenta los criterios, lo que he estado revisando es la vista SQL modificando los Joins como usted me comento, si desea a continuación le envío la consulta para quew uested la observe.
Gracias!.
Hola este fue el codigo SQL que me genero Access
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"))
GROUP BY Cursos.Curso, Materias.CodMateria, Materias.Nombremateria, Materias.Docente, Estudiantes.Id, Estudiantes.Cursocod, Estudiantes.Nombre, Estudiantes.Grado, Examen.numerodepreguntas;
Creo que también debes colocar LEFT JOIN en Respuesta, y en Materias
Hola pues si realice lo que usted me dijo de cambiar los Inner Join por left Joins y Access no me deja ejecutar la consulta me sale "La expresión de combinación no esta admitida"...
Por otra parte realize la prueba contraria es decir que me cuente el numero de respuestas que tivo mal la estudiante, que me cuente el numero de respuestas que marco la estudiante y que es diferente de la Reespuesta_Verdadera, es decir:
WHERE (((Respuesta.Respuesta)<>[Respuesta_Verdadera].[Resverd]))
Para este caso me sucedió lo mismo pues no me mostró registro de las estudiantes que tuvieron todo bien, es decir en donde no hubo diferencia..
¿Sera qué es problema del motor de consulta?
Gracias!
Si es lo más probable
Yo recuerdo que ACcess maneja las consultas de manera extraña, creo que si armas una consulta siguiendeo el standard te ira mejor, eso es lo que yo hago
Busca como hacer consultas SQL ANSI y cambias la consulta que creo access a esa forma

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas