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

Langage SQL Discussion :

Affichage sous conditions


Sujet :

Langage SQL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Chargé de projet SI-Logistique
    Inscrit en
    Août 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé de projet SI-Logistique
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2019
    Messages : 8
    Points : 9
    Points
    9
    Par défaut Affichage sous conditions
    Bonjour à tous,

    Je suis en train d'essayer d'élaborer un bon de livraison sous Rprinter (extensions de création de documents de notre ERP Colibase).
    Dans Rprinter, je souhaiterais effectuer une requete de façon à faire apparaitre le logo de la société concernée (un de nos 3 sites internet) en fonction d'un champ (pour info : datapipeline='ppTABLE1'>LT_ENSEIGNE )

    En gros, formuler avec des mots : si lt_enseigne = site1 alors logo1, sinon si lt_enseigne= site2 alors logo2, ....
    Dans l'idéal, j'aimerais que si aucuns des sites demandé n'est trouvé cela m'affiche le logo de l'entité de gestion (logo4).

    Quelqu'un peut-il m'envoyer vers une page, des cours, ou me mettre sur la voie je suis preneur !

    Merci d'avance, Corentin

    Edit : pour info, voici une capture d'écran, vous pourrez voir que, malgré le fait que la requete soit "valide" (logo vert dans l'encadré rouge), la requete ne marche pas (le logo est visible à l'impression).
    Nom : capturesqlforum.png
Affichages : 191
Taille : 22,2 Ko

  2. #2
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Bonjour,

    Tu peux utiliser l'expression CASE
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT
    CASE
         WHEN lt_enseigne = site1 THEN logo1
         WHEN lt_enseigne = site2 THEN logo2
         WHEN lt_enseigne = site3 THEN logo3
         ELSE logo4
    END
    Se référer à la doc SQL pour plus d'info
    https://docs.microsoft.com/fr-fr/sql...ql-server-2017

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Chargé de projet SI-Logistique
    Inscrit en
    Août 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé de projet SI-Logistique
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2019
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Salut à toi,

    Je te remercie pour ta réponse, je me rend compte seulement maintenant (et après 24h de lecture intensive sur le sujet) que mes requetes sql n'en sont pas vraiement...
    En fait le langage utilisé dans mon programme se rapproche plus du pascal qu'autre chose.

    Si quelqu'un peut me dire ce qu'il en pense (type de langage et validité de ce que j'ai écrit) je veux bien !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    begin
      logo_zago.visible :=false  ;
      logo_ga.visible :=false ;
      logo_mooviin.visible :=false ;
      logo_bc.visible :=true ;
     
        if ( CLIENT['CLI_SEQ'] = 9302 ) then
        begin
        logo_zago.visible :=false  ;
        logo_ga.visible :=true ;
        logo_mooviin.visible :=false ;
        logo_bc.visible :=false ;
        end else if ( CLIENT['CLI_SEQ'] = 9301 ) then
        begin
        logo_zago.visible :=false  ;
        logo_ga.visible :=false ;
        logo_mooviin.visible :=true ;
        logo_bc.visible :=false ;
        end else if ( CLIENT['CLI_SEQ'] = 9303 ) then
        begin
        logo_zago.visible :=true  ;
        logo_ga.visible :=false ;
        logo_mooviin.visible :=false ;
        logo_bc.visible :=false ;
        end else if ( CLIENT['CLI_SEQ'] = 8539 ) then
        begin
        logo_zago.visible :=true  ;
        logo_ga.visible :=false ;
        logo_mooviin.visible :=false ;
        logo_bc.visible :=false ;
        end;
    end;

  4. #4
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Autant pour moi, j'ai répondu un vite également...
    Ton code me semble correct mais j'aurai personnellement plutôt utilisé la fonction CASE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
      CASE CLIENT['CLI_SEQ']
        WHEN 9302  THEN
            logo_zago.visible :=false;
            logo_ga.visible :=true ;
            logo_mooviin.visible :=false ;
            logo_bc.visible :=false ;
        WHEN 9301 THEN
            logo_zago.visible :=false  ;
            logo_ga.visible :=false ;
            logo_mooviin.visible :=true ;
            logo_bc.visible :=false ;
        WHEN ...
            ...
        ELSE
           logo_zago.visible :=false  ;
           logo_ga.visible :=false ;
           logo_mooviin.visible :=false ;
           logo_bc.visible :=true ;
      END CASE;

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Chargé de projet SI-Logistique
    Inscrit en
    Août 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé de projet SI-Logistique
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2019
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Je te remercie de ton retour.

    La fonction CASE est inconnue dans mon programme, quid du langage utilisé ? Sais-tu duquel il peut s'agir pour que je puisse me renseigner dessus ?
    On dirait que ça ressemble à du Pascal, mais pas totalement.

    Merci

  6. #6
    Membre habitué Avatar de Mygush
    Inscrit en
    Juin 2007
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 226
    Points : 175
    Points
    175
    Par défaut
    Non c'est une fonction basique SQL donc PL-SQL ça fonctionne aussi normalement...

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Chargé de projet SI-Logistique
    Inscrit en
    Août 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Chargé de projet SI-Logistique
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2019
    Messages : 8
    Points : 9
    Points
    9
    Par défaut
    Bon, je comprend pas tout mais ça marche ^^
    Merci à toi !

    Étonnement je ne peux pas du tout utiliser "WHEN" mais uniquement "IF"...

    J'essaierai de mieux comprendre lorsque j'aurais de nouveau besoin d'utiliser une fonction du genre !

    A+ et bonne journée

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/03/2017, 22h11
  2. Affichage d'un bouton sous condition
    Par Sami Xite dans le forum IHM
    Réponses: 3
    Dernier message: 02/11/2008, 10h44
  3. Affichage sous formulaire selon condition
    Par vivicente dans le forum IHM
    Réponses: 1
    Dernier message: 08/08/2008, 12h01
  4. [Formulaire] Affichage sous conditions
    Par Poor_Beginner dans le forum IHM
    Réponses: 9
    Dernier message: 28/03/2007, 22h38
  5. Etat: affichage sous condition
    Par tomas dans le forum IHM
    Réponses: 8
    Dernier message: 08/03/2007, 11h00

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