Prélèvement automatique
Résolu
Bonjour, voici une instruction sql ; qui permet de faire le salaire des employés et quiet qui bénéficient des prêts ; mais je souhaite faire un prélèvement de ces prêts à une date donnée et arrêter les prélèvements selon une date définie.
Comment le faire
SELECT REQ_PAIE.NUMERO_BULLETIN, REQ_PAIE.Date, REQ_PAIE.NOMBRE_JOUR, REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.NOM_EMPLOYE, REQ_PAIE.GRATIFICATION, REQ_PAIE.TAUX_CATEGORIEL, REQ_PAIE.PRENOM_EMPLOYE, REQ_PAIE.[SALAIRE CATEGORIEL], REQ_PAIE.[SALAIRE BRUT], REQ_PAIE.TRANSPORT, REQ_PAIE.CONGES, REQ_PAIE.ITS, ([SALAIRE BRUT]-[ITS]) AS [SALAIRE NET], Round(Nz(Sum([MENSUALITE RETENUE PRET]),0),0) AS [RETENUE PRET], Round([SALAIRE BRUT]-[ITS]+[TRANSPORT]-Nz(Sum([MENSUALITE RETENUE PRET]),0),0) AS [NET A PAYER]
FROM REQ_PRET RIGHT JOIN REQ_PAIE ON REQ_PRET.CODE_EMPLOYE = REQ_PAIE.CODE_EMPLOYE
GROUP BY REQ_PAIE.NUMERO_BULLETIN, REQ_PAIE.Date, REQ_PAIE.NOMBRE_JOUR, REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.NOM_EMPLOYE, REQ_PAIE.GRATIFICATION, REQ_PAIE.TAUX_CATEGORIEL, REQ_PAIE.PRENOM_EMPLOYE, REQ_PAIE.[SALAIRE CATEGORIEL], REQ_PAIE.[SALAIRE BRUT], REQ_PAIE.TRANSPORT, REQ_PAIE.CONGES, REQ_PAIE.ITS, ([SALAIRE BRUT]-[ITS]);
Comment le faire
SELECT REQ_PAIE.NUMERO_BULLETIN, REQ_PAIE.Date, REQ_PAIE.NOMBRE_JOUR, REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.NOM_EMPLOYE, REQ_PAIE.GRATIFICATION, REQ_PAIE.TAUX_CATEGORIEL, REQ_PAIE.PRENOM_EMPLOYE, REQ_PAIE.[SALAIRE CATEGORIEL], REQ_PAIE.[SALAIRE BRUT], REQ_PAIE.TRANSPORT, REQ_PAIE.CONGES, REQ_PAIE.ITS, ([SALAIRE BRUT]-[ITS]) AS [SALAIRE NET], Round(Nz(Sum([MENSUALITE RETENUE PRET]),0),0) AS [RETENUE PRET], Round([SALAIRE BRUT]-[ITS]+[TRANSPORT]-Nz(Sum([MENSUALITE RETENUE PRET]),0),0) AS [NET A PAYER]
FROM REQ_PRET RIGHT JOIN REQ_PAIE ON REQ_PRET.CODE_EMPLOYE = REQ_PAIE.CODE_EMPLOYE
GROUP BY REQ_PAIE.NUMERO_BULLETIN, REQ_PAIE.Date, REQ_PAIE.NOMBRE_JOUR, REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.NOM_EMPLOYE, REQ_PAIE.GRATIFICATION, REQ_PAIE.TAUX_CATEGORIEL, REQ_PAIE.PRENOM_EMPLOYE, REQ_PAIE.[SALAIRE CATEGORIEL], REQ_PAIE.[SALAIRE BRUT], REQ_PAIE.TRANSPORT, REQ_PAIE.CONGES, REQ_PAIE.ITS, ([SALAIRE BRUT]-[ITS]);
1 réponse
-
Contributeurbonjour,
je pense qu'il suffit de modifier la clauseON
de la requête,
afin d'y tester que le mois de la paie est pendant la période de remboursement du prêt.-
-
Contributeur@Oholabi12345pour le moment la clause ON contient:
ON REQ_PRET.CODE_EMPLOYE = REQ_PAIE.CODE_EMPLOYE
Il faut la compléter, tester que le mois de la paie est pendant la période de remboursement du prêt. -
@yg_bevoila ce que jai pu faire:
SELECT REQ_PAIE.NUMERO_BULLETIN, REQ_PAIE.Date, REQ_PAIE.NOMBRE_JOUR, REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.NOM_EMPLOYE, REQ_PAIE.GRATIFICATION, REQ_PAIE.TAUX_CATEGORIEL, REQ_PAIE.PRENOM_EMPLOYE, REQ_PAIE.[SALAIRE CATEGORIEL], REQ_PAIE.[SALAIRE BRUT], REQ_PAIE.TRANSPORT, REQ_PAIE.CONGES, REQ_PAIE.ITS, ([SALAIRE BRUT]-[ITS]) AS [SALAIRE NET], Round(Nz(Sum([MENSUALITE RETENUE PRET]),0),0) AS [RETENUE PRET], Round([SALAIRE BRUT]-[ITS]+[TRANSPORT]-Nz(Sum([MENSUALITE RETENUE PRET]),0),0) AS [NET A PAYER]
FROM REQ_PRET RIGHT JOIN REQ_PAIE ON REQ_PRET.DATE_DEBUT_REMBOURSEMENT = REQ_PAIE.date
GROUP BY REQ_PAIE.NUMERO_BULLETIN, REQ_PAIE.Date, REQ_PAIE.NOMBRE_JOUR, REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.NOM_EMPLOYE, REQ_PAIE.GRATIFICATION, REQ_PAIE.TAUX_CATEGORIEL, REQ_PAIE.PRENOM_EMPLOYE, REQ_PAIE.[SALAIRE CATEGORIEL], REQ_PAIE.[SALAIRE BRUT], REQ_PAIE.TRANSPORT, REQ_PAIE.CONGES, REQ_PAIE.ITS, ([SALAIRE BRUT]-[ITS]); -
Contributeur@Oholabi12345si je vois bien, tu n'as pas complété la condition. le résultat devrait être assez cahotique.
compléter, ce serait:ON REQ_PRET.CODE_EMPLOYE = REQ_PAIE.CODE_EMPLOYE
AND REQ_PRET.DATE_DEBUT_REMBOURSEMENT = REQ_PAIE.date -
@yg_beJai essayé ce que vous m'avez proposé mais ça fonctionne seulement lorsque la date de la paie est egale à la date de debut du prelevement (REQ_PRET.DATE_DEBUT_REMBOURSEMENT = REQ_PAIE.date)
je propose cette instruction mais on arrive pas à aller en mode création
SELECT REQ_PAIE.NUMERO_BULLETIN, REQ_PAIE.Date, REQ_PAIE.NOMBRE_JOUR, REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.NOM_EMPLOYE, REQ_PAIE.GRATIFICATION, REQ_PAIE.TAUX_CATEGORIEL, REQ_PAIE.PRENOM_EMPLOYE, REQ_PAIE.[SALAIRE CATEGORIEL], REQ_PAIE.[SALAIRE BRUT], REQ_PAIE.TRANSPORT, REQ_PAIE.CONGES, REQ_PAIE.ITS, ([SALAIRE BRUT]-[ITS]) AS [SALAIRE NET], Round(Nz(Sum([MENSUALITE RETENUE PRET]),0),0) AS [RETENUE PRET], Round([SALAIRE BRUT]-[ITS]+[TRANSPORT]-Nz(Sum([MENSUALITE RETENUE PRET]),0),0) AS [NET A PAYER]
FROM REQ_PRET RIGHT JOIN REQ_PAIE ON (REQ_PRET.CODE_EMPLOYE = REQ_PAIE.CODE_EMPLOYE) AND (REQ_PRET.DATE_DEBUT_REMBOURSEMENT <= REQ_PAIE.date) AND (REQ_PRET.DATE_FIN_REMBOURSEMENT >= REQ_PAIE.date)
GROUP BY REQ_PAIE.NUMERO_BULLETIN, REQ_PAIE.Date, REQ_PAIE.NOMBRE_JOUR, REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.NOM_EMPLOYE, REQ_PAIE.GRATIFICATION, REQ_PAIE.TAUX_CATEGORIEL, REQ_PAIE.PRENOM_EMPLOYE, REQ_PAIE.[SALAIRE CATEGORIEL], REQ_PAIE.[SALAIRE BRUT], REQ_PAIE.TRANSPORT, REQ_PAIE.CONGES, REQ_PAIE.ITS, ([SALAIRE BRUT]-[ITS]);
en fait date_debut_remboursement<=date<=date_fin_remboursement
-