|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 4 ![]() |
Bonjour tous le monde
j ai un problème avec ma base de donnée access j ai crée une DDB qui gère la paie pour les ouvriers alors voilà comment ça marche J ai crée une table « ouvrier » qui contient les info sur les ouvriers ou il y a un champs nommé tarif heur ça veut dire le nombre d heur saisie * tarif heur exemple (8h*1.5euro=12euro) J’ai rentré beaucoup d enregistrements et tout fonctionne correctement mais le problème que j ai dernièrement est le suivant : j’ai augmenté le tarif horaire pour quelques ouvriers, j ai mis 2euro au lieux de 1.5euro ce qui fait que j ai modifié le tarif dans la table ouvrier. Alors si je veux éditer les anciens bulletins de paie, je trouve que le programme ne garde plue l ancien tarif horaire, il prend le nombre d’heures déjà enregistré avec l ancien tarif et il le multiplier par les nouveaux tarifs donc j ai plus l historique. Est ce que vous pouvez m aidé a résoudre ce problème Merci d avance |
|
|
00
|
|
|
#2 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 482 ![]() |
Il faut que tu crée une table des tarifs horaires qui contient au moins
CodeTauxHoraire TauxHoraire DateValiditeDebut (Champ optionnel) DateValiditeFin (Champ optionnel) Quand tu saisi la paye de tes employés tu indique quel taux horaire appliquer et tu te sert de ce code pour retrouver le taux. Ta table des paye devrait ressembler à : CodeEmploye DatePaye NbHeure CodeTauxHoraire Pour simplfier ta saisie tu pourrais associer le CodeTauxHoraire et le CodeEmploye (par exemple dans la table des employes) MAIS tu dois conserver l'information CodeEmploye, CodeTauxHoraire) dans ta table de paye pour pouvoir avoir différents taux horaire associés à un même employé. Un autre méthode consite à travailler avec les dates de validité des taux horaire. La paye du 30 mai utilise les taux horaires dont la date début de validité <= 30 mais et date de fin de validite >= 30 mai. A+ |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : mai 2004 Messages : 198 ![]() |
C normal parceque la source du contrôle "tarif heure" est unique, aussi vous allez rencontrer un autre problème c que la date de la paie ne doit pas être unique, alors;
1- Tu gardes ta table "ouvrier" contenant les éléments fixes comme (matricule, nom, date naiss, n° identité...) 2- Tu crées une autre table nommée "mensualité" contenant (matricule, date de la paie, nbre d'haures travaillées, taux horaire, qualification...) Le matricule de la table ouvrier est une clé primaire et le matricule de l'autre table est avec doublon. 3- Tu crées la relation entre les 2 matricules 4- Tu crées une requête simple et tu insers les champs des 2 tables 5- Tu crées un formulaire de type "tableau croisé dynamique" en se basant sur cette requête 6- Tu auras un formulaire avec un sous-formulaire automatiquement Par la suite ton calcul sera basé sur le sous-formulaire bonne chance |
|
|
00
|
|
|
#4 |
|
Membre habitué
![]() Inscription : mai 2004 Messages : 198 ![]() |
Voilà un exemple, et vous pouvez ajouter un autre état d'une autre façon de regroupement exp: suivant le mois, aussi tu peux parametrer ta req avec des dates pour afficher l'état selon une période donnée bonne chance
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 4 ![]() |
Ok merci beaucoup
Pour ma base voilà comment elle est Table ouvrier Num_ouvrier clé primaire Nom Num_cin Date_embauche Photo Tarif_heur Taux_amo Table travail Num_travaill numauto Num_ouvrier clé primaire Nmbr_heur Heur_sup Date_du_jour Prime Avance Requete paie Date_du_jour date system Num_ouvrier Nom_ouvrier Nmbr_heur Heur_sup Avance Prime Net du jour champ calculs (nbr_heur + heur_sup * tarif_heur) Solde champ calcul ( net du jour + avance + prime) Apres j ai une requete bulletin de paie basé sur requete paie Plus état bulletin et billetteries |
|
|
00
|
|
|
#6 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 482 ![]() |
Le problème avec ta structure c'est que tu n'as qu'un seul taux horaire (dans la table ouvrier).
Le plus simple me parait de créer un champ Tarif_heur dans la table Travail. Chaque fois que tu ajoute un enr dans Travail tu vas chercher le Tarif_Heur de Ouvrier, puis tu utilise le Tarif_Heur de Travail pour calculer la paye. Quand tu fais un changement de tarif_heur, tu le fais dans Ouvrier et tes lignes dans Travail restent inchangées. Tu peux donc réimprimer les bultins des mois aprés les augmentations. Ça ne devrait pas provoquer trop de modif dans ton appli. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 4 ![]() |
Ok alors si je créé un champs trif_heur dans la table travaille comment je peux créé une liaison entre eux
Est ce que je créé une relation avec clé primaire entre les deux ou bien je fais assistant liste de choix dans le champs trif_heur de la table travail |
|
|
00
|
|
|
#8 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 482 ![]() |
Tu ne crées pas de laison à proprement parlé, tu entre la valeur voulu (ex : 8 Euros). La solution d'une liste déroulante est en effet la plus simple.
A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mai 2007 Messages : 4 ![]() |
merci a tous j'ai résolu le pb
j'ai cree un champs tarif dans la table travail sur le formilair de saisie j'ai cree un code d'evenement sur ce champs qui cert a copie le tarif heur de la table ouvrier et le coller dans la champs tarif et voila la base garde tjrs l'historique calculs |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com