Prélèvement automatique

Résolu
Oholabi12345 Messages postés 511 Statut Membre -  
Oholabi12345 Messages postés 511 Statut Membre -
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. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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
    1. Oholabi12345 Messages postés 511 Statut Membre 1
       
      Je n'arrive pas à comprendre votre explication et plus il faut remplacer la clause ON par quoi dans cette requête
      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Oholabi12345 Messages postés 511 Statut Membre
       
      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
    3. Oholabi12345 Messages postés 511 Statut Membre 1 > yg_be Messages postés 23437 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
    4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Oholabi12345 Messages postés 511 Statut Membre
       
      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
    5. Oholabi12345 Messages postés 511 Statut Membre 1 > yg_be Messages postés 23437 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