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

Requêtes et SQL. Discussion :

Valeur MIN d'un champ calculé


Sujet :

Requêtes et SQL.

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64

    Informations forums :
    Inscription : Octobre 2004
    Messages : 34
    Points : 15
    Points
    15
    Par défaut Valeur MIN d'un champ calculé
    Bonsoir,
    Je voudrais extraire avec une requête la plus petite valeur d'un champ calculé d'une autre requête.
    J'ai essayé avec la fonction MIN mais cela ne fonctionne pas, la requête me sort un nombre qui commence par un 1 comme s'il s'agissait d'un format "texte" ...
    Une idée ?
    Merci

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


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 780
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 780
    Points : 58 187
    Points
    58 187
    Billets dans le blog
    42
    Par défaut
    bonsoir,

    on peut voir le code SQL de la requête avec la fonction MIN ?

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64

    Informations forums :
    Inscription : Octobre 2004
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    N'étant pas un familier, je n'ai pas écrit de code, mais juste sélectionné la fonction MIN en mode création de requête. Voici le code SQL qui en résulte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT Min([ReqTempsFct].[HeuresFonc]) AS [MinDeHeuresFonc]
    FROM [ReqTempsFct];

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


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 780
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 780
    Points : 58 187
    Points
    58 187
    Billets dans le blog
    42
    Par défaut
    bonsoir,

    Citation Envoyé par micbett Voir le message
    ... comme s'il s'agissait d'un format "texte" ...
    apparemment, c'est bien ce qui se passe mais ça vient de ta requête [ReqTempsFct].

    Comment est obtenu [HeuresFonc] ? Quel est son type de données ? Est-il obtenu par un calcul ? Provient-il d'une table externe SQL Server, MySQL,.... ?
    As-tu éventuellement essayé avec les fonctions de conversion de type de données ?

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64

    Informations forums :
    Inscription : Octobre 2004
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Bonjour,

    Le champ [HeuresFonc] est le résultat d'une soustraction effectuée dans ma requête entre deux champs d'une table de ma base dont les types de données sont numériques (réel double)

    Dans Excel cela fonctionne très bien "=MIN(...)", je pensais donc que dans access il en serait de même ...

    Merci !

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


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 780
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 780
    Points : 58 187
    Points
    58 187
    Billets dans le blog
    42
    Par défaut
    bonjour,

    je ne comprends pas ce qui se passe

    Tu peux mettre un bout de ta base (compactée et zippée) en pièce-jointe pour faire des tests ?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64

    Informations forums :
    Inscription : Octobre 2004
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Je t'envoie ça demain, merci.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64

    Informations forums :
    Inscription : Octobre 2004
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Bonjour,
    Finalement je vais reformuler ma question différemment et essayer d'être plus clair ...

    Une requête avec 4 champs issus de champs calculés provenant d'une autre requête de ma base :
    Champ 1 = Numéro de série de mes pièces
    Champ 2 = son potentiel de fonctionnement avant son rebut
    Champ 3 = son potentiel de fonctionnement avant sa révision
    Champ 4 = son potentiel de fonctionnement avant sa réparation

    Comment dans cette même requête, renseigner un 5ème champ avec la valeur du champs 2,3 ou 4 qui est le plus faible ?

    est-ce plus clair ?

    Merci

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


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 780
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 780
    Points : 58 187
    Points
    58 187
    Billets dans le blog
    42
    Par défaut
    bonjour,

    en effet, ce n'est plus le même problème...

    la contribution de ClaudeLELOUP devrait te convenir: Pour trouver le Minimum ou le Maximum

  10. #10
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64

    Informations forums :
    Inscription : Octobre 2004
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Comme vous avez pu deviner, je suis pas un virtuose de l'écriture de codes ...

    Je viens de coller la fonction "LeMinimum" dans mon module et essayé de la faire fonctionner depuis ma requête. j'ai des pb de syntaxe ...

    Voilà ce que j'ai écrit en entête de mon 5ème champ dans ma requête (pas de SQL)

    1erPot: LeMinimum([Champ2];[Champ3];[Champ4])
    J'ai remplacé les "[]" par des "" et les ";" par des "|" et chaque fois j'ai droit à des bordées d'injures peu cavalières

    Dois je passer en mode SQL ?

    Merci

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


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 780
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 780
    Points : 58 187
    Points
    58 187
    Billets dans le blog
    42
    Par défaut
    a priori ce serait plutôt:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1erPot: LeMinimum([champ2] & "|" & [champ3] & "|" & [champ4])

  12. #12
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64

    Informations forums :
    Inscription : Octobre 2004
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Bonsoir,
    Effectivement, ça fonctionne,.... mais pas tout le temps ...
    Disons 70% Ok et 30% = "les données ne sont pas homogènes"
    Pourtant je ne trouve rien d'étrange, tous les champs sont en numérique.
    Je n'arrive pas à trouver dans ces 30% un point commun, ça semble complètement aléatoire ...
    De plus j'ai souvent des champs nuls et ils ne semblent pas être acceptés.
    Je continue de chercher ...
    En tout cas merci !

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


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 780
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 780
    Points : 58 187
    Points
    58 187
    Billets dans le blog
    42
    Par défaut
    bonjour,

    c'est ma nouvelle technique... Pour répondre aux problèmes des forumeurs, je soumets le problème dans d'autres discussions

    Pour trouver le Minimum ou le Maximum, cas des valeurs Null

    Micbett, tu penseras à plusser Claude que j'ai mis à contribution pour toi

    Merci Claude

  14. #14
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64

    Informations forums :
    Inscription : Octobre 2004
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Bonsoir,

    Merci pour tous ces efforts !!!

    Je viens de coller la fonction TriABulle dans un module et taper ceci dans mon champ de requête :
    Potminim : TriABulle([PotLF] & "|" & [Mod RSL] & "|" & [PotEQ] & "|" & [PotSS] ,"Min") AS [Min]
    Le pb est que j'ai un message qui me dit que j'ai une erreur de syntaxe sur la virgule devant "Min")

    J'ai essayé pas mal de choses mais sans succès

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


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 780
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 780
    Points : 58 187
    Points
    58 187
    Billets dans le blog
    42
    Par défaut
    bonjour,

    ...j'ai un message qui me dit que j'ai une erreur de syntaxe sur la virgule devant "Min")
    dans l'assistant Requête, les arguments sont séparés par des " ; ".

    Le "AS [Min]" est de trop.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Potminim : TriABulle([PotLF] & "|" & [Mod RSL] & "|" & [PotEQ] & "|" & [PotSS] ;"Min")

  16. #16
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64

    Informations forums :
    Inscription : Octobre 2004
    Messages : 34
    Points : 15
    Points
    15
    Par défaut
    Bonsoir,
    La syntaxe fonctionne mais j'ai maintenant systématiquement sur tous les enregistrement un message "les données ne sont pas homogènes"
    Je vais regarder si je ne peux pas m'en sortir autrement ...
    Merci encore !

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


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 780
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 780
    Points : 58 187
    Points
    58 187
    Billets dans le blog
    42
    Par défaut
    Bonsoir,

    Je ne sais plus

    Essaye avec la fonction getMin de Philben

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Potminim : getMin([PotLF] ;[Mod RSL] ; [PotEQ] ; [PotSS])
    [Mod RSL] est bien numérique comme [PotXX] ?

Discussions similaires

  1. boucle pour la valeur min d'un champ
    Par averooès dans le forum VBA Access
    Réponses: 6
    Dernier message: 23/01/2009, 14h41
  2. Réponses: 2
    Dernier message: 27/11/2008, 15h19
  3. Mémoriser les valeurs d'un champ calculé
    Par pierrot67 dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/01/2007, 12h07
  4. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29
  5. Problème champs calculés et valeur null
    Par markintell dans le forum Access
    Réponses: 18
    Dernier message: 10/01/2006, 18h14

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