Crystal Reports Designer  

Définition des tables virtuelles basée sur une commande/requête SQL

Si la base de données que vous utilisez prend en charge un langage de requête tel que SQL, vous pouvez écrire votre propre commande qui sera représentée dans Crystal Reports comme objet table. Cela permet aux utilisateurs expérimentés de garder le contrôle total sur le traitement de données empilé sur le serveur de base de données. Un utilisateur expérimenté peut écrire une commande optimisée qui peut réduire considérablement la taille du jeu de données renvoyé par le serveur.

Vous pouvez écrire votre propre commande à l'aide du nœud Ajouter une commande de l'Expert Base de données pour créer une table virtuelle qui représentera les résultats du traitement de la commande.

Lorsque vous utilisez une table virtuelle qui a été créée en tant que commande, Crystal Reports ne modifie pas la syntaxe du code SQL soumis au serveur (en d'autres termes, il n'ajoute pas automatiquement de guillemets ou de caractères d'échappement). Ce comportement s'applique également aux paramètres utilisés dans les commandes. Vous devez par conséquent ajouter les guillemets et les caractères d'échappement nécessaires à votre pilote de base de données.

Pour créer votre propre objet commande

  1. Cliquez avec le bouton droit de la souris sur Champs de base de données dans l'Explorateur de champs et cliquez sur Expert Base de données.
  2. Dans la boîte de dialogue Expert Base de données, parcourez les dossiers pour rechercher votre source de données.
  3. Dans votre source de données, cliquez deux fois sur le nœud Ajouter une commande.
  4. Dans la boîte de dialogue Ajouter une commande à l'état, saisissez une requête/commande appropriée pour la source de données que vous avez ouverte.

    Par exemple :

    SELECT
        Clients.`ID client`,
        Clients.`ID client`,
        Clients.`Ventes de l'année dernière`,
        Clients.`Région`,
        Clients.`Pays`,
        Commandes.`Montant commande`,
        Commandes.`ID client`,
        Commandes.`Date de commande`
    FROM
        Clients Clients INNER JOIN Commandes Commandes ON
            Clients.`ID client` = Commandes.`ID client`
    WHERE
        (Clients.`Pays` = 'USA' OR
        Clients.`Pays` = 'Canada') AND
        Clients.`Ventes de l'année dernière` < 10000.
    ORDER BY
        Clients.`Pays` ASC,
        Clients.`Région` ASC
  5. Cliquez sur OK.

    Vous revenez alors au Crystal Reports Designer incorporé. Dans l'Explorateur de champs, sous les champs de la base de données, la table Commandes qui s'affiche répertorie les champs de base de données que vous avez spécifiés.

    Remarque   Par défaut, votre commande est nommée Command. Vous pouvez modifier son alias en appuyant sur F2.

Pour modifier un objet commande

  1. Dans la zone Tables sélectionnées de l'Expert Base de données, sélectionnez la commande que vous souhaitez modifier.
  2. Cliquez avec le bouton droit de la souris sur Modifier la commande dans le menu contextuel.
  3. Effectuez les modifications souhaitées dans la boîte de dialogue Modifier la commande, puis cliquez sur OK lorsque vous avez terminé.

Vous pouvez créer un champ de paramètre dans les boîtes de dialogue Ajouter une commande à l'état ou Modifier la commande.

Pour créer un paramètre pour un objet commande

  1. Dans la zone Liste des paramètres de la boîte de dialogue Ajouter une commande à l'état ou Modifier la commande, cliquez sur Créer.
  2. Dans la boîte de dialogue Paramètre de commande, saisissez les informations suivantes dans les champs fournis :
    • Nom du paramètre

      Saisissez le nom que vous souhaitez affecter à votre paramètre.

    • Texte d'invite

      Saisissez le texte que vous voulez voir apparaître dans l'invite du programme.

    • Type de valeur

      Saisissez le type de données du champ de paramètre.

    • Valeur par défaut

      Saisissez la valeur que vous voulez que le programme utilise si vous n'en fournissez aucune.

  3. Cliquez sur OK.

    Votre paramètre est ajouté à la Liste des paramètres. Vous pouvez le modifier ou le supprimer en revenant dans la boîte de dialogue Modifier la commande.

Pour ajouter un paramètre à un objet commande

  1. Placez le curseur dans le texte de la requête.
  2. Cliquez deux fois sur le nom du paramètre dans la liste des paramètres.

    Le paramètre est ajouté à l'endroit où se trouve le curseur. Votre paramètre doit ressembler à ceci :

    WHERE
        Clients.`Pays` = '{?CountryParam}'

    Si vous voulez modifier le champ de paramètre que vous avez créé, accédez à l'Explorateur de champs et sélectionnez-le dans le nœud Champs de paramètre.

Voir aussi

Insertion des champs de base de données