Prélèvement automatique

Résolu
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   -  
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   - 23 sept. 2021 à 18:59
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]);

1 réponse

yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 582
 
bonjour,
je pense qu'il suffit de modifier la clause
ON
de la requête,
afin d'y tester que le mois de la paie est pendant la période de remboursement du prêt.
0
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   1
 
Je n'arrive pas à comprendre votre explication et plus il faut remplacer la clause ON par quoi dans cette requête
0
yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention   1 582 > Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention  
 
pour 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.
0
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   1 > yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention  
 
voila 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]);
0
yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention   1 582 > Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention  
 
si 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
0
Oholabi12345 Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   1 > yg_be Messages postés 23538 Date d'inscription   Statut Contributeur Dernière intervention  
 
Jai 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
0