IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Problème de point de vue avec la direction


Sujet :

Access

  1. #1
    Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Mai 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Comptable
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mai 2015
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Problème de point de vue avec la direction
    Bonjour,

    Je voudrais avoir des conseils concernant un point de vue différent avec mon patron. Je ne suis pas un grand spécialiste d'Access mais je viens d'intégrer l'entreprise pour gérer son parc automobile.

    Pour faire simple. Il veule que le parc automobile soit à jour car le fichier excel est obsolète et aussi mettre les infos pour gérer les coûts du parc par code analytique.


    A ce jour,

    Un véhicule peut etre conduit pas 1 ou plusieurs personne( congé payé,sorti d'une personne de l'entreprise, etc.....) et une personne à un seul véhicule sauf si ce véhicule est détruit ou en réparation.
    Une personne peut etre affilier à un ou plusieurs codes analytiques et forcement un code analytique peut avoir une ou plusieurs personnes dessus.

    Il s'agirait donc de pouvoir référencer à une date donnée quel secteur d'activité est sur ce véhicule et ainsi affilier les couts analytique sur les véhicules en fonction des personnes.



    Je songeait à faire cela:


    Entité Véhicule
    Entité Personnel
    Entité Secteur activité



    Entité véhicule(1,n)------------CONDUIRE(avec une date affiliation entrée et une date sortie dans l'association)------------(1,n)Entité personnel.
    Entité personnel(1,n)----------APPARTIENT( avec aussi une date entrée sortie dans l'association)------------(1,n)Entité Secteur activité.

    Pour les couts, je pourrais les intégrés ensuite c'est juste pour la base.

    Mon patron lui pense que c'est trop compliqué et qu'il faut faire comme cela:


    ENtité véhicule(1,n)---------Conduire----------(1,1) Entité personnel et une troisiéme entité DATE comme cela à une date donnée on a tel personne sur tel véhicule
    ENtité personnel(1,1)-------Appartient--------(1,n) Entité secteur activité avec une troisième entité DATE pour dire qu'a tel date on a tel ou tel personne sur ce code analytique.






    Si vous avez d'autres questions ou si vous avez plus simple dites le moi mais moi je pense que la première version est mieux car sinon on aura des entité date partout et je ne vois pas trop l’intérêt sachant que les entité DATE vont se superposé puisque cela sera la même date.


    Je vous remercie pour votre réponse.

    Cordialement.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    une personne à un seul véhicule sauf si ce véhicule est détruit ou en réparation.
    Est-ce que la relation est maintenue entre la personne et un véhicule détruit ou en réparation ?

    À priori il va aussi te falloir une notion d'état de voiture. Quelque chose comme Fonctionnel, En réparation et Détruit.

    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.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Bonjour,

    Vous avez un problème de logique à résoudre, ou à limiter en tant que règle de gestion :
    Une personne peut etre affilier à un ou plusieurs codes analytiques et forcement un code analytique peut avoir une ou plusieurs personnes dessus.
    Car si à un instant "T" un véhicule est conduit par une seule personne, mais si ce dernier peu-être affilier à plusieurs codes analytique, comment affecter les coût du véhicule sur le bon code ???

    Il faut vous poser les question de règle de gestion à un instant "T", mais aussi dans le temps.
    En autre, comment répartir des coûts sur un véhicule, qui vient d'être changer de "conducteur" ?
    Même si vous avez des dates, ou des période, il faudra bien dans ce cas savoir si vous voulez imputer les coût à l'ancien ou au nouveau conducteur ?
    Donc de définir une règle de gestion.

    Pour les schéma relationnel, je serai plus de votre avis, car les entêtées date ne ferons qu'alourdir le System et je ne suis même pas sur que vous arriviez a gérer votre base avec.
    Vous avez raison d'avoir des relation (1,n) au fil du temps et de gérer cela avec des dates.
    Maintenant est-ce juste des dates, ou des périodes, avec date de début et date de fin ?
    Ces périodes ont'elles le droit de se chevaucher ?
    Exemple, a un instant "T", un salarié peut'il être affecté à plusieurs secteurs d'activités ou pas ? Ou est-ce juste une possibilité au cours de sa carrière, mais il n'a à un moment qu'un seul secteur ?
    A t'on besoin de conserver l'historique de ses affectation le cas échéant ? (Je pense que oui, si on veux réconcilier après coup ou interroger la base pour la répartitions des coût a une date passée)

    Idem pour le véhicule, sur une période, peut'il être partagé entre plusieurs personne ?

    En répondant à ces questions, vous pourrez définir votre schéma relationnel

    Bon courage
    @+


    Pensez au tag

  4. #4
    Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Mai 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Comptable
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mai 2015
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour, désolé de ma réponse tardive mais j'ai eu pas mal de travail.



    Citation Envoyé par Didier L Voir le message
    Bonjour,

    Car si à un instant "T" un véhicule est conduit par une seule personne, mais si ce dernier peu-être affilier à plusieurs codes analytique, comment affecter les coût du véhicule sur le bon code ???
    Quand on enregistre les coûts d'entretien dans le logiciel CEGID, on le met sur la section analytique. Je pense que ça pourrait être pareil dans access en faisant dans sous formulaires dans la fiche véhicule.


    En ce qui concerne les dates, ce seront plutôt des périodes car le changement de section d'une personne sera possible mais rare. J'avais envisage de le faire par semaine pour ne pas alourdir le système.

    Non ces périodes ne se chevaucheront pas , à un instant "T", le salarié ne peut pas être sur 2 sections analytiques différentes. Nous avons avons défini ces cette règle pour simplifier la tâche. Pour garder historique, à voir car au bout d'un moment, il y aurait trop de données.La règle est la même pour les véhicules.



    Merci pour votre aide en tout cas , cela fait plaisir

  5. #5
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Bonjour,

    Je pense donc que votre analyse et approche est la bonne

    Bonne continuation.
    @+


    Pensez au tag

  6. #6
    Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Mai 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Comptable
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mai 2015
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonjour Didier,


    Je vous remercie pour votre réponse.

    J'ai effectué ma base en prenant en compte vos remarques mais après recherche d'une journée entière, je n'arrive pas a trouver une requête pour smasher entre les dates de la Table CONDUIRE( appeler AFFILIER dans la base) et APPARTENIR.

    Il faudrait que par exemple quand la personne est sur l'activité CABLAGE du 01/05/2015 au 23/05/2015 et ABONNE du 24/05 au 31/05/2015;qu'il utilise le véhicule XX-XXXX-XX du 01/05/2015 au 27/05/2015, on ai la solution suivant de la requête:


    IMMATRICULATION NOM PRENOM ACTIVITE DATE DEBUT DATE FIN
    XX-XXXX-XX DUPOND DUPONT CABLAGE 01/05/2015 23/05/2015
    XX-XXXX-XX DUPOND DUPONT ABONNE 24/05/2015 27/05/2015



    EN esperant que vous avez compris le principe.Je pense après trouver aussi le principe ou il y aurait d'autres personne sur le véhicule par exemple quand le premier est malade ou sorti de l'entreprise. En fait je ne connais pas la requête pour regrouper des dates par période.


    Je vous joint le fichier pour que vous puissiez voir. C'est un test pour le moment donc ne soyez pas trop dur avec la base qui est très moche mais qui est la juste pour voir comment je pourrais faire la requête.

    Merci.
    Fichiers attachés Fichiers attachés

  7. #7
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Bonjour,

    voila la requête si j'ai bien compris la demande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT [N°Immatriculation], Nom, Prénom, [Nom Secteur], IIf([Date Début Utilisation]<[Date Début affiliation],[Date Début affiliation],[Date Début Utilisation]) AS Debut, IIf([Date fin Utilisation]<[Date fin affiliation],[Date fin Utilisation],[Date fin affiliation]) AS Fin
    FROM SECTEUR INNER JOIN ((EMPLOYE INNER JOIN UTILISER ON EMPLOYE.[N° Matricule] = UTILISER.[N° Matricule]) INNER JOIN APPARTENIR ON EMPLOYE.[N° Matricule] = APPARTENIR.[N° Matricule]) ON SECTEUR.[Code Secteur] = APPARTENIR.[Code Secteur]
    WHERE ((([Date début affiliation])>=[Date Début utilisation] And ([Date début affiliation])<[Date fin utilisation])) OR ((([Date fin affiliation])>[Date Début utilisation] And ([Date fin affiliation])<=[Date fin utilisation])) OR ((([Date début affiliation])<=[Date Début utilisation]) AND (([Date fin affiliation])>=[Date fin utilisation]))
    ORDER BY [N°Immatriculation], IIf([Date Début Utilisation]<[Date Début affiliation],[Date Début affiliation],[Date Début Utilisation]);
    Ensuite voila une idée plus juste de votre schéma relationel
    Nom : Sans titre.png
Affichages : 154
Taille : 35,4 Ko

    Pour ce faire vous devez modifier la clé de la table sinistre et mettre un Numéro Auto pour l'ID et du texte pour le N° immatriculation
    Car je suppose qu'un véhicule peux avoir plusieurs sinistre
    En revanche pour la carte grise est-ce une relation 1 à 1 ( et dans ce cas pourquoi faire une autre table ?
    Ou une relation 1 à N ?
    @+


    Pensez au tag

  8. #8
    Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Mai 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Comptable
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mai 2015
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    C'est exactement ca!!!!

    Pouvez- vous m'expliquer si vous avez le temps comment vous avez fait car j'ai regarder mais je ne comprends pas toute la requête? J'ai mis une table Carte grise pour éviter que la table VEHICULE soit surcharger.

    Par contre, c'était juste une base, si j'ai des champs à rajouter dans la requête, j'ai juste à les rajouter en mode crétation et pas besoin de passer par le SQL?


    ET pour les sinistres, c'est plus simple comme vous l'avez fait.



    Vous êtes mon DIEU vivant Ca m'enleve une bonne épine du pied!!

  9. #9
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Vous êtes mon DIEU vivant Ca m'enleve une bonne épine du pied!!
    N’exagérons pas
    Mais

    Par contre, c'était juste une base, si j'ai des champs à rajouter dans la requête, j'ai juste à les rajouter en mode création et pas besoin de passer par le SQL?
    Oui, je vous ai donner la clause SQL car c'était plus simple , mais maintenant vous pouvez effectivement vous servir de l'assistant "créateur" de requête d'Access pour la faire évoluer et vous comprendrez peut-être plus facilement la requête.

    Dans un premier temps j'ai jouer avec les critère de sélection pour être sur d'être dans le bon intervalle d'utilisation du véhicule en fonction de l'affectation du salarié et ensuite, selon les cas j'ai sélectionne la bonne date de début et la bonne date de fin

    Ce n'est qu'une question de logique
    @+


    Pensez au tag

  10. #10
    Candidat au Club
    Homme Profil pro
    Comptable
    Inscrit en
    Mai 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Comptable
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Mai 2015
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Je n'avais jamais répondu à votre message et je m'en excuse.

    Je vous remercie pour votre information, cela marche très bien. Le patron s'est rendu compte que c'était plus simple par ma méthode grâce à votre requête.

    Cordialement.

Discussions similaires

  1. Problème de points de vue sur les sockets ?
    Par humitake dans le forum C++
    Réponses: 19
    Dernier message: 07/04/2011, 16h17
  2. Réponses: 3
    Dernier message: 07/09/2006, 12h00
  3. Réponses: 3
    Dernier message: 05/07/2006, 23h02
  4. problème avec la directive implements
    Par Bruno75 dans le forum Langage
    Réponses: 2
    Dernier message: 14/10/2005, 09h02
  5. Problème de compilation avec Borland : Direct Draw
    Par Burckel dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 26/09/2005, 18h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo