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

SAP Crystal Reports Discussion :

[CR 9] Champs d'expression SQL


Sujet :

SAP Crystal Reports

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 3
    Points : 4
    Points
    4
    Par défaut [CR 9] Champs d'expression SQL
    Bonjour ,

    Est-ce que quelqu'un pourrait me fournir un exemple de Formule de Champs d'expression SQL ?
    Par exemple pour récupérer un libéllé avec un code , du genre :
    SELECT ChampLIB FROM TableX Where ChampCOD = 'xxx'

    Mes tentatives ( naïves ? ) provoquent le message "Syntaxe incorrecte vers le mot clé SELECT ..."

    Merci pour votre aide ... 8)

  2. #2
    VVE
    VVE est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 72
    Points : 47
    Points
    47
    Par défaut
    en fait, de ce que j'ai compris, un champ d'expression SQL est une formule qui sera traitée par le serveur SQL et non par Crystal Reports (sur le poste Client).

    C'est pour optimiser les performances de traitement.

    Ainsi si dans ton état tu veux une colonne avec le nom et le prénom d'un client concaténés d'une certaine façon, il est peut-être préférable de demander au serveur de calculer la formule en lui passant l'opération directement dans la requête SQL.

    1°) le calcul est effectué par Crystal Reports sur le poste client
    Tu crées une formule "classique" ie @NomPrenomCrystal

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UpperCase ({Clients.Nom du contact}) + ' ' + {Clients.Prénom du contact}
    si tu regardes la requête SQL nécessaire tu trouveras (menu Base de Données, puis Afficher la requête SQL)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT `Clients`.`Nom du contact`,`Clients`.`Prénom du contact` FROM   `Clients`

    2°) le calcul est effectué en SQL par le serveur
    Tu crées une formule d'expression SQL ie %NomPrenomSQL


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UCASE(`Clients`.`Nom du contact`) + ' ' + `Clients`.`Prénom du contact`
    la requête SQL associée à ton rapport devient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT (UCASE(`Clients`.`Nom du contact`) + ' ' + `Clients`.`Prénom du contact`) FROM   `Clients`

  3. #3
    Candidat au Club
    Inscrit en
    Septembre 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Merci de ta réponse VVE , les champs d'expression SQL sont donc à utiliser pour des fins de performances ...
    Je pensais que ça pouvait servir comme sous-requête en se servant des champs de fichiers comme paramètres ( ça aurait été trop bien ! )

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

Discussions similaires

  1. [CR XI] Créer un Champ d'expression SQL
    Par SophieTaureau dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 12/08/2014, 15h01
  2. Réponses: 0
    Dernier message: 17/07/2008, 11h24
  3. TCD et champs expression sql
    Par gg2vig dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 10/12/2007, 17h01
  4. jointure par champ expression sql
    Par gg2vig dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 28/11/2007, 10h30
  5. [CR11] Problème avec un champ d'expression SQL
    Par Benoit30 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 30/05/2006, 16h22

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