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 :

Classement entre plusieurs tables


Sujet :

Access

  1. #1
    Membre à l'essai
    Homme Profil pro
    PMO
    Inscrit en
    Septembre 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : PMO

    Informations forums :
    Inscription : Septembre 2016
    Messages : 22
    Points : 14
    Points
    14
    Par défaut Classement entre plusieurs tables
    Bonjour,

    Je souhaiterai pouvoir faire un classement entre plusieurs tables dans une table récapitulative.

    Je vais essayer d'être simple dans mon explication.

    J'ai 4 tables.

    1 Table récapitulative (TRécap) avec un champ numérique de 1 à 10 (nombre de Produit) et une date prévisionnelle de livraison (DatePrev)

    3 Tables (soit : TMarque1, TMarque2, TMarqu3) qui me donne la date de livraison (DateLiv) par marque,

    sachant que dans la TMarque1 j'ai 3 produits, dans la TMarque2 j'ai deux produits et dans TMarque3 j'ai 5 produit.

    Cependant tout les produits n'ont pas de DateLiv.

    Je voulais savoir si'il était possible de classer ces 10 produits sachant que tout les produits n'ont pas de DateLiv et que je dois comparer la DatePrev pour avoir un classement des plus justes.

    Pas très simple

    Cordialement

    MaelF

  2. #2
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2015
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Décembre 2015
    Messages : 217
    Points : 356
    Points
    356
    Par défaut
    Salut,

    D'abord, pourquoi as tu 3 tables TMarque ? Si il y a les mêmes type données dedans, il serait préférable de faire une seul table TMarque et dissocier le type de chaque produit par un table TCategorie ou TType.

    Sinon tu peux faire une requête union pour regrouper ces 3 tables au lieu de faire une table recapitulative.

  3. #3
    Membre à l'essai
    Homme Profil pro
    PMO
    Inscrit en
    Septembre 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : PMO

    Informations forums :
    Inscription : Septembre 2016
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Ok, j'ai tout regroupé dans une et même table,

    Donc, j'ai une table TType (avec comme champ, Numéro (de 1 à 10), Marque (Trois marque différentes), DateLiv (Quand j'en ai une)
    Et une seconde table avec TRecap (Numéro (de 1 à 10), DatePrev (Champ Non Null)

    L'idée est de pouvoir faire une classement avec comme critère :

    utiliser la datePrev lorsque la DateLiv est null

    et lorsque DateLiv Non Null utiliser cette dernière et ne pas perendre en compte la DatePrev

    Est-ce possible ?

    MaelF

  4. #4
    Membre averti
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Décembre 2015
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Décembre 2015
    Messages : 217
    Points : 356
    Points
    356
    Par défaut
    Oui tu peux, tu fais une requête contenant tes deux tables, tu choisis les champs que tu veux voir apparaître puis tu ajoutes un champ qui va contenir une formule pour tester tes dates.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TonChamp : VraiFaux(EstNull([TType].[DateLiv]);[TRecap].[DatePrev];[TType].[DateLiv])
    Si la valeur de DateLiv est Nulle alors on prend DatePrev sinon on garde DateLiv

    Ensuite tu changes le type de tri sur ce champ, croissant ou décroissant.

  5. #5
    Membre à l'essai
    Homme Profil pro
    PMO
    Inscrit en
    Septembre 2016
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : PMO

    Informations forums :
    Inscription : Septembre 2016
    Messages : 22
    Points : 14
    Points
    14
    Par défaut
    Merci,

    Ensuite j'ai réalisé une requête de sélection avec un tri décroissant.

    J'ai ajouté cette sélction dans une table avec un numéro automatique qui commence toujours par 1 et ça fonctionne

    Je suppose qu'il y a plus simple mais j'ai pas trouvé

    Amicalement

    MaelF

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Requête] Sommes entre plusieurs tables
    Par Ithilien dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 05/01/2007, 15h34
  2. somme entre plusieurs tables
    Par copin dans le forum Access
    Réponses: 1
    Dernier message: 05/06/2006, 13h03
  3. jointures externes entre plusieurs tables
    Par hacksi dans le forum Access
    Réponses: 22
    Dernier message: 15/05/2006, 16h26
  4. Relations entre plusieurs tables bloquent un état
    Par aujero dans le forum Access
    Réponses: 5
    Dernier message: 07/02/2006, 12h07
  5. [Débutant] requete entre plusieurs tables
    Par xufux dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/08/2005, 14h00

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