|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Enseignant Inscription : janvier 2007 Messages : 516 ![]() |
Bonjour.
J'aimerais vous soumettre un petit problème. Dans ma base de données, j'ai une table "Personnel", qui reprend mon personnel. A cette table sont liées plusieurs autres tables. Mon problème est le suivant : Lorsqu'un membre du personnel a terminé de travailler chez moi ( par exemple, un intérimaire ou quelqu'un à l'essai ), son contrat terminé, je n'ai plus besoin de le retrouver avec les autres membres du personnel, je peux le supprimer. Jusque là, pas de problème, j'arrive encore à supprimer un enregistrement. Ce que je souhaite faire, c'est de déplacer ce membre du personnel et ses données ( ainsi que celles des tables liées ) dans une autre table. Est-ce possible dans Access ? Et, si cela est possible, pouvez-vous me dire comment procéder ? Je suppose aussi que je peux faire un retour : quelqu'un que j'aurais déplacé dans les anciens pourrait très bien revenir. Dans ce cas, puis-je aussi le redéplacer dans les "actifs"? Un tout grand merci à l'avance pour votre aide. PS : Je n'ai que la version 2000 de Access |
|
|
00
|
|
|
#2 |
![]() ![]() |
Bonjour
Oui, va lire ce post, j'ai expliqué la démarche à suivre http://www.developpez.net/forums/sho...hlight=archive Ou fait une recherche sur Archive. Starec |
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() |
Bonjour,
Loin d'être aussi exprimenté que Starec et surtout n'ayant pas non plus lu ses écrits... J'ai une base avec une gestion de personnel et de missions basée sur le même esprit... Personnllement, j'utilise un formulaire avec un développement selon treview. Ainsi cela me permet d'affecter diverses requêtes à chaque noeud de l'arborescence dans lesquelles je spécifie where = ancien... where = nouveau... et qui de ce fait "déplace" l'élément vers le bon niveau... |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : mai 2005 Messages : 3 419 ![]() |
normalement on ne retire jamais personne d'un fichier du personnel
dans une table effectif ou contrat on se contente de noter la date de départ le seul test sera alors where datedep is null
__________________
Elle est pas belle la vie ? |
|
|
00
|
|
|
#5 |
![]() ![]() |
Re
D'accord avec Random, par contre au bout d'un moment tu peux archiver, avec la méthode que je t'ai indiqué. Par contre pour garder le personnel, renseigne toi s'il n'y a pas une histoire de législation, garder les informations sur une personne qui a travaillé un certains temps. Starec |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Enseignant Inscription : janvier 2007 Messages : 516 ![]() |
Pas de problème pour la législation. Je suis conscient du fait que je dois garder les personnes un certain temps. Je souhaite simplement prévoir ce cas de figure...
|
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Enseignant Inscription : janvier 2007 Messages : 516 ![]() |
J'ai fait des recherches, des essais, .... mais rien ne va ... et je ne comprends pas tout. Pouvez-vous me dire comment faire pour ( dans mon fomrulaire principal ) : 1) Sélectionner un enregistrement X ( = une personne ) 2) Transférer cet enregistrement X ( et uniquement celui-là ) de sa table de base ( "TableA" ) ( et donc le supprimer de la table A ) vers une autre table ( "TableB" ) ? ( Et je suppose que la démarche inverse sera possible... ). Merci |
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() |
Bonjour,
Je ne comprends pas pourquoi tu as deux tables. Avoir une liste des employés UNIQUE avec un champ de type [Statut] ou tu aurais Actif, ancien, nouveau, inactif... enfin tout ce que tu veux ou encore plus simple un champ vrai faux... vrai = ancien et faux = nouveau.. Tu fais deux requêtes sur cette table en mettant successivement les deux conditions et le tour est joué. Tu n'as ainsi pas à t'embêter avec deux tables... Tous les employés d'une société anciens ou nouveaux restent des employés d'une société.. donc une table ! |
|
|
00
|
|
|
#9 | |
|
Membre habitué
![]() Enseignant Inscription : janvier 2007 Messages : 516 ![]() |
Citation:
Quant aux requêtes : Je suppose donc que j'ajoute dans ma table un champ de plus ( "Ancien?" - "Oui/non" ). Ensuite, je crée deux requêtes : une pour ancien = non, l'autre pour ancien = oui. Jusque là, OK. Mais comment faire pour que, dans mon fomulaire principal, il ne m'affiche que les anciens ? |
|
|
|
00
|
|
|
#10 |
|
Membre habitué
![]() |
Bonjour à toi,
Oh ne t'inquiète on a tous "ramé" moi le premier et je me pose encore beaucoup plus de questions que j'en ai résolues !!! Donc je résume : tu as une table, avec le champ par exemple [Ancien] vrai/Faux soit donc une sorte de case à cocher. Tu fais une requête de type R_Employés_Anciens ou dans le champ de ta requête tu mettras Vrai pour n'avoir que les anciens et tu crées ton formulaire à partir de cette requête... N'oublie pas de mettre la case à cocher dans ton formulaire afin d'avoir la possibilité de la décocher et de passer ce membre dans "Non ancien"... sinon tu serais obligé à chaque fois d'aller dans ta table pour gérer le statut. OK ? |
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Enseignant Inscription : janvier 2007 Messages : 516 ![]() |
Et je suppose qu'alors, je dois créer un nouveau formulaire... avec comme base, non plus la table, mais la requête.
Autre question qui se pose dès lors : J'ai une macro qui est imprimer un état pour tout mes membres du personnel... Comment faire pour me limiter à imprimer tous les actifs... sans les anciens ? Modifier ma macro avec "where"=ancien=non??? |
|
|
00
|
|
|
#12 |
|
Membre habitué
![]() Enseignant Inscription : janvier 2007 Messages : 516 ![]() |
Re
J'ai créé un champ [Ancien] avec [oui/non] dans ma table J'ai créé une requête pour chaque situation : R_Ancien_Oui R_Ancien_Non J'ai créé aussi deux formulaires sur base des requêtes : F_Anciens ( ancien est coché ) F_Actifs ( ancien n'est pas coché ) Mais si je peux ajouter des membres dans chacun de ces formulaires, lorsque je les ferme et que je les rouvre, ils restent vides. |
|
|
00
|
|
|
#13 |
|
Membre habitué
![]() |
Bonjour,
Là c'est un problème de conception... Cela ne me paraît pas très dynamique de faire un formulaire pour les anciens et un form pour les nouveaux... Tu as plusieurs façons de faire apparaître les données... Soit un formulaire unique ou toutes les données d'un employé et d'un seul apparaissent soit un formulaire continu ou les employés apparaissent sur des lignes successives. exemple tu pourrais baser ce form continu sur la requête Actifs. et ainsi tu ne verrais que la liste des actifs. C'est à toi de décider... Maintenant le fait de garder un formulaire unique pour consulter une fiche à la fois n'empêche pas de mélanger les anciens et les actifs puisque ton champ (ta case à cocher) pourrait apparaitre sur ton formulaire "cochée" ou non cochée" selon que la fiche correspond à un actif ou à un ancien. un petit conseil par ailleurs. Tu peux aussi évitre d'être restrictif en évitant le oui non et en mettant une liste déroulante du type ancien, nouveau, intérimaire, intermittent... gardant ainsi un caractère plus évolutif au cas où des items se rajouteraient. Bon courage |
|
|
00
|
|
|
#14 |
|
Membre habitué
![]() Enseignant Inscription : janvier 2007 Messages : 516 ![]() |
Merci à tous pour vos réponses !
__________________
DamKre Un responsable informatique finit toujours par être considéré : - soit inutile, puisque ça marche, - soit incompétent, puisque ça ne marche pas. (Sagesse populaire) |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com