Prélèvement automatique des prêts sur salaires

Signaler
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021
-
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021
-
Bonjour,

J'ai une base de donnée qui gère la paie et je souhaiterais que le prélèvement des échéances de remboursement des prêts octroyés au travailleurs se fassent automatiquement chaque mois jusqu'à l’apurement de la dette .
est il possible de le faire ?

Si oui jai vraiment besoin d'aide
merci d'avance

6 réponses

Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021
900
bonjour,
le point de départ, c'est de structurer correctement les tables.
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021
900 >
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021

pas plus simple de remplacer les trois champs DATE, Mois de, ANNEE par un champ de type "date"?

PERIODICITE: quel est le type du champ, que contient-il exactement?

Nobbre_Jour: très étrange... avant la première échéance de quoi?
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021
>
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021

Sur un bulletin de paie, la période de paie doit être mensionnée, c'est la raison pour laquelle j'ai choisi MOIS de qui représente le mois ( janvier, février, mars etc...)
Périodicité est de type Texte ( mensuel ou hebdomadaire, trimestriel)
Je m'explique pour le Nombre_jour: supposons qu'un prêt soit accordé aujourd'hui le 16 septembre 2021 et que le prémier prélèvement soit prévu pour le 30 septembre 2021, le nombre_jour: = ( 30-16) =14
Essayez de bien le lire, je réponds à la même question plusieurs fois
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021
900 >
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021

le nom du mois peut être facilement déduit à partir d'un champe de type date.

faut-il vraiment organiser un prélèvement hebdomadaire alors que le salaire est payé mensuellement? il faudra alors prévoir d'autres champs pour gérer cela.

comment ce champ Nombre_jour peut-il se trouver dans la table PAIE?
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021
>
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021

Pour ce qui est de la date, je vous informe que, nous pouvons être en septembre et préparer la paie du mois de octobre et même celle de novembre, c'est pour cela que j'ai prévu MOIS de

En ce qui concerne la périodicité, on va considérer un prélèvement mensuel car le salaire est mensuel

Nombre_jour étant un champ calculé, on va le prévoir dans une requête
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021
900 >
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021

La date dont je parle, ce n'est pas la date du jour, c'est une date qui représente le mois de la paie. C'est la date qui permettra de déterminer quels prélèvements il faut effectuer.

C'est très bien de préparer la paie de novembre aujourd'hui, si tu es certain qu'il n'y aura aucun changement, par exemple un nouveau prêt, entre-temps.
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021

ok ; je suis partant pour cette date et on fera la paie au mois le mois enfin de prévoir les changements

je m'excuse ; je reviens sur nombre_jour; c'est le nombre de jour effectué par le travailleur dans le mois ; il permet de calculer le salaire de base du travailleur
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021
>
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021

Ok ;cest bien noté ; aussi je constate que quand un employé a plusieurs prêts et que le bulletin est crée ma requete affiche plusieurs bulletins de paie avec le même numéro ; je pense ce n’est pas normal
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021
900 >
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021

je pense que cela indique qu'il faut améliorer la requête.
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021
>
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021

avez vous regardé les relations ; est ce qu'elles sont logiques ?
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021
900 >
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021

quelles relations dans quelle requête? je n'ai pas vu de requête adaptée à la nouvelle structure des tables (PERIODICITE, etc...).
ni n'ai vu de requête tenant compte des dates des prélèvements.
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021
>
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021

voici les relations entre les tables:

Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021

voici le code de la requete qui affiche les salaires:

SELECT PAIE.NUMERO_BULLETIN, PAIE.Date, PAIE.CODE_EMPLOYE, EMPLOYE.NOM_EMPLOYE, EMPLOYE.TAUX_TRANSPORT, EMPLOYE.NUMERO_CNPS, EMPLOYE.PRENOM_EMPLOYE, EMPLOYE.TAUX_TRANSPORT, EMPLOYE.TITRE, EMPLOYE.ADRESSE, EMPLOYE.EMPLOI_OCCUPE, EMPLOYE.ID_SERVICE, SERVICE.DESIGNATION_SRVICE, EMPLOYE.ETABLISSEMENT_BANCAIRE, EMPLOYE.NUMERO_COMPTE_BANCAIRE, EMPLOYE.ID_CATEGORIE, CATEGORIE.LIBELLE_CATEGORIE, CATEGORIE.TAUX_CATEGORIEL, PAIE.NOMBRE_JOUR, PAIE.SURSALAIRE, [NOMBRE_JOUR]*[TAUX_TRANSPORT] AS TRANSPORT, PAIE.AUTRES_INDEMNITES, PAIE.CONGES, PAIE.[PRIME_D'ANCIENNETE], [NOMBRE_JOUR]*[TAUX_CATEGORIEL] AS [SALAIRE CATEGORIEL], [SALAIRE CATEGORIEL]*0.012 AS ITS, PRET.MONTANT_PRET, PAIE.GRATIFICATION, PRET.NOMBRE_ECHEANCE, [MONTANT_PRET]/[NOMBRE_ECHEANCE] AS MENSUALITE, [SALAIRE CATEGORIEL]+[CONGES]+[PRIME_D'ANCIENNETE]+[SURSALAIRE]+[GRATIFICATION] AS [SALAIRE BRUT], [SALAIRE BRUT]-[ITS] AS [SALAIRE NET], [SALAIRE NET]+[TRANSPORT]-[MENSUALITE] AS [NET A PAYER], EMPLOYE.VILLE, [DATE_DEBUT_REMBOURSEMENT]+[NOMBRE_ECHEANCE]*30 AS [DATE FIN REMBOURSEMENT]
FROM SERVICE INNER JOIN (((CATEGORIE INNER JOIN EMPLOYE ON CATEGORIE.ID_CATEGORIE = EMPLOYE.ID_CATEGORIE) INNER JOIN PAIE ON EMPLOYE.CODE_EMPLOYE = PAIE.CODE_EMPLOYE) INNER JOIN PRET ON EMPLOYE.CODE_EMPLOYE = PRET.CODE_EMPLOYE) ON SERVICE.ID_SERVICE = EMPLOYE.ID_SERVICE;

