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 :

requête max sur plusieurs champs


Sujet :

Access

  1. #1
    Membre régulier
    Avatar de logica
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Mars 2003
    Messages : 160
    Points : 80
    Points
    80
    Par défaut requête max sur plusieurs champs
    Bonjour,

    j'ai plusieurs champs de même type et je veux récupérer le max de ces champs sur un enregistrement.

    exemple: pour un enregistrement j'ai plusieurs plages horaire et un volume horaire par plage et je veux récupérer le volume horaire le plus grand de cet enregistrement

    hors la requête max prend 1 seul champ en argument, comment optimiser mon problème ?

    merci d'avance pour votre aide
    logica

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    tu pourrais essayer une fonction comme celle ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Function monmax(ParamArray u() As Variant) as variant
    Dim v As Variant
    Dim maxi As Variant
    maxi = -10 ^ 300
    on error resume next
    For Each v In u
    If Not IsNull(v) And v > maxi Then maxi = v
    Next v
    on error goto 0
    monmax = maxi
    End Function
    on pourrait d'ailleurs l'améliorer en minimax la fonction accepte tous types d'objets c'est inutile de lui adresser des objets autres que des
    grandeurs numériques ou des chaînes

    il suffit ensuite dans le qbe de faire maxi:monmax([champ1];....[champn])
    Elle est pas belle la vie ?

  3. #3
    Membre régulier
    Inscrit en
    Août 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 116
    Points : 105
    Points
    105
    Par défaut
    salut,
    sinon, si tu ne veux pas faire de code, j'ai ça qui fonctionne:
    si tu as une table1(ch1, ch2, ch3)
    tu fais une requete union
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT Max(ch1) as chmax
    FROM Table1
    union 
    SELECT Max(ch2) as chmax
    FROM Table1
    UNION 
    SELECT Max(ch3) as chmax
    FROM Table1;
    puis une requete qui l'appelle:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT max(chmax)
    FROM requete_union;
    mais tu dois changer requete_union qd tu changes les champs...d'où l'intérêt du code!
    à+
    b.

  4. #4
    Membre régulier
    Avatar de logica
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Mars 2003
    Messages : 160
    Points : 80
    Points
    80
    Par défaut
    merci bcp

    la fonction va faire ça très bien !

    pour les requêtes imbriquées j'y avais pensé mais j'ai bcp trop de champs donc optimisation moyen
    merci quand même
    logica

Discussions similaires

  1. [PDO] Requête SELECT sur plusieurs champs
    Par mathws dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 08/03/2009, 20h08
  2. Requête faite sur plusieurs champs provenant de plusieurs tables
    Par olivier777 dans le forum Requêtes et SQL.
    Réponses: 8
    Dernier message: 14/05/2008, 17h34
  3. Requête : distinct sur plusieurs champs
    Par bractar dans le forum Langage SQL
    Réponses: 13
    Dernier message: 08/06/2007, 19h54
  4. requête condition sur plusieurs champs
    Par grinder59 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 23/02/2007, 13h52
  5. [Requête] fonction Max sur 2 champs
    Par GIPPE dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 17/01/2007, 09h59

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