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

Modélisation Discussion :

Effectivité selon véhicule


Sujet :

Modélisation

  1. #1
    Membre à l'essai
    Effectivité selon véhicule
    Bonjour à tous,
    j'ai tout un défi à faire dans Access et je ne sais pas comment mi prendre.

    J'ai un champ avec des effectivités comme suit :



    Et j'aurais besoin d'éclater cette effectivité pour que puisse filter sur un véhicule en particulier et voir si l'effectivité est applicable ou non.

    Mettons que je fasse une recherche pour le véhicule MSN 70018 et je vois qu'il est compris dans la 1ere ligne de mon image, ainsi que la 2eme, 3eme.....

    Est-ce que c'est réalisable dans access ??

    Merci d'avance

  2. #2

  3. #3
    Membre à l'essai
    Salut f-leb, merci de m'avoir répondu.

    En fait, j'ai une table avec un champ effectivité ''MSN 70xxx-70xxxx'' et je pense que le plus simple c'est de prendre ce champ de l'importer dans une table "effectivité_éclaté"
    et qui remonte pour chaque véhicule un ''X'' si l'effectivité comprend ce véhicule. Comme le fichier excel en piece jointe.

    Apres c'est a moi de chercher comment je peux réconcilier les effectivités pour un véhicule et voir ce qui est applicable ou pas.


  4. #4
    Responsable Arduino et Systèmes Embarqués

    Mais comment envisages-tu les tables sous Access ?

    De mon côté je vois simplement une table Effectivité( NumVoiture, estEffectif(O/N) ), avec un champ de type Oui/non quand il y a effectivité sur le véhicule.
    Edit : Non, oublie ce que j"ai écrit, je raconte des conneries


    Edit2 : le schéma pourrait être :
    Effectivite-1-------∞-EffectiviteVehicule-∞-------1-Vehicule

    EffectiviteVehicule( #idEffectivite, #NumVehicule ) avec 1 ligne pour chaque croix 'X'

  5. #5
    Membre à l'essai
    ok, toi tu le ferais dans l'autre sens que mon fichier excel.

    Ca me dérange pas à vrai dire c'est aucune idée précise sur le sujet. Je veux juste comprendre comment ''éclater'' l'effectivité pour pouvoir retrouver un véhicule en particulier et le retrouver partout ou j'ai l'effectivité qui le comprend.

    Malheureusement, la compagnie pour laquelle je travaille a mit en place cette maniéré de fonctionner pour les effectivités et c'est compliqué de faire des recherches pour un véhicule donnée.

    As tu une idée de comment bâtir cette table ?

  6. #6
    Expert éminent
    bonsoir,

    En fait, j'ai une table avec un champ effectivité ''MSN 70xxx-70xxxx'' et je pense que le plus simple c'est de prendre ce champ de l'importer dans une table "effectivité_éclaté"
    sauf que tous les enregistrements ne sont pas dans le "modèle standard" que tu présentes (voir ton premier tableau).
    Or, se sont souvent les cas particuliers qui ne sont pas montrés (voir le fichier Excel) qui posent le plus de problèmes puisqu'il vont générer du code supplémentaire pour pouvoir les traiter.
    Comme par exemple en ligne 10, les numéros sont sur 2 lignes et contiennent des identifiants non conformes (GYA400), (GYA900):
    MSN 70013 (GYA400)
    MSN 70006, 70009, 70010, 70011 (GYA900)
    en ligne 409, il y a une erreur de saisie, un code contient 6 chiffres (700011) au lieu de 5 ( et je n'ai pas indiqué la ligne 7 qui n'en contient que 2):
    MSN 70007-70009, 700011-70023
    en ligne 457 le caractère de séparation n'est pas conforme, on a "/" au lieu de ",":
    MSN 70005, 70009, 70010, 70012 / 70043-79999
    difficile de construire un algorithme d'éclatement avec un fichier peu fiable
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  7. #7
    Responsable Arduino et Systèmes Embarqués

    Il y a le stockage et la présentation des données.

    Pour le stockage dans Access :


    Avec l'échantillon de données suivant la table de jonction :


    Il est très simple de retrouver un véhicule en particulier :
    Code sql :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT EffectiviteVehicule.idEffectivite
    FROM EffectiviteVehicule
    WHERE numVehicule='70010';

    Va te retourner 1 et 4.

    Après, si tu veux une présentation façon Excel mais dans Access avec des croix et les véhicules en entêtes de colonne, tu peux voir du côté des requêtes 'Analyse croisée'.

    Ensuite, il te faudra peut-être des traitements VBA pour échanger les données depuis ou vers Excel.

  8. #8
    Responsable Arduino et Systèmes Embarqués

    Hello tee_grandbois,

    Citation Envoyé par tee_grandbois Voir le message
    sauf que tous les enregistrements ne sont pas dans le "modèle standard" que tu présentes (voir ton premier tableau).
    Or, se sont souvent les cas particuliers qui ne sont pas montrés (voir le fichier Excel) qui posent le plus de problèmes puisqu'il vont générer du code supplémentaire pour pouvoir les traiter.
    Du coup ne serait-il pas préférable de parcourir les croix 'X' du tableau Excel pour importer dans Access ? A voir...

  9. #9
    Membre à l'essai
    C'Est pour ca que je vais mettre en place une obligation de renseigner les effectivités toujours de la meme maniere, parce que ca devient de plus en plus ingérable ! et je suis totalement en accord avec ce que tu as écris


    Citation Envoyé par tee_grandbois Voir le message
    bonsoir,
    sauf que tous les enregistrements ne sont pas dans le "modèle standard" que tu présentes (voir ton premier tableau).
    Or, se sont souvent les cas particuliers qui ne sont pas montrés (voir le fichier Excel) qui posent le plus de problèmes puisqu'il vont générer du code supplémentaire pour pouvoir les traiter.
    Comme par exemple en ligne 10, les numéros sont sur 2 lignes et contiennent des identifiants non conformes (GYA400), (GYA900):

    en ligne 409, il y a une erreur de saisie, un code contient 6 chiffres (700011) au lieu de 5 ( et je n'ai pas indiqué la ligne 7 qui n'en contient que 2):

    en ligne 457 le caractère de séparation n'est pas conforme, on a "/" au lieu de ",":

    difficile de construire un algorithme d'éclatement avec un fichier peu fiable

  10. #10
    Expert éminent
    bonsoir f-leb,
    Du coup ne serait-il pas préférable de parcourir les croix 'X' du tableau Excel pour importer dans Access ? A voir...
    oui mais les croix ont été obtenues à partir des données saisies en colonne A (voir macro Excel du classeur en pièce jointe) qui contient les erreurs que j'ai citées ... est-ce plus fiable ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...

  11. #11
    Responsable Arduino et Systèmes Embarqués

    Citation Envoyé par tee_grandbois Voir le message
    oui mais les croix ont été obtenues à partir des données saisies en colonne A (voir macro Excel du classeur en pièce jointe) qui contient les erreurs que j'ai citées ... est-ce plus fiable ?
    Ah ok, je n'avais pas bien compris alors, dans ma tête c'était plutôt l'inverse et cette colonne était un champ calculé à partir des croix

  12. #12
    Membre à l'essai
    Bonjour Messieurs,

    désolez pour le délai de ma réponse, je dois créer un État dans Access en parallele pour mon département de finances...

    Je vais me repenchez sur le sujet effectivité d'ici lundi prochain avec la solution de f-leb voir si je peux faire quelque chose d’intéressant avec.

    Merci encore