elle ne permet aussi de saisir le bulletin ; elle n’affiche que des informations
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021

Je pense que j'ai trouvé la solution à ma requête, en fait j'avais mis dans ma requête les tables PAIE et PRÊT et EMPLOYE dans la même requête croyant pouvoir saisie en même temps la paie et les prêts, mais j'ai créé maintenant deux requêtes séparément et les deux fonctionnent très bien
Ce qui reste à présent, c'est de faire apparaître la ligne de la mensualité prélevée dans le bulletin de paie
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021
>
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021

Moi je ne sais plus quoi faire, alors que vous dites que ça avance très bien
Je fais quoi pour la suite par rapport à cette requête ?
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021
>
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021

Bjr, j'ai tout essayé, mais je ne trouve toujours pas, je vous prie de bien vouloir me donner le nom du champ pour que je puisse avancer
Merci d'avance
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021
900 >
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021

dans ce contexte, DISTINCT ne devrait pas être utilisé, sauf pour cacher une errreur.
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021
>
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021

voici la requete:
SELECT DISTINCT REQ_PAIE.Date, REQ_PAIE.NUMERO_BULLETIN, REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.NOM_EMPLOYE, REQ_PAIE.TRANSPORT, REQ_PAIE.AUTRES_INDEMNITES, REQ_PAIE.CONGES, REQ_PAIE.[PRIME_D'ANCIENNETE], REQ_PAIE.[SALAIRE NET], Sum(REQ_PRET.[MENSUALITE RETENUE PRET]) AS [SommeDeMENSUALITE RETENUE PRET], [SALAIRE NET]+[TRANSPORT]-[MENSUALITE RETENUE PRET] AS [NET A PAYER]
FROM REQ_PAIE INNER JOIN REQ_PRET ON REQ_PAIE.CODE_EMPLOYE = REQ_PRET.CODE_EMPLOYE
GROUP BY REQ_PAIE.Date, REQ_PAIE.NUMERO_BULLETIN, REQ_PAIE.CODE_EMPLOYE, REQ_PAIE.NOM_EMPLOYE, REQ_PAIE.TRANSPORT, REQ_PAIE.AUTRES_INDEMNITES, REQ_PAIE.CONGES, REQ_PAIE.[PRIME_D'ANCIENNETE], REQ_PAIE.[SALAIRE NET], [SALAIRE NET]+[TRANSPORT]-[MENSUALITE RETENUE PRET];

Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021
>
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021

En #74# j'ai fait un lien entre les deux requêtes par le biais du champ code employé
Messages postés
16859
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 septembre 2021
900
Je n'ai pas été assez précis: c'est la déduction de la retenue pour l'emprunt qui doit se faire dans la quatrième requête plutôt que dans REQ_PAIE_PRET.
Tous les autres calculs peuvent rester dans REQ_PAIE_PRET.
Messages postés
280
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
21 septembre 2021

Je pense que les résultats sont bons maintenant; le seul problème c’est que quand il n'existe pas de prêt pour un employé la valeur du net a payer est null ; je souhaiterais avoir 0 dans le champ retenu pret pour que le net a payer ait une valeur sinon tout marche bien

SELECT REQ_PAIE_PRET.NUMERO_BULLETIN, REQ_PAIE_PRET.CODE_EMPLOYE, REQ_PAIE_PRET.NOM_EMPLOYE, REQ_PAIE_PRET.PRENOM_EMPLOYE, REQ_PAIE_PRET.GRATIFICATION, REQ_PAIE_PRET.CONGES, REQ_PAIE_PRET.NOMBRE_JOUR, REQ_PAIE_PRET.[SALAIRE BRUT], REQ_PAIE_PRET.ITS, REQ_PAIE_PRET.[SALAIRE NET], REQ_PAIE_PRET.[RETENUE PRET], REQ_PAIE_PRET.TRANSPORT, ([SALAIRE NET]+[TRANSPORT]-[RETENUE PRET]) AS [NET A PAYER]
FROM REQ_PAIE_PRET
GROUP BY REQ_PAIE_PRET.NUMERO_BULLETIN, REQ_PAIE_PRET.CODE_EMPLOYE, REQ_PAIE_PRET.NOM_EMPLOYE, REQ_PAIE_PRET.PRENOM_EMPLOYE, REQ_PAIE_PRET.GRATIFICATION, REQ_PAIE_PRET.CONGES, REQ_PAIE_PRET.NOMBRE_JOUR, REQ_PAIE_PRET.[SALAIRE BRUT], REQ_PAIE_PRET.ITS, REQ_PAIE_PRET.[SALAIRE NET], REQ_PAIE_PRET.[RETENUE PRET], REQ_PAIE_PRET.TRANSPORT, ([SALAIRE NET]+[TRANSPORT]-[RETENUE PRET]);