Como puedo determinar el saldo de una materia usando sentencias SQL

Estoy tratando de realizar una consulta en excel a través de sentencias SQL, el cual pretende determinar el saldo de una materia luego de realizar algunos abonos, el problema es que cuando hago la consulta me trae el nombre del alumno el curso el valor el primer abono y me da el saldo luego otra vez los mismos datos con el segundo abono y un saldo errado y no es lo que deseo aqui les muestro la consulta de forma errada que es como lo tengo

cuando lo que se desea es que la consulta quede de esta manera :

https://drive.google.com/file/d/1zBeEAHBO-M88fiLw-aa_Ua5jiMCOHlyK/view?usp=sharing enlace de los archivos el de acces es la base de datos y en el excel esta el ejemplo con los codigos de la consulta

1 respuesta

Respuesta
1

Para la primera consulta (consulta global), puedes usar esta SQL de datos agrupados (no lleva filtro por cédula, pero se lo puedes añadir tu mismo):

SELECT A.CEDULA, A.NOMBRES, C.CURSO, C.COSTO, Sum(AB.MONTO) AS ABONO, [COSTO]-Sum([MONTo]) AS SALDO
FROM (TB_ABONOS AS AB INNER JOIN TB_ALUMNOS AS A ON AB.ID_A = A.ID) INNER JOIN TB_CURSOS AS C ON AB.ID_C = C.ID
GROUP BY A.CEDULA, A.NOMBRES, C.CURSO, C.COSTO;

Para la segunda consulta (consulta individual) lo puedes hacer en dos pasos:

Una primera consulta de selección con esta SQL, que puedes llamar ConsultaAux y dejarla guardada en tu archivo Access:

SELECT AB.ID AS [REG N°], A.CEDULA, A.NOMBRES, C.CURSO, C.COSTO, AB.MONTO AS ABONO
FROM (TB_ABONOS AS AB INNER JOIN TB_ALUMNOS AS A ON AB.ID_A = A.ID) INNER JOIN TB_CURSOS AS C ON AB.ID_C = C.ID
Order by ab. ID;

y esta otra consulta definitiva, que sería la que uses en el código de tu excel:

SELECT [ConsultaAux].[REG N°], [ConsultaAux].CEDULA, [ConsultaAux].NOMBRES, [ConsultaAux].CURSO, [ConsultaAux].COSTO, [ConsultaAux].ABONO, [COSTO]-DSum("ABONO","Consulta2","[REG N°]<=" & [REG N°] & " AND NOMBRES='" & [NOMBRES] & "' AND CURSO='" & [CURSO] & "'") AS SALDO
FROM ConsultaAux;

Un saludo.


¡Gracias! logre la consulta por agrupación muchísimas gracias mi amigo,pero esta consulta no me salio

si no es mucha molestia puedes decirme como hacerlo,escomo un hacer un libro mayor de contabilidad para determinar el saldo de una cuenta de forma detallada

Vale, ya vi el error: en la última SQL se me coló un nombre de consulta que no era en el campo SALDO. Ésta es la correcta:

SELECT [ConsultaAux].[REG N°], [ConsultaAux].CEDULA, [ConsultaAux].NOMBRES, [ConsultaAux].CURSO, [ConsultaAux].COSTO, [ConsultaAux].ABONO, [COSTO]-DSum("ABONO","ConsultaAux","[REG N°]<=" & [REG N°] & " AND NOMBRES='" & [NOMBRES] & "' AND CURSO='" & [CURSO] & "'") AS SALDO
FROM ConsultaAux;

De todas formas, te subo tu archivo con las consultas funcionando: http://filebig.net/files/YpsFmWem6j 

Un saludo.


¡Gracias! Se va acercando pudiera quedar así la consulta

Si por ejemplo hubiera otro abono ej:500 solo deberá aparecer los datos del alumno la materia sin el costo el nuevo abono debajo y el nuevo saldo que seria 500

El costo solo aparece una vez como saldo inicial luego se van restando los nuevos saldos con los abonos como se observa en la imagen, disculpa tanta molestia, se que no es tu obligación ayudarme y por eso te estoy muy agradecido

No creo que una consulta te permita hacer eso, ten en cuenta que Access no es Excel y aunque visualmente sean parecidas, en la forma de trabajar no lo son.

De todas formas, si vas a pasar los datos a Excel, allí ya borras lo que te sobre

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas