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

Résolu/Fermé
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 - Modifié le 14 sept. 2021 à 13:02
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 - 21 sept. 2021 à 22:57
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

yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
13 sept. 2021 à 13:27
bonjour,
le point de départ, c'est de structurer correctement les tables.
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
13 sept. 2021 à 15:17
Merci deja, est ce que je peux publier les relations entre les tables
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
13 sept. 2021 à 15:57
pourquoi pas? quelle st ta question?
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 > yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
13 sept. 2021 à 20:16
Voici les relation entre les tables en question
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
13 sept. 2021 à 20:22
quand les enregistrements sont-ils créés dans la table ENREGISTREMENT?
ce sont des prêts sans intérêt?
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
13 sept. 2021 à 20:36
il est également utile d'expliquer chacun des champs, cela aide à vérifier que la logique est correcte.
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
17 sept. 2021 à 19:14
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
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
17 sept. 2021 à 19:49
il est utile d'avoir un document qui décrive chacun des champs.
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 > yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
17 sept. 2021 à 20:35
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
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
17 sept. 2021 à 20:44
je pense que cela indique qu'il faut améliorer la requête.
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 > yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
17 sept. 2021 à 20:47
avez vous regardé les relations ; est ce qu'elles sont logiques ?
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
17 sept. 2021 à 21:37
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.
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
18 sept. 2021 à 01:46
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
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
18 sept. 2021 à 02:26
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
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
18 sept. 2021 à 08:35
qu'as-tu essayé pour faire apparaître la ligne de la mensualité prélevée dans le bulletin de paie?
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 > yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
Modifié le 18 sept. 2021 à 10:31
Je pense qu'il faut combiner les deux requêtes, enfin de voir la ligne mensualité dans le bulletin ainsi que le net à payer
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
18 sept. 2021 à 10:46
combiner quelles requêtes?
qu'as-tu essayé?
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 > yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
18 sept. 2021 à 11:06
Il s'agit des requêtes de PAIE et de PRET crée en <64> j'ai essaye mais quand l'employe à deux lignes de bulletins et plusieurs prets ; toutes ces lignes de bulletin et des prets apparaissent dans cette nouvelle requete
je suis planté
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
18 sept. 2021 à 13:07
montre les codes source des trois requetés.
je suppose que tu n'as pas utilisé les dates dans les jointures.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
20 sept. 2021 à 23:08
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.
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
Modifié le 21 sept. 2021 à 09:15
Ça marche très bien, voir la requête e' #104#sauf que quand, le retenue de prêt n'existe pas, le net a payer est aussi null, comment fair apparaitre 0 dans c'est deux champs quand un prêt n'existe pas
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
21 sept. 2021 à 02:34
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]);
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476
21 sept. 2021 à 12:42
Le plus propre est d'adapter la requête REQ_PAIE_PRET. Je suppose que tu as modifié la jointure, comme suggéré en #92 (LEFT JOIN au lieu de INNER JOIN), mais je n'ai pas vu la requête modifiée.

Dans cette requête, il faut utiliser nz() pour renvoyer 0 au lieu de null pour le champ correspondant à la retenue (quand il n'y a pas de prêt).
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 > yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
21 sept. 2021 à 14:29
voici la requete REQ_PAIE_PRET avec laquelle je n'arrive toujours pas a obtenir les regroupement:

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.PRENOM_EMPLOYE, REQ_PAIE.[SALAIRE BRUT], REQ_PAIE.TRANSPORT, REQ_PAIE.CONGES, REQ_PAIE.ITS, ([SALAIRE BRUT]-[ITS]) AS [SALAIRE NET], Sum(Nz([MENSUALITE RETENUE PRET],0)) AS [RETENUE PRET]
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.PRENOM_EMPLOYE, REQ_PAIE.[SALAIRE BRUT], REQ_PAIE.TRANSPORT, REQ_PAIE.CONGES, REQ_PAIE.ITS, ([SALAIRE BRUT]-[ITS]);

mais avec la requete SALAIRE obtenue avec la requete REQ_PAIE_PRET j'ai mes résultats
voic les instructions SQL
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], Nz([RETENUE PRET],0) AS PRET, REQ_PAIE_PRET.TRANSPORT, Nz(([SALAIRE NET]+[TRANSPORT]-Nz([RETENUE PRET],0)),0) 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], Nz([RETENUE PRET],0), REQ_PAIE_PRET.TRANSPORT, Nz(([SALAIRE NET]+[TRANSPORT]-Nz([RETENUE PRET],0)),0);
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
21 sept. 2021 à 14:44
REQ_PAIE_PRET me semble correcte, elle donne plusieurs lignes quand il y a plusieurs prêts?
moi j'y ferais
nz(Sum([MENSUALITE RETENUE PRET])) AS [RETENUE PRET]
, ce qui permettrait de retirer les nz') de la requête SALAIRE.

Je pense que tout le GROUP BY est inutile dans la requête SALAIRE, dan laquelle il n'y a aucune fonction d'agrégation (comme sum()).
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 > yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024
Modifié le 21 sept. 2021 à 16:22
Effectivement la requete; REQ_PAIE_PRET donne ceci et me semble correcte ;elle ne donne plus plusieurs ligne quand il y a plusieurs prêts ; dans ce cas pourquoi avons nous fait la requete SALAIRE ; je ne vois pas son utilité ; essayez de m'expliquer

la voici
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.PRENOM_EMPLOYE, 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.PRENOM_EMPLOYE, REQ_PAIE.[SALAIRE BRUT], REQ_PAIE.TRANSPORT, REQ_PAIE.CONGES, REQ_PAIE.ITS, ([SALAIRE BRUT]-[ITS]);
0
yg_be Messages postés 22723 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 25 avril 2024 1 476 > Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022
21 sept. 2021 à 17:03
L'explication est en #97: je pensais que tes connaissances ne te permettraient pas d'arriver à tout faire dans REQ_PAIE_PRET, que ce serait plus accessible en deux requêtes.
0