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]);

1 réponse

  1. Contributeur
    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.
    1. Je n'arrive pas à comprendre votre explication et plus il faut remplacer la clause ON par quoi dans cette requête
    2. 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.
    3. @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]);
    4. 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
    5. @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