Reporte adeudos en access

Espero y me puedan ayudar, tengo una base de datos en access del control de alumnos y deseo crear un reporte o consulta, en la cual me muestre si los alumnos tienen a deudo o no, ellos pagan por mes o por semana según lo elijan, pero pues me piden que muestre por semana, si el alumno va al corriente o lleva adeudo y pues no se como hacerlo, espero que me puedan ayudar
Tengo una tabla de alumnos con sus datos y otra con los pagos que realiza ya sea por semana o por mes, relacionadas por el numero de credencial.

1 respuesta

Respuesta
1
Dime las tablas que tienes con sus campos, y sus relaciones
Mira la tabla de alumnos tiene los campos
crecencial
Nombre
Apellidos
monto_pagoXsemana (se indica la cantidad a pagar por semana)
monto_pagoxmes (cantidad pagada por mes)
pagaxsemana (Solo indica si pagara por semana)
pagaxmes (solo indica si pagara por mes)
Beca
porc_beca
Horario
Carrera
fecha_inicio
Entre otros campos de información personal del alumno que se le pide
En la tabla pagos
Folio
semana_pagar
mes_pagar
cantidad
importe
cantida_con_letra
descripcion
fecha_pago
año_pago
pago_mes (De si/no)
pago_semana (De si/no)
Credencial
Se relacionan por el campo credencial de ambas tablas
Por lo que veo hay bastante duplicidad de información.
En la tabla alumnos tienes dos campos de total_a_pagar y dos campos para saber si es por semana o por mes.
Por lo que he entendido los alumnos que pagan por semana no pagan por mes y viceversa, con lo que solo pondría un campo de monto, y solo un campo si/no que indique si paga por semana (si es que Sí pagara por semana y si es que no, por mes)
En la tabla de pagos haría lo mismo. Poner solo un campo de valor pagado, un campo que indique si es mensual o semanal.
Después en la consulta solo tenemos que crear criterios de Si/No en un solo campo según queramos semanal o mensual.
Una vez hechos estos cambios nos será fácil ver si algún alumno mensual le falta algún mes o algún alumno semanal le falta alguna semana creando más criterio sobre los campos necesarios
Ok voy a intentar lo que me dices y esperemos que funcione, más o menos tengo una idea con lo que me dices para formular los resportes, espero que fusione y te dijo
Ok
Pues estoy muy verde en access, por que no salio, te voy a eplicar más o menos lo que quiero, espero me puedas ayudar
si los alumnos pagaron los mes de ela siguiente forma, como mostrar un acumulado de pagos pendientes o no en caso de que vayan al corriente. Por ejemplo
alumno enero febrero marzo abril mayo adeudo
luis $ 700 $ 700 $ 700 $ 1400 del mes de abril y mayo
juan $ 800 $ 800 $ 2400 de marzo, abril y mayo
brenda $ 550 $ 2200 de febrero, marzo, abril, mayo
carlos $ 800 $ 800 $800 $800 $800 $0 ya que va al corriente
más o menos eso es lo que quiero, creo que lo mismo seria si paga por semana, llevar el control de los pagos por semana y si adeuda o no el alumno, estaba pensando agregar un campo para cada mes del año y otro campo que indique si pago o no el mes, pero pues como no tengo ni idea de como empezar, me bloqueo en la forma de hacerlo, espero me puedas dar una idea.
De antemano gracias por el tiempo que me has dedicado y espero no molestarte mucho con mis preguntas
Ok, veo que no avanzamos.
Vamos a agruparlo todo. Creamos una consulta sencilla con los datos que necesitamos para mirar los pagos (nombre, apellidos) y fecha_pago y importe (que supongo que indica cuando y cuanto ha pagado)
SELECT alumnos.nombre, alumnos.apellidos, pagos.fecha_pago, pagos.importe
FROM alumnos INNER JOIN pagos ON alumnos.credencial = pagos.credencial;
A esta consulta la he llamado pago_alumnos
Y luego para saber por mes lo que ha pagado cada uno
TRANSFORM Sum(pago_alumnos.importe) AS SumaDeimporte
SELECT pago_alumnos.nombre, pago_alumnos.apellidos, Sum(pago_alumnos.importe) AS [Total de importe]
FROM pago_alumnos
GROUP BY pago_alumnos.nombre, pago_alumnos.apellidos
PIVOT Format([fecha_pago],"mmm") In ("gen","feb","mar","abr","may","jun","jul","ag","set","oct","nov","des");
Ok gracias, lo he adaptado a mis tablas y funciona perfectamente, ya lo demás depende de mi, eso es lo que quería.
Solo te voy a hacer una ultima pregunta, si lo quisiera hacer ahora por semana, que tendría que cambiar de la consulta, para saber las semanas que ha pagado y lo que adeuda:
Ejemplo
                                                   semans de pago
alumno      1          2            3             4              5             6                7          adeudo
pedro      $ 125  $125       $125      $125        $125                                       $ 250  por 6 y 7
andres    $ 160  $ 160      $ 160     $160        $ 160      $ 160                       $ 160 por 7
carmen   $170    $170       $170      $170        $ 170      $170           $170     $ 0     va al corr.
Esto seria todo por el momento, espero me puedas ayudar y disculpa por tanta molestia
Hm, ¿quieres qué te muestre las 54 semanas del año y ver los pagos?
Pues ahorita la semana de pago es la 19 y pues que mostrara de perdido las semanas del mes o unos 5 semanas hacia atrás de la semana actual, para llevar los pagos por semana de ese mes y sus adeudos, para no mostrar todas las semanas, plis
Bien pues primero creamos una consulta llamada pago_alumnos_semana con los criterios de que sean alumnos que pagan por semana y que la fecha esté entre las cinco semanas anteriores a la fecha actual
SELECT alumnos.nombre, alumnos.apellidos, pagos.fecha_pago, pagos.importe, alumnos.pagaXsemana, Format([fecha_pago],"ww") AS F
FROM alumnos INNER JOIN pagos ON alumnos.credencial = pagos.credencial
WHERE (((alumnos.pagaXsemana)=-1) AND ((Format([fecha_pago],"ww"))>=Format(Date(),"ww")-5));
Y a partir de esta creamos otra consulta de referencias cruzadas para ver los pagos por semana
TRANSFORM Sum(pago_alumnos_semana.importe) AS SumaDeimporte
SELECT pago_alumnos_semana.nombre, pago_alumnos_semana.apellidos, Sum(pago_alumnos_semana.importe) AS [Total de importe]
FROM pago_alumnos_semana
GROUP BY pago_alumnos_semana.nombre, pago_alumnos_semana.apellidos
PIVOT "Semana " & Format([fecha_pago],"ww");

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas