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 :

Comment "émuler" la fonction GREATEST sous Access?


Sujet :

Requêtes et SQL.

  1. #1
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut Comment "émuler" la fonction GREATEST sous Access?
    J'ai récemment été confronté à ce problème...

    la fonction GREATEST() n'existe pas sous Access alors qu'elle existe sous Oracle.
    cf http://sqlpro.developpez.com/cours/sqlaz/fonctions/

    ex :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT ma_table.id, GREATEST (ma_table.date1, ma_table.date2)
    FROM ma_table
    l'idée est de trouver quelle est la plus grande de deux dates dans la même table.

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT table1.id, GREATEST (table_1.date1, table2.date2)
    FROM table1, table2
    WHERE table1.id = table2.id
    l'idée est de trouver la plus grande date entre deux dates présentes dans deux tables différentes

    voilà... en théorie c'est impossible sous Access puisqu'on a pas accès à la fonction GREATEST()

    si quelqu'un voit comment faire...
    Dyvim

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Développeur VBA/C#/VB.Net/Power Platform
    Inscrit en
    Juillet 2007
    Messages
    14 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur VBA/C#/VB.Net/Power Platform
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 604
    Points : 34 279
    Points
    34 279
    Par défaut
    Bonjour,
    tu peux utiliser la fonction IIF()
    comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IIF (ma_table.date1>ma_table.date2, ma_table.date1, ma_table.date2)
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre actif
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2005
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 250
    Points : 277
    Points
    277
    Par défaut
    lol...

    merci beaucoup.

    je me disais bien que je n'avais pas à passer par des UNION de folie pour compenser l'absence de cette fonction.
    Dyvim

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/10/2010, 19h07
  2. Réponses: 5
    Dernier message: 18/02/2009, 15h40
  3. Réponses: 2
    Dernier message: 02/12/2005, 10h53

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