Sunteți pe pagina 1din 763

scr8.

book Page 1 Monday, April 2, 2001 12:29 PM

Crystal Reports™ 8.5


Guide de l'utilisateur

Seagate Software IMG Holdings, Inc.


915 Disc Drive
Scotts Valley
Californie, Etats-Unis d'Amérique 95066
scr8.book Page 2 Monday, April 2, 2001 12:29 PM

Copyright © 2001 Seagate Software Information Management Group Holdings,


Inc., 915 Disc Drive, Scotts Valley, Californie, Etats-Unis d'Amérique 95066. Tous
droits réservés.

Publication 1. Février 2001.

Aucune partie de cette documentation ne peut être enregistrée dans un système


d'extraction, ni transmise ou reproduite de quelque façon que ce soit, à moins que
les conditions applicables du contrat de licence du logiciel ne l'autorisent. Cette
documentation contient des informations du constructeur Seagate Software, Inc.
et/ou de ses fournisseurs.

Marques
(c) 2001 Seagate Software Information Management Group Holdings, Inc. Tous
droits réservés. Seagate, Seagate Software, Crystal Reports, Crystal Enterprise,
Seagate Info et le logo Seagate sont des marques ou des marques déposées de
Seagate Software Seagate Software Information Management Group Holdings,
Inc. et/ou Seagate Technology, Inc. Toutes les autres marques mentionnées
appartiennent à leurs propriétaires respectifs.
scr8.book Page i Monday, April 2, 2001 12:29 PM

Table des Matières

Chapitre 1 : Bienvenue dans Crystal Reports


A propos de Crystal Reports .............................................................. 2
A propos de ce manuel ..................................................................... 3
Table des matières ................................................................................................ 3
Aide en ligne ......................................................................................................... 8
Enregistrement d'un produit .................................................................................. 8
Support technique ................................................................................................. 9
Conventions de commandes, de boutons et de touches .................... 9
Commandes et boutons ......................................................................................... 9
Combinaisons de touches ..................................................................................... 9
Autres conventions ................................................................................................ 9

Chapitre 2 : Nouveautés
Création d'états sur le Web ............................................................. 12
Enrichissement du Web Component Server de Crystal Enterprise ........................ 12
Prise en charge XML sur le Web .......................................................................... 14
Améliorer vos performances grâce à la rapidité de traitement .............................. 14
Meilleure interactivité avec les paramètres .......................................................... 15
Visualiseur d'états DHTML personnalisable ......................................................... 15
Utilisation de la documentation Crystal Reports pour optimiser
les performances des états ................................................................................... 15
Connexion aux dossiers APS depuis Crystal Reports ............................................ 15
Affichage des états sur le Web, indépendamment de l'emplacement du serveur .. 16
Extension des capacités de créations d'états à l'aide d'applications
supplémentaires .................................................................................................. 16
Fonctionnalités du Report Designer ................................................ 16
Création d'alertes d'état pour notification instantanée ......................................... 16

Crystal Reports Guide de l’utilisateur i


scr8.book Page ii Monday, April 2, 2001 12:29 PM

Exportation de données aux formats PDF, XML, RTF et HTML amélioré .............. 16
Accès à des sources de données supplémentaires ................................................ 17
Copie d'objets d'états dans d'autres applications ................................................. 17
Récapitulation des données dans des groupes hiérarchiques ............................... 17
Amélioration des formules à l'aide de nouvelles fonctions avancées ................... 17
Personnalisation des options de police par défaut ............................................... 17
Affichage plus rapide des données grâce aux fonctions améliorées de création de
graphes et de cartes ............................................................................................. 18
Analyse rapide des types de données .................................................................. 18
Enregistrement des aperçus par défaut ................................................................. 18
Fonctionnalités de Developer ......................................................... 18
Incorporation de Crystal Reports Designer Control .............................................. 18
Utilisation du modèle d'objet RDC unifié ............................................................ 19
Redistribution du serveur d'état ASP .................................................................... 19
Accès aux données XML lors de l'exécution ........................................................ 19
Administration simplifiée grâce au gestionnaire de licences ................................ 19
Report Designer Component 8.5 ......................................................................... 19
Distribution de RDC ............................................................................................ 20
Applications modèles Lotus Domino ................................................................... 20
Informations complémentaires ....................................................... 20

Chapitre 3 : Installation de Crystal Reports


Installation de Crystal Reports ........................................................ 22
Configuration requise pour l'installation ......................................... 22
Installation sur une machine locale à partir du CD ......................... 23
Installation sur et à partir d'un serveur de réseau ........................... 24
Installation de Crystal Reports sur un réseau ........................................................ 25
Installation de Crystal Reports à partir d'un réseau .............................................. 26
Personnalisation de l'installation ..................................................... 27

ii Crystal Reports Guide de l’utilisateur


scr8.book Page iii Monday, April 2, 2001 12:29 PM

Installation de Crystal Enterprise .................................................... 29


Démarrage .......................................................................................................... 30
Exécution de l'installation ................................................................................... 30

Chapitre 4 : Démarrage rapide


Apprendre à utiliser Crystal Reports ............................................... 34
Exemples d'états .................................................................................................. 34
Données exemple - Xtreme.mdb ......................................................................... 35
Experts Etat ..................................................................................... 37
Standard .............................................................................................................. 37
Lettre type ........................................................................................................... 38
Formulaire .......................................................................................................... 38
Table croisée ....................................................................................................... 39
Sous-état ............................................................................................................. 39
Etiquette de publipostage .................................................................................... 39
Explorer .............................................................................................................. 39
OLAP .................................................................................................................. 39
Démarrage rapide pour les nouveaux utilisateurs ........................... 40
Avant de commencer .......................................................................................... 41
Création de l’état ................................................................................................. 41
Sélection d'enregistrements ................................................................................. 54
Groupement et tri ................................................................................................ 57
Achèvement de l'état .......................................................................................... 61
Démarrage rapide pour les utilisateurs expérimentés ..................... 62

Chapitre 5 : Bases de la conception d’états


Bases de la conception d’états ........................................................ 68
Définition du contenu de l'état ....................................................... 68
Enoncé de l'objectif ............................................................................................ 68

Crystal Reports Guide de l’utilisateur iii


scr8.book Page iv Monday, April 2, 2001 12:29 PM

Détermination de la mise en forme de l'état ........................................................ 69


Déterminer les données ....................................................................................... 70
Manipulation des données .................................................................................. 71
Détermination des caractéristiques des zones d'impression ................................. 72
Mise au point d’un prototype sur papier ......................................... 74

Chapitre 6 : Présentation des états


Options de création d'un état ......................................................... 76
Expert Etat ........................................................................................................... 76
Un autre état ....................................................................................................... 76
Nouvel état ......................................................................................................... 76
Sources de données pour les états ................................................... 77
Base de données ................................................................................................. 77
Requêtes ............................................................................................................. 78
Dictionnaires ....................................................................................................... 78
Choix des sources de données et des champs de base de données .. 79
L'Explorateur de données .................................................................................... 80
L'Explorateur de champs ..................................................................................... 81
A propos de l'environnement de conception de l'état ..................... 83
Onglet Conception .............................................................................................. 83
Onglet Aperçu ..................................................................................................... 86
Création d'un nouvel état ............................................................... 90
Sélection de la source de données ....................................................................... 90
Liaisons de plusieurs tables ................................................................................. 91
Placement des données dans l'état ...................................................................... 93
Mise en forme des données ............................................................................... 101
Sélection d'enregistrements ............................................................................... 101
Groupement, tri et résumé des données ............................................................ 101
Comment explorer des données résumées ......................................................... 102

iv Crystal Reports Guide de l’utilisateur


scr8.book Page v Monday, April 2, 2001 12:29 PM

Comment effectuer un zoom avant ou arrière sur un état .................................. 103


Comment insérer un en-tête et un pied de page ................................................ 104
Comment ajouter une page titre à votre état ...................................................... 104
Ajout d'informations de résumé à l'état ............................................................. 106
Au-delà des états de base .............................................................. 106

Chapitre 7 : Conception d'états web optimisés


Aperçu .......................................................................................... 108
Capacités d’évolution avec Crystal Enterprise .............................. 109
Installation, configuration et mise à niveau ........................................................ 110
Faire les bons choix de conception ............................................... 110
Utilisation de formats d'états plus rapides .......................................................... 111
Choisir entre les données dynamiques et les données enregistrées .................... 111
Conception d'états résumés ............................................................................... 112
Utilisation prudente des sous-états .................................................................... 113
Rationalisation de votre environnement de création d'états ......... 115
Sélection de la base de données et de la connexion la plus rapide .................... 115
Utilisation des index de tables ........................................................................... 115
Amélioration des choix de liaison de tables ....................................................... 115
Utilisation de pilotes de bases de données avec unité d'exécution sécurisée ..... 117
Utilisation des procédures stockées pour un traitement plus rapide ................... 117
Utilisation des formules de sélection d'enregistrement améliorées 118
Empilement de la sélection d'enregistrements, exemple .................................... 118
Astuces de performance pour la sélection d'enregistrements ............................. 119
Stratégies d'écriture de formules de sélection d'enregistrements efficaces .......... 120
Incorporation de champs de paramètres dans les formules de sélection
d'enregistrements .............................................................................................. 122
Utilisation des instructions SQL le cas échéant .................................................. 124
Amélioration du groupement, du tri et du cumul .......................... 125

Crystal Reports Guide de l’utilisateur v


scr8.book Page vi Monday, April 2, 2001 12:29 PM

Groupement sur le serveur ................................................................................ 125


Avantages du groupement sur le serveur, exemple ............................................ 125
Utilisation d'instructions SQL pour des groupes, des tris et des totaux ............... 126
Utilisation des instructions SQL pour Case Logic ............................................... 126
Insertion de champs résumés et totaux cumulés chaque fois que c’est possible . 127

Chapitre 8 : Sélection d'enregistrements


Sélection des enregistrements ....................................................... 130
Utilisation de l'Expert Sélection ......................................................................... 131
Utilisation des formules ..................................................................................... 132
Interaction entre l'Expert Sélection et l’Editeur de formule de sélection ............. 133
Utilisation de modèles de formules ............................................... 134
Sélection d’enregistrements à l’aide de modèles de formules ............................. 134
Choix d'un modèle de formule .......................................................................... 137
Empilage de la sélection des enregistrements vers le serveur de la base
de données .................................................................................... 138
Dépannage des formules de sélection d'enregistrements ............. 139
Correction des sélections qui ne génèrent pas de données ................................ 141

Chapitre 9 : Tris, groupements et calculs de totaux


Tri des données ............................................................................. 144
Comprendre les options de tri ........................................................................... 144
Tri sur champ unique et sur plusieurs champs ................................................... 145
Groupement des données ............................................................. 146
Création de groupes personnalisés .................................................................... 148
Comment trier des enregistrements dans des groupes ........................................ 150
Grouper une sélection ....................................................................................... 151
Comment grouper des données en intervalle ..................................................... 154
Grouper sur la base de la première lettre du nom d’entreprise ........................... 158

vi Crystal Reports Guide de l’utilisateur


scr8.book Page vii Monday, April 2, 2001 12:29 PM

Groupement des données de façon hiérarchique ............................................... 160


Modification des groupes .................................................................................. 162
Résumé de données groupées ....................................................... 163
Tri de valeurs de groupe après résumé .............................................................. 165
Sélectionner des groupes N Sup ou N Inf .......................................................... 165
Sous-totaux ................................................................................... 167
Calcul de sous-totaux des données .................................................................... 167
Etendre les calculs sur les prix et calculer un sous-total des extensions .............. 169
Pourcentages ................................................................................. 171
Calcul d'un pourcentage .................................................................................. 171
En-têtes de groupe ........................................................................ 172
Création d'en-têtes de groupe ............................................................................ 172
Suppression d'en-têtes de groupes ..................................................................... 175
Exploration des en-têtes de groupes ................................................................... 176

Chapitre 10 : Totaux cumulés


Comprendre les totaux cumulés .................................................... 178
Fonctionnement des totaux cumulés ................................................................. 178
Création de totaux cumulés .......................................................... 179
Créer des totaux cumulés dans une liste ............................................................ 179
Créer un total cumulé pour un groupe ............................................................... 181
Comment créer un total cumulé conditionnel ................................................... 182
Créer un total cumulé dans une relation de liaison un-à-plusieurs ..................... 184
Création de totaux cumulés à l'aide d'une formule ....................... 185

Chapitre 11 : Etats à plusieurs sections


A propos des sections .................................................................... 190
Travail sur les sections .................................................................. 190

Crystal Reports Guide de l’utilisateur vii


scr8.book Page viii Monday, April 2, 2001 12:29 PM

Insertion d'une section ...................................................................................... 190


Suppression d'une section ................................................................................. 191
Déplacement d'une section ............................................................................... 191
Fusion de deux sections liées ............................................................................ 192
Découper et redimensionner une section ..................................... 193
Division d'une section ....................................................................................... 193
Redimensionnement d'une section .................................................................... 193
Utiliser plusieurs sections dans un état ......................................... 194
Comment éviter le chevauchement des objets de longueur variable .................. 195
Mise en forme conditionnelle des objets ........................................................... 196
Alterner la couleur de fond des lignes ............................................................... 197
Comment éliminer des lignes vides ................................................................... 198
Comment ajouter des lignes vides conditionnellement ...................................... 199
Les lettres types ............................................................................. 200
Travailler avec des objets textes ........................................................................ 200
Création d'une lettre type à l'aide d'un objet texte ............................................ 202
Imprimer des messages conditionnels dans des lettres types .............................. 207

Chapitre 12 : Mise en forme


Concepts de mise en forme ........................................................... 210
Utilisation de l'environnement de conception des états ................ 210
Solutions de conception .................................................................................... 210
Caractéristiques des sections ............................................................................. 211
Placer un objet en filigrane d'une section suivante ............................................ 212
Formulaires pré-imprimés .................................................................................. 213
Masquer des sections dans l’état ........................................................................ 214
Masquer des objets ............................................................................................ 214
Positionnement d'objets texte ............................................................................ 216
Positionnement d'objets texte à plusieurs lignes ................................................ 219

viii Crystal Reports Guide de l’utilisateur


scr8.book Page ix Monday, April 2, 2001 12:29 PM

Importation d'objets texte depuis un fichier ....................................................... 219


Espacement entre les objets texte ...................................................................... 220
Représentation du dépassement de champ ........................................................ 227
Sélection de plusieurs objets ............................................................................. 229
Placement libre ................................................................................................. 229
Placement vertical ............................................................................................. 231
Polices TrueType ............................................................................................... 235
Marges .............................................................................................................. 235
Imprimante par défaut ....................................................................................... 236
Pilotes d'impression .......................................................................................... 237
Propriétés de mise en forme ......................................................... 239
Utilisation de la mise en forme absolue ........................................ 239
Ajouter des couleurs, des ombrages et des bordures aux champs ...................... 239
Modification des formats de champs par défaut ................................................. 240
Comment ajouter et modifier des lignes ............................................................ 242
Ajout et modification de cadres dans un état ..................................................... 243
Ajout de formes à un état .................................................................................. 244
Utilisation de formats comptables conventionnels ............................................. 245
Utilisation d'espaces vides entre les lignes ........................................................ 248
Mise en forme conditionnelle ....................................................... 250
Propriétés conditionnelles binaires .................................................................... 250
Propriétés conditionnelles avec attributs ............................................................ 251
Modification des polices conditionnelles .......................................................... 252
Création d'un pied de page à partir de la deuxième page .................................. 253
Utiliser l’Expert Mise en relief ............................................................................ 255
Annuler/Répéter une action ............................................................................... 257

Chapitre 13 : Création de graphes


Concepts de création des graphes ................................................. 260

Crystal Reports Guide de l’utilisateur ix


scr8.book Page x Monday, April 2, 2001 12:29 PM

Généralités sur la création de graphes ............................................................... 260


Modèles de graphe ............................................................................................ 261
Types de graphe ................................................................................................ 262
Positionnement de votre graphe ........................................................................ 264
Exploration à l’aide de graphes .......................................................................... 264
Exploration à l'aide des légendes ....................................................................... 264
Création de graphes ...................................................................... 265
Création de graphes à l'aide de champs de détails ou de formules
(modèle de graphe Avancé) ............................................................................... 265
Création de graphes à l'aide de champs de résumés ou de sous-totaux
(modèle Groupe) ............................................................................................... 267
Création de graphes à l'aide de résumés de tables croisées
(modèle Table croisée) ...................................................................................... 269
Création de graphes sur la base d'un cube OLAP (modèle OLAP) ..................... 271
Exploitation des graphes ............................................................... 273
Modification des graphes à l'aide de l'Expert Graphe ........................................ 273
Modification des graphes à l'aide de l'onglet Analyseur .................................... 273
Utilisation des capacités de zoom sur les graphes en barres et les courbes ........ 275
Réorganisation automatique des éléments d'un graphe ..................................... 275
Modification de la taille et de l'emplacement du graphe ................................... 276
Modification de la bordure d'un graphe ............................................................ 276
Utilisation de la fonction de mise en filigrane avec des graphes ........................ 277

Chapitre 14 : Génération des cartes


Concepts de la génération des cartes ............................................ 280
Généralités sur la création des cartes ................................................................. 280
Modèles de carte ............................................................................................... 280
Types de carte ................................................................................................... 281
Emplacement d'une carte .................................................................................. 284

x Crystal Reports Guide de l’utilisateur


scr8.book Page xi Monday, April 2, 2001 12:29 PM

Exploration à l'aide de cartes ............................................................................. 284


Création de cartes ......................................................................... 284
Création d'une carte sur la base de champs de détails (modèle Avancé) ............ 284
Création d'une carte sur la base de champs de groupe (modèle Groupe) ........... 288
Création d'une carte sur la base des résumés de tables croisées (modèle Table
croisée) ............................................................................................................. 289
Création d'une carte sur la base d'un cube OLAP (modèle OLAP) ..................... 291
Création d'une carte sur la base de sous-états .................................................... 293
Exploitation des cartes .................................................................. 294
Modification des cartes à l'aide de l'Expert Carte .............................................. 294
Modification des cartes à l'aide de l'onglet Analyseur ....................................... 294
Modification du titre d'une carte ....................................................................... 295
Modification du type de carte ........................................................................... 295
Modification des couches d'une carte ............................................................... 296
Résolution de la discordance des données ........................................................ 297
Modification de la carte géographique .............................................................. 298
Modification de la taille et de l'emplacement d'une carte ................................. 299
Modification de la bordure d'une carte ............................................................. 300
Utilisation de la fonction de mise en filigrane avec des cartes ........................... 300
Comment effectuer un zoom, un panoramique et centrer des cartes à l'aide du
Navigateur de carte ........................................................................................... 301
Masquage et affichage du Navigateur de carte .................................................. 304

Chapitre 15 : OLE
Généralités sur la fonctionnalité OLE ........................................... 306
Terminologie OLE ............................................................................................. 306
Types d’objets OLE ........................................................................................... 307
Remarques sur les objets OLE ............................................................................ 307
Insertion des objets OLE dans vos états ......................................... 308

Crystal Reports Guide de l’utilisateur xi


scr8.book Page xii Monday, April 2, 2001 12:29 PM

Présentation des objets OLE dans votre état ................................. 309


Modification des objets OLE dans les états ................................... 309
Modification sur place ....................................................................................... 309
Commandes dynamiques du menu OLE ............................................................ 310
OLE et la commande Insérer l’Image ................................................................. 310
Exploitation des objets statiques OLE ............................................ 310
Exploitation des objets incorporés par rapport aux objets liés ..... 311
Objets incorporés .............................................................................................. 311
Objets liés ......................................................................................................... 312

Chapitre 16 : Objets tables croisées


Propriétés d’une table croisée ....................................................... 316
Exemple de table croisée ............................................................... 317
Etat des données de commandes - sans tri/groupement ..................................... 317
Etat des données de commandes - groupées par région ..................................... 318
Etat des données de commandes - groupées par produit .................................... 318
Etat des données de commandes - groupées par région et par produit ............... 319
Données de commandes organisées dans un objet table croisée ....................... 320
Création d'un état table croisée .................................................... 321
Mise en forme des tables croisées ................................................. 330
Modification de la largeur et de la hauteur des cellules de table croisée ............ 331
Mise en forme de la couleur d’arrière-plan de lignes/colonnes entières ............. 331
Mise en forme de plusieurs champs individuellement ....................................... 331
Mise en forme de plusieurs champs à la fois ...................................................... 332
Suppression des données de table croisée ......................................................... 332
Impression de tables croisées s'étendant sur plusieurs pages ............................. 333

xii Crystal Reports Guide de l’utilisateur


scr8.book Page xiii Monday, April 2, 2001 12:29 PM

Chapitre 17 : Les états avec les données OLAP


Création d’états OLAP avec Crystal Reports ................................. 336
Objets grille OLAP ............................................................................................ 336
Création d'un état OLAP ................................................................................... 336
Mise à jour d'un état OLAP ............................................................................... 343
Utilisation de la méthode Informix MetaCube SQL pour créer un état ............... 345

Chapitre 18 : Distribution et visualisation des états


Diffusion des états ........................................................................ 352
Imprimer un état ............................................................................................... 352
Envoyer un état par télécopie ............................................................................ 353
Exportation d'un état ......................................................................................... 353
Utilisation des dossiers Web ............................................................................. 360
Utilisation des dossiers Enterprise ...................................................................... 361

Chapitre 19 : Alertes d’état


A propos des alertes d’état ........................................................... 364
Utilisation des alertes d’état .......................................................... 364
Création d'alertes d'état .................................................................................... 364
Modification des alertes d’état ........................................................................... 367
Suppression d’alertes d’état ............................................................................... 367
Affichage des alertes d'état ................................................................................ 367
Utilisation d'alertes d'état dans les formules ...................................................... 368

Chapitre 20 : XML
Généralités sur le format XML ..................................................... 370
Eléments, étiquettes et structure XML ................................................................ 371
Schéma XML ..................................................................................................... 371
Document Type Definition ................................................................................ 371

Crystal Reports Guide de l’utilisateur xiii


scr8.book Page xiv Monday, April 2, 2001 12:29 PM

Feuilles de style ................................................................................................. 372


XML dans Crystal Reports ............................................................. 372
Accès aux données XML .................................................................................. 373
Exportation au format XML ............................................................................... 377
Personnalisation des définitions d’état XML ....................................................... 379
Spécifications de sortie XML .............................................................................. 384

Chapitre 21 : Création d'états à partir d'Excel ou Access


Vue d'ensemble des compléments de Crystal Reports ................... 390
A propos du complément Microsoft Excel ......................................................... 390
A propos du complément Microsoft Access ....................................................... 390
Utilisation du complément Microsoft Excel .................................. 391
Utilisation de l'Assistant de Crystal Report pour créer un état dans Excel ........... 391
Utilisation du complément Microsoft Access ................................ 394
Utilisation de l'Assistant de Crystal Report pour créer un état dans Access ........ 394

Chapitre 22 : Utilisation des formules


Généralités sur les formules .......................................................... 400
Utilisations habituelles des formules ................................................................. 401
Syntaxe et composants de formules .............................................. 402
Composants de formule ..................................................................................... 402
Syntaxe de formule ............................................................................................ 403
Utilisation des formules ................................................................ 404
Utilisation de l'Editeur de formule ..................................................................... 405
Création et modification de formules ........................................... 408
Création et insertion d'une formule dans un état ............................................... 408
Modification des formules ................................................................................. 410
Recherche et remplacement de texte ................................................................. 410
Copie de formules depuis l'aide en ligne ........................................................... 411

xiv Crystal Reports Guide de l’utilisateur


scr8.book Page xv Monday, April 2, 2001 12:29 PM

Copie de formules depuis un état vers un autre ................................................. 412


Suppression de formules ............................................................... 413
Suppression de la formule de travail de votre état .............................................. 413
Suppression de la spécification de formule ........................................................ 413
Débogage des formules ................................................................. 414
Didacticiel de débogage ................................................................................... 414

Chapitre 23 : Création de formules avec la syntaxe Basic


Vue d'ensemble de la syntaxe Basic .............................................. 420
Conseils pour l'apprentissage de la syntaxe Basic .............................................. 420
Principes fondamentaux de la syntaxe Basic ................................. 422
Résultat d’une formule ...................................................................................... 422
Commentaires .............................................................................. 424
Champs ........................................................................................ 425
Instructions .................................................................................. 426
Affectation ................................................................................... 427
Types de données simples ............................................................ 427
Nombre ........................................................................................................... 427
Monétaire syntaxe Basic ................................................................................... 427
Chaîne ............................................................................................................. 427
Booléen ........................................................................................................... 428
Date, Heure et DateHeure ................................................................................ 428
Types de données de plages ......................................................... 429
Utilisation de plages dans les formules ............................................................. 430
Types de données tableau ............................................................ 431
Variables ...................................................................................... 432
Généralités sur les variables .............................................................................. 432
Déclaration de variable à l'aide de Dim ........................................................... 432

Crystal Reports Guide de l’utilisateur xv


scr8.book Page xvi Monday, April 2, 2001 12:29 PM

Etendue de variable .......................................................................................... 434


Déclaration de variables de tableau ................................................................. 437
Valeurs par défaut pour les types simples ......................................................... 439
Conversion de type automatique ...................................................................... 440
Fonctions ..................................................................................... 441
Fonctions similaires à celles de Visual Basic du même nom ............................. 442
Fonctions récapitulatives .................................................................................. 442
Plages de dates ................................................................................................. 443
Fonctions de tableau ........................................................................................ 443
Fonctions du moment d'évaluation .................................................................. 443
Fonctions état de l'impression .......................................................................... 444
Fonctions de propriétés des documents ............................................................ 444
Autres fonctions ............................................................................................... 444
Fonctions de mise en forme conditionnelle ...................................................... 445
Fonctions générales de mise en forme conditionnelle ....................................... 446
Opérateurs ................................................................................... 447
Opérateurs arithmétiques .................................................................................. 447
Opérateurs de comparaison ............................................................................. 448
Opérateurs booléens ........................................................................................ 448
Champs Null et utilisation de IsNull ................................................................. 448
Structures de contrôle .................................................................. 450
Instructions If .................................................................................................... 450
Instructions Select ............................................................................................ 453
Boucles For/Next .............................................................................................. 454
Boucles Do ...................................................................................................... 457
Boucles While .................................................................................................. 458
Mécanismes de sécurité pour les boucles ......................................................... 458
Restrictions .................................................................................. 459

xvi Crystal Reports Guide de l’utilisateur


scr8.book Page xvii Monday, April 2, 2001 12:29 PM

Chapitre 24 : Création de formules avec la syntaxe Crystal


Vue d'ensemble de la syntaxe Crystal ........................................... 462
Nouveautés de la syntaxe Crystal ...................................................................... 462
Principes de base de la syntaxe Crystal ......................................... 464
Résultat d'une formule ...................................................................................... 464
Commentaires .............................................................................. 465
Champs ........................................................................................ 466
Expressions ................................................................................... 467
Affectation ................................................................................... 470
Types de données simples ............................................................ 470
Numérique ........................................................................................................ 470
Monétaire ........................................................................................................ 470
Chaîne ............................................................................................................. 471
Booléenne ........................................................................................................ 472
Date, Heure et DateHeure ................................................................................ 472
Types de données plage ............................................................... 473
Utilisation de plages dans les formules ............................................................. 474
Types de données tableau ............................................................ 475
Variables ...................................................................................... 476
Vue d'ensemble des variables ........................................................................... 476
Déclarations de variables ................................................................................. 476
Etendue des variables ....................................................................................... 477
Déclaration de variables de tableau ................................................................. 480
Valeurs par défaut pour les types simples ......................................................... 482
Conversions de types automatiques .................................................................. 483
Fonctions ..................................................................................... 484
Fonctions non spécifiques à la réalisation d'états .............................................. 484

Crystal Reports Guide de l’utilisateur xvii


scr8.book Page xviii Monday, April 2, 2001 12:29 PM

Fonctions récapitulatives .................................................................................. 485


Plages de dates ................................................................................................. 485
Fonctions de tableau ........................................................................................ 486
Fonctions du moment d'évaluation .................................................................. 486
Fonctions état de l'impression .......................................................................... 486
Fonctions Propriétés de document ..................................................................... 487
Autres fonctions ............................................................................................... 487
Fonctions de mise en forme conditionnelle ...................................................... 487
Fonctions générales de mise en forme conditionnelle ....................................... 488
Opérateurs ................................................................................... 489
Opérateurs arithmétiques .................................................................................. 489
Opérateurs de comparaison ............................................................................. 490
Opérateurs booléens ........................................................................................ 490
Champs Null et utilisation de IsNull ................................................................. 490
Structures de contrôle .................................................................. 492
Expressions If .................................................................................................... 492
Expressions Select ............................................................................................ 496
Boucles For ...................................................................................................... 497
Boucles While .................................................................................................. 500
Mécanisme de sécurité pour les boucles .......................................................... 502
Restrictions .................................................................................. 502

Chapitre 25 : Champs de paramètres


Généralités sur les paramètres ...................................................... 506
Etude des champs de paramètre ........................................................................ 506
Création d'un champ de paramètre ................................................................... 507
Suppression des champs de paramètres ............................................................. 510
Réponse aux invites de paramètres .................................................................... 512
Fonctionnalités avancées des paramètres .......................................................... 513

xviii Crystal Reports Guide de l’utilisateur


scr8.book Page xix Monday, April 2, 2001 12:29 PM

Chapitre 26 : Sous-états
Sous-état ....................................................................................... 522
Sous-états liés et non-liés .................................................................................. 522
Mode de fonctionnement des sous-états ............................................................ 523
Liaisons entre bases de données et sous-états dans des situations un-à-plusieurs 524
Insertion d'un sous-état ................................................................. 525
Comment prévisualiser votre sous-état .............................................................. 526
Comment enregistrer un sous-état en tant qu’état principal ............................... 527
Mise à jour des sous-états .................................................................................. 527
Liaisons d'un sous-état aux données de l’état principal ................. 528
Liaisons d'un sous-état à l’état principal sans modifier la formule
de sélection ....................................................................................................... 530
Combinaisons d'états indépendants à l’aide de sous-états ............. 531
Combinaison de plus de deux états indépendants ............................................. 532
Utilisation des sous-états avec des données impossibles à lier ...... 532
Liaison à partir de/vers un champ de formule .................................................... 533
Liaison entre tables non indexées ...................................................................... 534
Création d'un sous-état à la demande ........................................... 534
Ajout de légendes aux sous-états à la demande ................................................. 535
Affichage sous différentes vues des mêmes données dans un état . 536

Chapitre 27 : Bases de données


Généralités sur les bases de données ............................................ 538
Bases de données relationnelles ........................................................................ 538
Pseudonymes .................................................................................................... 539
Recherche de fichiers ........................................................................................ 540
Tables indexées ................................................................................................. 542
Liaisons entre tables .......................................................................................... 543

Crystal Reports Guide de l’utilisateur xix


scr8.book Page xx Monday, April 2, 2001 12:29 PM

Utilisation de SQL et des bases de données SQL ............................................... 564


Traitement côté serveur ................................................................ 571
Comment le groupement côté serveur affecte la requête SQL ............................ 572
Mappage de champs de base de données ...................................... 573
A propos de la boîte de dialogue Mapper des champs ....................................... 574
Processus pour remapper .................................................................................. 575
Nouveau mappage des champs modifiés de la base de données ....................... 576
Nouveau mappage lors de la conversion des pilotes de base de données .......... 577
Utilisation des bases de données ................................................... 578
Utilisation de requêtes Access ........................................................................... 578
Utilisation de sources de données ODBC .......................................................... 585
Procédures stockées SQL ................................................................................... 594
Fonctionnalités de base de données avancées ............................... 597
Liaisons un à plusieurs ...................................................................................... 597
Requêtes SQL .................................................................................................... 598
Bases de données ACT! ..................................................................................... 599
Pour utiliser une base de données ACT! 3 ou 4 ................................................. 600
Journal d'événements NT .................................................................................. 601
Pour en savoir plus ........................................................................ 602

Chapitre 28 : Accès aux sources de données


Introduction .................................................................................. 604
Quatre types de données ................................................................................... 604
Fichiers de base de données à accès direct ................................... 605
Avantages .......................................................................................................... 605
Inconvénients .................................................................................................... 605
Trois couches .................................................................................................... 606
Principaux formats de base de données ............................................................. 607

xx Crystal Reports Guide de l’utilisateur


scr8.book Page xxi Monday, April 2, 2001 12:29 PM

Source de données ODBC ............................................................. 632


Avantages ......................................................................................................... 632
Inconvénients .................................................................................................... 633
Cinq couches .................................................................................................... 633
Installation de clients de base de données ......................................................... 636
Principaux formats de base de données ODBC ................................................. 637
Fichiers Crystal SQL Designer ....................................................... 647
Avantages ......................................................................................................... 648
Inconvénients .................................................................................................... 648
Fichiers dictionnaire Crystal ......................................................... 648

Chapitre 29 : Le Crystal SQL Designer


Le Crystal SQL Designer ............................................................... 652
Pourquoi utiliser des requêtes ? ......................................................................... 652
Utilisation du Crystal SQL Designer .................................................................. 653
Création d'une nouvelle requête à l'aide du Crystal SQL Designer .................... 653
Prévisualisation des données ............................................................................. 654
Spécification d'une table ................................................................................... 654
Liaison entre tables et définition du type de jointure .......................................... 655
Informations de liaison ...................................................................................... 655
Ajout de champs à une requête ......................................................................... 656
Identification des valeurs uniques dans une requête .......................................... 657
Ajout d’une expression SQL .............................................................................. 657
Résumé des données à l'aide des fonctions de résumé ...................................... 659
Sélection des groupes à inclure dans une requête .............................................. 660
Tri et regroupement d'informations ................................................................... 661
Spécification des enregistrements à inclure dans une requête ............................ 662
Modification de l'instruction SQL ...................................................................... 662
Création d'une requête à partir d’une requête Crystal existante ... 663

Crystal Reports Guide de l’utilisateur xxi


scr8.book Page xxii Monday, April 2, 2001 12:29 PM

Accès au Crystal SQL Designer ......................................................................... 663


Sélection d'une requête destinée à un état ......................................................... 664
Création d'un champ de paramètre pour l'utilisation dans une
requête .......................................................................................... 665
Utilisation d'une requête SQL conçue dans une autre application 666

Chapitre 30 : Dictionnaires
Généralités sur les dictionnaires ................................................... 670
Utilisation d'un dictionnaire ......................................................... 671
Création d'un nouveau dictionnaire .............................................. 671
Ajout de tables à un dictionnaire .................................................. 672
Ajout d'un fichier de données ........................................................................... 672
Ajout d'une source de données SQL ou ODBC ................................................. 674
Liaisons de plusieurs tables ........................................................... 675
Conception de l'affichage des données ......................................... 676
Sélection des tables et champs pour les utilisateurs ........................................... 676
Ajout de formules à l'affichage .......................................................................... 677
Organisation de la vue des données .............................................. 679
Ajout d'un nouvel en-tête de champ ................................................................. 679
Déplacement de champs/en-têtes de champs .................................................... 680
Modification du nom des champs, d'en-têtes de champs et de formules ............ 680
Mise à jour de l’emplacement d’une table de base de données ......................... 681
Ajout du texte d’aide ......................................................................................... 682
Ajout de graphiques au dictionnaire ............................................. 683
Organisation des graphiques ............................................................................. 683
Création de données exemple pour consultation par les
utilisateurs .................................................................................... 684

xxii Crystal Reports Guide de l’utilisateur


scr8.book Page xxiii Monday, April 2, 2001 12:29 PM

Utilisation d'un dictionnaire existant ............................................ 686


Accès à un dictionnaire pour un état ................................................................ 686
Modification d'un dictionnaire existant ............................................................. 687
Conversion d'un fichier dictionnaire de version 4.x ou 5.x ................................ 687

Appendice A: Modèle de traitement des états


Généralités .................................................................................... 690
Définition de la notion de “ passage ” .............................................................. 690
Pré-passage 1 ................................................................................................... 690
Passage 1 ......................................................................................................... 690
Pré-passage 2 .................................................................................................... 691
Passage 2 .......................................................................................................... 691
Passage 3 .......................................................................................................... 691
Organigramme multi-passages .......................................................................... 692

Glossaire ........................................................................ 693

Crystal Reports Guide de l’utilisateur xxiii


scr8.book Page xxiv Monday, April 2, 2001 12:29 PM

xxiv Crystal Reports Guide de l’utilisateur


scr8.book Page 1 Monday, April 2, 2001 12:29 PM

Bienvenue dans Crystal Reports 1

Bienvenue ! Ce chapitre vous initie à Crystal Reports, la


référence mondiale en matière de création d'états pour la
bureautique et le Web, et fournit un aperçu général du
contenu de ce Guide de l’utilisateur.

Crystal Reports Guide de l’utilisateur 1


scr8.book Page 2 Monday, April 2, 2001 12:29 PM

A propos de Crystal Reports

A propos de Crystal Reports


Crystal Reports, conçu pour fonctionner avec votre base de données, vous aide à
analyser et à interpréter les informations importantes. Crystal Reports facilite la
création d’états simples et possède un ensemble complet d'outils pour la
production d'états complexes ou spécialisés.

Créez des états tels que vous les imaginez


Crystal Reports est conçu pour produire des états depuis pratiquement toutes les
sources de données. Les experts intégrés d'états vous guident pas à pas dans la
conception des états et l'exécution des tâches courantes de création d'états. Les
formules, les tableaux croisés, les sous-états et la mise en forme conditionnelle
vous aident à donner un sens à vos données et révéler des relations importantes
qui seraient autrement dissimulées. Les cartes géographiques et les graphes
permettent de transmettre de manière visuelle les informations lorsque les mots ne
suffisent pas.

Etendez la création d'états au Web


La flexibilité de Crystal Reports ne se limite pas à la création d'états — vos états
peuvent être publiés dans divers formats, parmi lesquels Microsoft Word et Excel,
le format de message électronique et même sur le Web. La création avancée d'états
sur le Web permet aux autres membres de votre équipe de visualiser et de mettre
à jour des états partagés au sein de leur navigateur Internet.

Incorporez des états dans des applications


Les développeurs d'applications et les développeurs Web peuvent gagner du
temps et répondre aux besoins des utilisateurs en intégrant la puissance de
génération d'états de Crystal Reports dans leurs applications de bases de données.
La prise en charge de la plupart des langages de développement permet de faciliter
l'ajout de la création d'états à toute application.

Que vous soyez webmaster dans le département informatique, responsable des


promotions du service marketing, administrateur de base de données dans le
département financier ou PDG, Crystal Reports est un outil puissant, conçu pour
vous aider à analyser et à interpréter les informations importantes pour vous.

2 Crystal Reports Guide de l’utilisateur


scr8.book Page 3 Monday, April 2, 2001 12:29 PM

1 : Bienvenue dans Crystal Reports

A propos de ce manuel
Ce manuel comprend des procédures pour les tâches courantes de création d'états,
telles que le placement des champs, la mise en forme des états et le tri des
enregistrements. Il contient aussi des informations sur des domaines d'intérêt plus
spécifiques tels que la création de formules élaborées et l'accès aux différents types
de données. Utilisez ce manuel comme référence lors de vos créations d'états de
base et pour vous initier aux nouveaux concepts de la création d'états.

Table des matières


Les lignes suivantes contiennent une brève description de chaque chapitre de ce
guide.

Chapitre 1 : Bienvenue dans Crystal Reports


Ce chapitre fournit un aperçu du manuel de l'utilisateur et de l'aide en ligne. Il
répertorie aussi les conventions de commandes, boutons et touches utilisées dans
le manuel de l'utilisateur.

Chapitre 2 : Nouveautés
Crystal Reports comprend un ensemble de nouvelles fonctionnalités pour rendre
encore plus souple la création d'états et de nombreuses améliorations suggérées
par les utilisateurs. Ce chapitre identifie et décrit les nouvelles fonctionnalités et
améliorations de cette version de Crystal Reports.

Chapitre 3 : Installation de Crystal Reports


Ce chapitre vous guide lors de l'installation de Crystal Reports sur votre
ordinateur.

Chapitre 4 : Démarrage rapide


Ce chapitre débute par un aperçu des états d'exemple et des données
habituellement utilisées avec Crystal Reports. Il présente ensuite l'ensemble des
Experts d'état. Tous les utilisateurs, novices ou expérimentés, peuvent tirer parti
de l'utilisation de l'Expert Etat standard car il a de nombreux points en commun
avec les autres Experts d'état. Enfin, ce chapitre propose deux didacticiels : un pour
les débutants et l'autre pour les utilisateurs expérimentés.

Chapitre 5 : Bases de la conception d’états


Ce chapitre décrit les concepts de base de la création d'états et vous aide dans le
choix des informations à inclure dans votre état.

Crystal Reports Guide de l’utilisateur 3


scr8.book Page 4 Monday, April 2, 2001 12:29 PM

A propos de ce manuel

Chapitre 6 : Présentation des états


Ce chapitre décrit les opérations de base pour la création d'un état dans Crystal
Reports. Vous en apprendrez tout d'abord un peu plus sur l'environnement de
conception d'états, la sélection des tables de bases de données, le placement des
objets sur un état et le tri, le regroupement et le calcul des totaux sur les données
de vos états.

Chapitre 7 : Conception d'états web optimisés


Cette section propose des modes de conception des états qui permettent de
bénéficier des nouvelles possibilités offertes par Crystal Reports. Ces conseils sont
également destinés à vous aider à optimiser les performances lorsque vous
exécutez les états sur le Web.

Chapitre 8 : Sélection d'enregistrements


Ce chapitre décrit la procédure à suivre pour filtrer les enregistrements à inclure
dans un état. Utilisez les outils de sélection d'enregistrements pour afficher les
enregistrements spécifiques à un groupe de clients et un ensemble spécifique de
numéros de comptes sur une période donnée.

Chapitre 9 : Tris, groupements et calculs de totaux


Le tri, le groupement et le calcul de totaux sont les étapes qui transforment des
données désorganisées en informations utiles dans un état. Ce chapitre décrit les
types de tris, regroupements et calculs de totaux pouvant être effectués dans un
état.

Chapitre 10 : Totaux cumulés


Les totaux cumulés constituent un moyen souple et puissant pour créer des
résumés spécialisés et des totaux qui s'incrémentent continuellement. Ce chapitre
décrit la procédure à suivre pour ajouter un total cumulé de base et le total cumulé
d'un groupe à votre état. Vous apprendrez aussi à créer des totaux cumulés
conditionnels et des totaux cumulés en utilisant des formules.

Chapitre 11 : Etats à plusieurs sections


Ce chapitre présente les différents types d'états avancés que vous pouvez créer en
utilisant la possibilité de création de sections multiples dans les états de Crystal
Reports. Ces fonctions vous permettent de créer des états qui traitent
différemment les valeurs individuelles en fonction de jeux de critères que vous
établissez. Ces concepts sont ensuite appliqués à la création de lettres types.

Chapitre 12 : Mise en forme


Outre les modifications apportées à la mise en page et à la conception des états, la
mise en forme fait également référence à l'aspect du texte, des objets ou des
sections complètes. Ce chapitre décrit en détail les méthodes pouvant être utilisées

4 Crystal Reports Guide de l’utilisateur


scr8.book Page 5 Monday, April 2, 2001 12:29 PM

1 : Bienvenue dans Crystal Reports

pour attirer l'attention sur des données, nombres et autres valeurs, masquer des
sections indésirables et effectuer une palette d'autres tâches pour donner un aspect
professionnel à votre état.

Chapitre 13 : Création de graphes


Crystal Reports vous permet de présenter des données résumées dans des graphes
et des diagrammes colorés et faciles à lire. Ce chapitre décrit la création de
diagrammes et leur utilisation dans les états pour donner plus de sens aux données
et les rendre plus compréhensibles. En plus de choisir parmi un certain nombre de
modèles et de types de graphe, vous pouvez aussi explorer les détails des résumés
graphiques et mettre en forme les objets graphes.

Chapitre 14 : Génération des cartes


Crystal Reports vous permet d'inclure des cartes géographiques professionnelles
dans chaque état. Ce chapitre décrit l'utilisation de cartes dans les états pour
donner plus de sens aux données de l'état et les rendre plus faciles à interpréter.
Vous pouvez personnaliser et réorganiser les éléments d'une carte et activer le
mode d'exploration afin de visualiser les détails des résumés graphiques.

Chapitre 15 : OLE
Ce chapitre décrit la manière dont OLE (Object Linking and Embedding) peut être
utilisé pour modifier des graphes ou d'autres objets à l'intérieur de votre état au
lieu d'ouvrir une application conventionnelle.

Chapitre 16 : Objets tables croisées


Un objet table croisée est une grille qui affiche des valeurs qui sont groupées et
résumées dans deux directions. Ce chapitre fournit les informations nécessaires à
l'utilisation des objets tables croisées dans vos états.

Chapitre 17 : Les états avec les données OLAP


Ce chapitre décrit la création d'états OLAP avec un mélange d'OLAP et de sources
de données multi-dimensionnelles et la manière de les mettre à jour lorsque
l'emplacement de vos données change.

Chapitre 18 : Distribution et visualisation des états


Ce chapitre fournit les informations nécessaires à la distribution des états terminés
à l'aide de diverses méthodes (impression, télécopie, exportation). Vous y
trouverez également des informations sur l’ouverture des états dans les dossiers
Enterprise.

Chapitre 19 : Alertes d’état


Ce chapitre fournit les informations nécessaires à la création et à l’utilisation
d’alertes dans vos états.

Crystal Reports Guide de l’utilisateur 5


scr8.book Page 6 Monday, April 2, 2001 12:29 PM

A propos de ce manuel

Chapitre 20 : XML
Ce chapitre décrit l'accès aux données XML ainsi que les capacités d'exportation de
Crystal Reports. Après une présentation rapide de la technologie XML sont
décrites les procédures de configuration de l'accès aux données et d'utilisation des
fonctions d'exportation XML.

Chapitre 21 : Création d'états à partir d'Excel ou Access


Ce chapitre décrit les compléments pour Microsoft Excel et Microsoft Access. Il
vous est expliqué comment installer l'Assistant de Crystal Report et créer des états
à partir d'une table ou d'une requête Access ou à partir d'une feuille de calcul
Excel.

Chapitre 22 : Utilisation des formules


Ce chapitre explique les notions de base sur les formules et vous initie à l'Editeur
de formule afin que vous puissiez écrire des formules.

Chapitre 23 : Création de formules avec la syntaxe Basic


Ce chapitre présente un aperçu des différentes parties d'une formule. Vous
apprendrez la syntaxe Basic et les techniques utilisables pour la création d'une
formule.

Chapitre 24 : Création de formules avec la syntaxe Crystal


Ce chapitre présente un aperçu des différentes parties d'une formule. Vous
apprendrez la syntaxe Crystal et les techniques utilisables pour la création d'une
formule.

Chapitre 25 : Champs de paramètres


Ce chapitre concerne les champs de paramètres et la manière dont ils peuvent être
appliqués pour créer un état unique pouvant permettre l'accès à différents types
de données, adapté aux besoins de l'utilisateur.

Chapitre 26 : Sous-états
Un sous-état correspond à un état imbriqué dans un état. Vous pouvez, au moyen
des sous-états, combiner des états non reliés dans un seul état, coordonner des
données qui ne pourraient autrement pas être liées et présenter différents
affichages des mêmes données dans un état unique. Ce chapitre vous montre
comment créer et utiliser les sous-états.

6 Crystal Reports Guide de l’utilisateur


scr8.book Page 7 Monday, April 2, 2001 12:29 PM

1 : Bienvenue dans Crystal Reports

Chapitre 27 : Bases de données


Ce chapitre décrit les notions essentielles que vous devez connaître pour
comprendre la conception et l'utilisation de bases de données. Après la description
des bases de données relationnelles (y compris les sources de données ODBC),
l'indexation et les liaisons de tables, ce chapitre introduit les concepts de traitement
côté-serveur (relayant le traitement des états au niveau du serveur) et le mappage
de champs (recalculer les états et les mappages de champs de base de données
après la modification d'une base de données). Enfin, le chapitre met l'accent sur les
tâches habituelles liées aux bases de données telles que changement d'un pilote de
base de données et la création d'une source de données ODBC.

Chapitre 28 : Accès aux sources de données


Crystal Reports exploite des données en tous genres, depuis de simples fichiers
texte jusqu'à des bases de données SQL client-serveur avancées. Ce chapitre décrit
la manière dont le programme se connecte aux diverses sources de données et les
fichiers devant être mis en place pour effectuer la connexion. Ce chapitre avancé
s'adresse aux utilisateurs déjà expérimentés qui souhaitent savoir comment
Crystal Reports fonctionne en détail.

Chapitre 29 : Le Crystal SQL Designer


Ce chapitre décrit la création de requêtes pouvant être utilisées pour créer des
analyses improvisées ou des jeux de résultats pour la création d'états. Le Crystal
SQL Designer peut être utilisé pour créer, modifier et optimiser des requêtes SQL
complexes.

Chapitre 30 : Dictionnaires
Les dictionnaires sont des vues structurées et simplifiées des données pouvant être
créées pour certaines ou toutes les personnes d'une organisation. Lors de
l'utilisation des dictionnaires, les utilisateurs ne voient que les informations dont
ils ont besoin et que vous voulez qu'ils voient. Ce chapitre démontre la
configuration et l'utilisation de Dictionnaires pour améliorer l'efficacité
organisationnelle et la sécurité.

Appendice A: Modèle de traitement des états


Crystal Reports utilise un modèle évolué de création d'états à plusieurs passages
pour le traitement des états. La compréhension de ce modèle vous aidera à créer
des états efficaces et à résoudre les problèmes de gestion d'état.

Glossaire
Ce manuel comprend un glossaire complet expliquant les concepts élémentaires
des bases de données et de la création d'états, ainsi que des termes spécifiques au
programme.

Crystal Reports Guide de l’utilisateur 7


scr8.book Page 8 Monday, April 2, 2001 12:29 PM

A propos de ce manuel

Aide en ligne
L'aide en ligne de Crystal Reports comprend toutes les rubriques incluses dans le
manuel de l'utilisateur. Elle fournit aussi des références supplémentaires allant des
informations spécifiques sur la fonction d'un bouton jusqu'à des informations
générales sur la création de formules d'états basées sur un scénario d'exemple
professionnel.

Trouver facilement les informations recherchées


Accédez à l'aide en ligne depuis le menu Aide de Crystal Reports.
Utilisez l'onglet Sommaire de l'aide pour afficher les sections principales de l'aide
en ligne et explorer plus en profondeur les titres spécifiques de chaque section,
l'onglet Index pour afficher les rubriques par ordre alphabétique et l'onglet
Rechercher pour entrer un mot-clé et rechercher toutes les sections en relation avec
ce mot-clé.

Liens vers les exemples d'états


L'aide en ligne Crystal Reports propose des liens directs vers les exemples d'états.
Ceux-ci permettent d’illustrer les concepts décrits dans les différentes rubriques.
Vous pouvez les adapter à vos propres besoins.
Les exemples d'états se trouvent dans le répertoire Crystal Reports, sous
\Samples\Fr\Reports.
Pour afficher la liste des exemples d'états, reportez-vous à “Exemples d'états” à la
page 34.

Enregistrement d'un produit


Vous pouvez enregistrer votre produit de plusieurs façons :
 Remplissez le formulaire d'enregistrement du produit se trouvant sur le site
Web de Seagate Software, à l'adresse suivante :
http://www.seagatesoftware.com/register
 Activez l'Assistant d'enregistrement à partir du groupe de programmes
Crystal Enterprise.
 Imprimez ce formulaire et transmettez-le au numéro du service
d'enregistrement par télécopie le plus proche de chez vous. Seagate Software
vous transmettra alors par la même voie un numéro d'enregistrement que
vous pouvez spécifier lors de votre prochaine utilisation du produit.
Numéros à composer pour un enregistrement par télécopie
Etats-Unis/Canada +1 (604) 681-5147
Royaume Uni +44 (0) 20 82 31 06 49
Australie +6 2 9955 7682

8 Crystal Reports Guide de l’utilisateur


scr8.book Page 9 Monday, April 2, 2001 12:29 PM

1 : Bienvenue dans Crystal Reports

Allemagne +49 (0) 69 9509 6182


Hong Kong +852 2893 2727
Singapour +65 777 8786
Vous êtes tenu d'enregistrer votre produit pour pouvoir accéder au support
technique en ligne ou par téléphone. De plus, si vous enregistrez votre produit,
vous serez informé des mises à jour disponibles.

Support technique
Pour savoir comment bénéficier du support technique pour les produits que vous
avez achetés, consultez le guide relatif au support technique ci-joint ou visitez
notre site Web sur le support technique à l'adresse suivante :
http://support.seagatesoftware.com

Conventions de commandes, de boutons et de touches


Ce manuel utilise les conventions suivantes :

Commandes et boutons
Pour être facilement identifiés, les noms de commandes et de boutons sont affichés
en gras. Par exemple : commande Nouveau, bouton Imprimer, etc.

Combinaisons de touches
Les raccourcis clavier apparaissent sous la forme suivante :
 Supprimer correspond à la touche Suppr (Touche Suppr du clavier ou du pavé
numérique).
 Entrée correspond à la touche Entrée, Retour chariot ou ↵ , en fonction du type
de clavier que vous utilisez.
 Ctrl-Touche, Maj-Touche, et Alt-Touche constituent des exemples des
combinaisons de deux touches. Appuyez sur la première touche de la
combinaison (Ctrl, Maj ou Alt) et appuyez en même temps sur la seconde
touche de la combinaison (désignée ci-dessus par Touche). Par exemple : Ctrl-
C signifie qu'il faut garder la touche Contrôle enfoncée et appuyer sur la lettre
C du clavier (Ctrl-C est la commande de copie de Windows).

Autres conventions
La police Letter Gothic correspond aux données à entrer au moyen du clavier. Elle
est aussi utilisée pour l'affichage des formules d'exemple : {orders detail.UNIT
PRICE}*.85.

Crystal Reports Guide de l’utilisateur 9


scr8.book Page 10 Monday, April 2, 2001 12:29 PM

Conventions de commandes, de boutons et de touches

10 Crystal Reports Guide de l’utilisateur


scr8.book Page 11 Monday, April 2, 2001 12:29 PM

Nouveautés 2

Crystal Reports propose de nouvelles fonctionnalités et


présente de nombreuses améliorations, en particulier dans
le domaine de la publication Internet. Ces nouveautés ont
été développées à partir de la version 8, dont la stabilité
n'est plus à prouver.
Elles sont décrites dans ce chapitre et peuvent être réparties
en trois catégories principales :
 Création d'états sur le Web
 Fonctionnalités du Report Designer
 Fonctionnalités de Developer

Crystal Reports Guide de l’utilisateur 11


scr8.book Page 12 Monday, April 2, 2001 12:29 PM

Création d'états sur le Web

Création d'états sur le Web


Pour mieux répondre aux besoins en matière de publication sur Internet, Crystal
Reports est désormais parfaitement intégré à Crystal Enterprise, un outil de
gestion d'états sur le Web qui fonctionne dans l'infrastructure Internet existante de
votre entreprise.
Le CD Crystal Enterprise Standard (livré avec Crystal Reports 8.5) contient un
code clé de licence temporaire du produit, qui permet aux utilisateurs d'installer et
d'utiliser le système Crystal Enterprise pendant 30 jours. Pour obtenir un code clé
d'activation de licence produit, gratuit et sans date limite d'utilisation, vous devez
inscrire votre exemplaire de Crystal Enterprise Standard. Utilisez l’Assistant
d’inscription Crystal situé dans le groupe de programmes Crystal Enterprise pour
effectuer votre inscription.
Si vous avez acquis la version Professional ou Developer de Crystal Reports, vous
disposez également du CD-ROM de Crystal Enterprise Standard. Ce CD-ROM est
fourni avec Crystal Reports, ainsi que cinq autres licences d'accès simultané de
Crystal Enterprise Standard.

Enrichissement du Web Component Server de Crystal Enterprise


Avec sa nouvelle conception, la version améliorée de Web Component Server (WCS)
de Crystal Enterprise est une solution de création d'états sur le Web encore plus
puissante que dans Crystal Reports version 8. Crystal Enterprise Standard présente
des avantages et des améliorations significatifs par rapport à la version 8 de WCS.

Web Component Server fonctionne sur la machine de votre choix


Installez le CD-ROM de Crystal Enterprise Standard sur l'ordinateur à partir
duquel vous souhaitez coordonner vos états Internet. Avec Crystal Enterprise
Standard, il n'est plus obligatoire d'installer ni d’exécuter Crystal Reports et WCS
sur le serveur Web.
Si vous avez besoin d'une solution de création d'états plus modulable, utilisez Crystal
Enterprise Professional. Ce programme peut être installé sur autant de machines que
nécessaire, alors que l'installation de Crystal Enterprise Standard est limitée à un seul
ordinateur. Par ailleurs, Crystal Enterprise Professional vous permet de préciser les
éléments du serveur que vous souhaitez exécuter sur chaque machine.

Extension du cadre de la création d'états pour répondre


à des exigences croissantes
Crystal Enterprise fournit une solution modulable de gestion de l'accès et de la
diffusion sur le Web de centaines de milliers d'états qui peuvent déterminer la
prise de décision à un moment crucial, au sein de l'entreprise et au-delà.

12 Crystal Reports Guide de l’utilisateur


scr8.book Page 13 Monday, April 2, 2001 12:29 PM

2 : Nouveautés

Si votre entreprise a des besoins nouveaux en matière de publication d’états, vous


pouvez effectuer une mise à niveau avec Crystal Enterprise Professional sans
procéder à une nouvelle installation. Vous avez également la possibilité d'ajouter
des licences et des composants supplémentaires afin d'adapter Crystal Enterprise
à l'évolution de votre activité.

Programmation des états pour l'actualisation régulière


des informations
Planifiez l'exécution des états importants à intervalles réguliers afin que toutes les
personnes intéressées aient toujours accès aux données les plus récentes de votre
entreprise.

Publication d'états sur Internet en quelques secondes


Publiez vos états sur Internet en quelques étapes très simples à l'aide de l'assistant
de publication d'états.

Gestion des dossiers pour le partage des états


Pour permettre le partage des états dans l'entreprise et sur le Web, publiez-les dans
le dossier Favoris par défaut des invités de l'APS (Automated Process Scheduler).
Les utilisateurs peuvent également publier des états dans d'autres dossiers, selon
les règles établies par l'administrateur.

Gestion simple à partir d'une console centrale


En regroupant les tâches administratives, Crystal Management Console (CMC)
accélère et simplifie la gestion de votre solution de création d'états sur le web,
quelle que soit la taille de votre entreprise.
Utilisez CMC pour contrôler directement les autorisations d'afficher, d'exécuter ou
de gérer divers éléments. CMC permet de définir tous les droits d'affichage et de
gestion des utilisateurs pour des états déterminés.

Intégration des performances de Crystal Reports avec d'autres


solutions informatiques existantes
Vous pouvez utiliser en toute confiance la solution de création d'états sur le Web
de Crystal avec le serveur Web dont vous disposez déjà.
La prise en charge des serveurs Web de Crystal Enterprise Standard a été nettement
améliorée. La compatibilité est assurée par l'interface DSAPI pour les serveurs
Domino et par un module DSO (Dynamic Shared Object) avec Solaris et Linux.
Crystal Enterprise Standard prend également en charge CGI avec Solaris et Linux.

Crystal Reports Guide de l’utilisateur 13


scr8.book Page 14 Monday, April 2, 2001 12:29 PM

Création d'états sur le Web

Utilisation du langage de script sur le WCS de Crystal Enterprise


Le Web Component Server de Crystal Enterprise offre une prise en charge totale
du langage de script.

Prise en charge XML sur le Web


Crystal Reports reconnaît désormais parfaitement le langage XML (Extensible
Markup Language) adopté par le World Wide Web Consortium (W3C) pour la
diffusion de contenu sur Internet.
XML s'impose actuellement comme le format de données normalisé pour
l'ensemble des technologies d'échange de données car ce langage est reconnu par
toutes les applications et plates-formes. Toujours soucieux d'intégrer les
technologies de pointe, Crystal Reports vous permet de créer des états à partir de
données XML et d'exporter votre travail au format XML.

Accès direct aux données XML


Accédez directement à vos sources de données XML, comme s'il s'agissait de tables
de base de données ordinaires. Le cas échéant, vous pouvez combiner dans un état
des données XML et des informations de base de données standard. Si vous ne
possédez pas encore de source de données XML, ouvrez le dossier ODBC de
l'Explorateur de données et recherchez la source de données XML modèle installée
avec Crystal Reports.

Exportation des données des états directement au format XML


Crystal Reports vous permet d'exporter rapidement les données d'un état au
format XML. Vous pouvez ensuite transmettre ces données à d'autres applications
de commerce électronique utilisées pour la lecture et la gestion des informations.

Améliorer vos performances grâce à la rapidité de traitement


Rentabilisez l'utilisation de Crystal Reports grâce aux améliorations apportées au
moteur de Crystal Report dont les capacités accrues de gestion de la mémoire
accélèrent les performances, en particulier sur les machines multiprocesseur.
Par ailleurs, ce moteur permet désormais un traitement rapide de la création de
sous-états sur demande ou d'états avec des champs de paramètres. La prise en
charge de l'accès à des bases de données de type multitraitement a été améliorée et
un nombre illimité de tâches peuvent être exécutées simultanément.

14 Crystal Reports Guide de l’utilisateur


scr8.book Page 15 Monday, April 2, 2001 12:29 PM

2 : Nouveautés

Meilleure interactivité avec les paramètres


L'utilisation de paramètres permet non seulement la création d'états sous le
contrôle de l'utilisateur mais accroît également les performances, notamment sur
le Web. Créez des états à objectifs multiples afin de vous assurer que chacun reçoit
rapidement les informations appropriées.
Tous les visualiseurs d'états sur le Web de Crystal Reports ont été améliorés de
manière à permettre aux créateurs et aux utilisateurs finaux de profiter pleinement
des possibilités des paramètres sur le Web. Qu'ils choisissent un visualiseur Java,
ActiveX ou DHTML, les utilisateurs ont la possibilité de contrôler les informations
affichées en acceptant les paramètres par défaut, en choisissant de nouveaux
paramètres dans des listes d'options, en définissant des valeurs multiples ou en
saisissant des plages de valeurs.

Visualiseur d'états DHTML personnalisable


Personnalisez le visualiseur dynamique HTML de Crystal Reports afin qu'il
s'intègre parfaitement à la conception d'un site de commerce électronique existant
ou d'un intranet d'entreprise. Le visualiseur DHTML expose les opérations de sa
barre d'outils (via JavaScript), ce qui permet aux créateurs d'états de personnaliser
à la fois son fonctionnement et la façon dont il se présente.
L'adaptabilité du nouveau visualiseur DHTML est telle que les utilisateurs
peuvent afficher des états, explorer des graphiques, créer des liens vers des sous-
états sur demande et exporter rapidement des données importantes, sans même
s'apercevoir que leur expérience est dirigée par Crystal Reports.

Utilisation de la documentation Crystal Reports pour optimiser


les performances des états
Apprenez à créer des états plus performants en consultant le nouveau chapitre de
la documentation et de l'aide en ligne de Crystal Reports. Ce guide (“Conception
d'états web optimisés” à la page 107) traite principalement de la création rapide et
efficace d'états sur le Web. Il explique également comment utiliser efficacement
l'éditeur d'instructions SQL, le groupement sur le serveur et d'autres modes de
traitement côté serveur afin de bénéficier de toutes les possibilités du système de
gestion de base de données (SGBD). Approfondissez vos connaissances jusqu'à
obtenir le degré de performance souhaité.

Connexion aux dossiers APS depuis Crystal Reports


Connectez-vous rapidement et sans difficulté à l'APS (Automated Process Scheduler)
de Crystal Enterprise depuis Crystal Reports. Lorsque vous activez la commande
Connexion à APS du menu Fichier, Crystal Reports détecte la présence de Crystal
Enterprise et affiche les dossiers APS correspondants dans la boîte de dialogue
Ouvrir/Enregistrer sous.

Crystal Reports Guide de l’utilisateur 15


scr8.book Page 16 Monday, April 2, 2001 12:29 PM

Fonctionnalités du Report Designer

Cette fonctionnalité est également disponible dans la version Crystal Reports


Standard.

Affichage des états sur le Web, indépendamment de l'emplacement


du serveur
Utilisez les adresses URL relatives pour partager vos états et les objets associés sur
n'importe quel serveur, dans le répertoire de votre choix. Chaque état reste
indépendant de son emplacement réel, car les adresses URL relatives éliminent
tous liens de dépendance à un serveur particulier ou à un répertoire virtuel.

Extension des capacités de créations d'états à l'aide d'applications


supplémentaires
Avec Crystal Enterprise Standard, accédez aux états partagés par l'intermédiaire
d’ePortfolio, d'autres modèles ou de toute application client conçue par
l'administrateur (à l'aide de SDK).

Fonctionnalités du Report Designer


Ces améliorations ont été apportées à toutes les versions de Crystal Reports, sauf
indication contraire.

Création d'alertes d'état pour notification instantanée


Configurez des alertes d'états afin d'être informé dès que les données d'un état
atteignent une cible définie ou pour rappeler aux utilisateurs qu'ils doivent
exécuter une tâche déterminée. Ces messages personnalisés, créés dans Crystal
Reports, s'affichent lorsque les données de l'état remplissent des conditions
prédéfinies. Les alertes sont propres à chaque état, vous pouvez donc décider
quand elles doivent être utilisées. Comme vous créez vous-même le message, vous
pouvez l'adapter exactement à vos données.

Exportation de données aux formats PDF, XML, RTF et HTML amélioré


Exportez les états directement au format PDF (Portable Document Format), puis
diffusez-les par courrier électronique, sur le Web ou en version imprimée. Vous
pouvez également exporter des données directement au format XML ou profiter
de la nouvelle fonction d'exportation au format RTF (Rich Text Format) basé sur le
format EPF (Encapsulated Page Format) de Crystal Reports.
Remarque : En outre, Crystal Reports permet désormais l'exportation de plages
de pages aux formats PDF et RTF. Les performances des fonctions d'exportation
HTML et DHTML ont également été améliorées.

16 Crystal Reports Guide de l’utilisateur


scr8.book Page 17 Monday, April 2, 2001 12:29 PM

2 : Nouveautés

Accès à des sources de données supplémentaires


L'accès étendu aux données fourni par Crystal Reports permet de créer
directement des états à partir de données XML et de données stockées dans les
bases de données ACT2000 et Exchange 2000 (via ADO). Crystal Reports 8.5
contient également des mises à jour des pilotes ODBC Merant 3.6.
Elaborez vos propres requêtes SQL à l'aide de Crystal SQL Designer, qui reconnaît
désormais l'utilisation de pilotes natifs comme sources de données (Serveur SQL
MS, DB2, Oracle, Informix et Sybase).
Remarque : Les pilotes ODBC Merant, l'accès aux données XML et Crystal SQL
Designer ne sont pas disponibles dans la version Crystal Reports Standard.

Copie d'objets d'états dans d'autres applications


Il est désormais possible de copier des objets d'états entiers, y compris des graphes
et cartes, dans le Presse-papiers Windows. Vous pouvez ainsi copier les valeurs
qui figurent dans un état et les coller dans d'autres applications en tant qu'images
bitmap, fichiers textes, métafichiers, etc.

Récapitulation des données dans des groupes hiérarchiques


Clarifiez les ensembles de données complexes et volumineux grâce aux nouvelles
possibilités de création de champs de sous-totaux, de totaux généraux et de
résumés pour les groupes hiérarchiques.

Amélioration des formules à l'aide de nouvelles fonctions avancées


Modifiez la mise en forme des états en utilisant les nouvelles fonctionnalités
d'alerte conjointement avec les alertes d'état. IsAlertEnabled( ), IsAlertTriggered( )
et AlertMessage( ) permettent de créer des formules conditionnelles qui formatent
les objets d'un état lorsque les conditions d'une alerte d'état sont réunies.
Afin d'accroître les possibilités offertes pour la mise en forme conditionnelle des
tables croisées et des grilles OLAP, la fonction GridRowColumnValue a été
étendue et son utilisation simplifiée.

Personnalisation des options de police par défaut


Personnalisez les paramètres de police par défaut pour afficher les champs,
intitulés de champs et objets textes avec des tailles en points fractionnelles (10,5 ;
15,5 ; etc). Apportez les modifications souhaitées dans l'onglet Polices de la boîte
de dialogue Options (menu Fichier).

Crystal Reports Guide de l’utilisateur 17


scr8.book Page 18 Monday, April 2, 2001 12:29 PM

Fonctionnalités de Developer

Affichage plus rapide des données grâce aux fonctions améliorées de


création de graphes et de cartes
Expérimentez les nouvelles fonctionnalités de création de graphes et les interfaces
améliorées pour la création et la mise en forme des graphiques dans vos états.
Sélectionnez Définir les options de graphe automatiquement et l'Expert Graphe se
charge des détails pour vous, afin de vous permettre de visualiser vos données
plus vite que jamais. L'Expert Graphe et l'Expert Carte proposent également des
info-bulles pour vous aider.

Analyse rapide des types de données


Pour connaître le type des données qui se trouvent dans chaque champ de votre
base de données, cliquez sur le nouveau bouton Afficher le type de champ dans
l'Explorateur de champs.

Enregistrement des aperçus par défaut


Pour fournir aux utilisateurs un aperçu de tous les états, enregistrez une image
miniature avec chaque fichier. Crystal Reports le fera automatiquement si vous
sélectionnez Enregistrer l'aperçu de l'image dans l'onglet des options de création
d'état par défaut (Fichier > Options > Création d'état).

Fonctionnalités de Developer
Ces améliorations concernent uniquement les développeurs qui utilisent Crystal
Reports Developer Edition. Si vous possédez la version Standard ou Professional
de Crystal Reports, vous pouvez télécharger une copie d'évaluation du dernier
Report Designer Component depuis le site http://www.seagatesoftware.com.

Incorporation de Crystal Reports Designer Control


Le composant incorporable Crystal Reports Designer Control est un nouveau
composant ActiveX destiné au Report Designer Component (RDC). Les
développeurs peuvent intégrer ce composant afin de permettre à leurs utilisateurs
de concevoir des états depuis les applications qu'ils développent.

18 Crystal Reports Guide de l’utilisateur


scr8.book Page 19 Monday, April 2, 2001 12:29 PM

2 : Nouveautés

Utilisation du modèle d'objet RDC unifié


Le modèle d'objet RDC unifié (craxddt.dll) est une combinaison des modèles d'objet
RDC de création et d'exécution. Le nouveau modèle unifié permet aux développeurs
d'utiliser simultanément les fonctions et les composants ActiveX Crystal Reports
Designer Control incorporables dans le modèle d'objet d'exécution RDC.

Redistribution du serveur d'état ASP


Le serveur d'état ASP amélioré (rptserver.asp) ne dépend plus du serveur Web
Component Server, ce qui permet aux développeurs de distribuer facilement leurs
applications Web ASP.

Accès aux données XML lors de l'exécution


Utilisezle Report Designer Component pour accéder aux flux de données XML lors
de l'exécution et transmettre ces informations à des objets dans des applications de
création d'états.

Administration simplifiée grâce au gestionnaire de licences


Utilisez le gestionnaire de licences pour contrôler vos licences et vos codes clés
Crystal Reports (disponible uniquement avec Crystal Reports Developer Edition).
Ce nouvel outil administratif vous permet de vérifier facilement que votre
installation répond toujours à vos besoins en matière de création d'états. Il vous
permet également de connaître le nombre de licences utilisateurs simultanées dans
l'environnement ASP. Le gestionnaire de licences est accessible depuis le groupe
de programmes Outils de Crystal Reports dans le menu Démarrer.
Notez que le Report Designer Component fonctionne uniquement dans la limite
du nombre de licences simultanées lorsque vous l'utilisez en tant que serveur
d'états.

Report Designer Component 8.5


Conçu pour Microsoft Visual Studio et d'autres environnements de développement
COM, Report Designer Component 8.5 (RDC) offre aux développeurs des
possibilités de contrôle inégalées sur la mise en forme des états et leur formatage
pour le Web et pour des applications de création d'états Windows.
Pour refléter les fonctions améliorées du moteur de Crystal Report, RDC prend
désormais en charge les nouvelles fonctions de Crystal Reports, y compris
l'exportation PDF, l'exportation et l'accès aux données XML, la création d'alertes,
les résumés pour les groupes hiérarchiques, etc.

Crystal Reports Guide de l’utilisateur 19


scr8.book Page 20 Monday, April 2, 2001 12:29 PM

Informations complémentaires

Distribution de RDC
Le visualiseur a été amélioré afin de permettre aux développeurs de distribuer
plus facilement les applications RDC.

Applications modèles Lotus Domino


Si vous utilisez Crystal Reports avec Lotus Domino, reportez-vous aux modèles
d'applications Lotus Domino. Ces documents présentent les avantages de
l'utilisation de Crystal Reports avec Lotus Domino.
Si vous avez procédé à l'installation par défaut, vous trouverez ces documents
dans le répertoire des programmes (généralement C:\Program Files\Seagate
Software\Crystal Reports\Samples\Fr\Reports\Lotus Domino). Vous pouvez
également charger ces états depuis une application Lotus Notes. Il suffit d'ouvrir
Crazev6.nsf ou Xglobal.nsf dans Lotus Notes.

Informations complémentaires
Nouveautés sur les produits Crystal Reports
http://www.seagatesoftware.com/products/crystalreports/

Démos Crystal Reports


http://www.seagatesoftware.com/products/crystalreports/showme/

Nouveautés sur les produits Crystal Enterprise


http://www.seagatesoftware.com/products/crystalenterprise/

Informations sur les produits


http://www.seagatesoftware.com/products/

Rubrique des développeurs


http://www.seagatesoftware.com/products/dev_zone/

Support en ligne, échantillons et informations techniques


http://support.seagatesoftware.com/homepage/

Formation et conseil
http://www.seagatesoftware.com/services/

Page d'accueil Seagate Sofware


http://www.seagatesoftware.com/homepage/

20 Crystal Reports Guide de l’utilisateur


scr8.book Page 21 Monday, April 2, 2001 12:29 PM

Installation de Crystal Reports 3

Ce chapitre vous guide lors de l'installation de Crystal


Reports localement à partir du CD du produit. Il explique
également comment installer Crystal Reports sur un
serveur de réseau et à partir d'un serveur de réseau vers un
poste de travail. Les rubriques supplémentaires
comprennent “Personnalisation de l'installation” à la
page 27 et “Installation de Crystal Enterprise” à la page 29.

Crystal Reports Guide de l’utilisateur 21


scr8.book Page 22 Monday, April 2, 2001 12:29 PM

Installation de Crystal Reports

Installation de Crystal Reports


L'Assistant d'installation de Crystal Reports fonctionne avec Microsoft Windows
Installer et vous guide tout au long du processus d'installation. Cet Assistant
d'installation reconnaît automatiquement le système d'exploitation de votre
ordinateur et met à jour les fichiers nécessaires.
Ce chapitre fournit les instructions pas à pas d'installation de Crystal Reports et
vous montre comment personnaliser votre installation. Les rubriques principales
sont :
 Configuration requise pour l'installation
 Installation sur une machine locale à partir du CD
 Installation sur et à partir d'un serveur de réseau
 Personnalisation de l'installation
 Installation de Crystal Enterprise.
A la fin du processus d'installation, vous êtes invité à enregistrer votre produit.
Suivez les instructions qui apparaissent à l'écran pour terminer ce processus.

Configuration requise pour l'installation


Configuration requise pour une installation locale (à partir du CD)
 Microsoft Windows 95/98/2000, Windows NT 4.0 ou une version ultérieure
 Mémoire RAM minimum : 16 Mo (32 Mo pour Windows NT)
 Mémoire RAM recommandée : 32 Mo
 Espace libre minimum requis sur le disque dur (pour toutes les versions) : 60 Mo
 Espace libre maximum requis sur le disque dur :
 Edition Developer : 350 Mo
 Edition Professional : 350 Mo
 Edition Standard : 155 Mo.
Il est conseillé de disposer d'un espace libre supplémentaire de 100 Mo sur le
lecteur C:. Cette espace sera utilisé par Windows lors de l'installation. Si votre
système ne dispose pas de la configuration requise, le programme risque de ne pas
fonctionner correctement.

Configuration requise pour une installation en réseau


 Microsoft Windows 95/98/2000, Windows NT 4.0 ou une version ultérieure
 Mémoire RAM minimum : 16 Mo (32 Mo pour Windows NT)
 Mémoire RAM recommandée : 32 Mo

22 Crystal Reports Guide de l’utilisateur


scr8.book Page 23 Monday, April 2, 2001 12:29 PM

3 : Installation de Crystal Reports

 Espace disque normal requis sur un serveur de réseau : 217 Mo


 Espace disque normal requis sur un poste de travail : 105 Mo.
Nous vous conseillons également de disposer d'un espace libre supplémentaire de
100 Mo sur votre lecteur C: afin d'utiliser Windows lors de l'installation. Si votre
système ne dispose pas de la configuration requise, le programme risque de ne pas
fonctionner correctement.

Installation sur une machine locale à partir du CD


Si vous installez Crystal Reports sur un ordinateur fonctionnant sous Windows NT
ou Windows 2000, vous devez disposer des privilèges en tant qu'Administrateur.
Le processus d'installation crée des entrées au registre et peut mettre à jour certains
fichiers système qui nécessitent ces privilèges.
Veuillez arrêter tous les programmes en cours d'exécution et autant de services
que possible lorsque vous installez Crystal Reports.
Si vous ne voulez pas installer toutes les fonctionnalités, reportez-vous à la section
“Personnalisation de l'installation” à la page 27.
Remarque : L'installation de Crystal Reports 8.5 supprime Web Component
Server qui était inclus dans les éditions Developer et Professional de Crystal
Reports 8. Pour retrouver cette possibilité de distribution des états via le Web,
installez le logiciel Crystal Enterprise qui fait partie des éditions Developer et
Professional de Crystal Reports 8.5. Pour plus d'informations, reportez-vous à
“Installation de Crystal Enterprise” à la page 29.

Pour effectuer l'installation sur un ordinateur local


1 Insérez le CD de Crystal Reports et, s'il ne démarre pas automatiquement,
naviguez jusqu'à votre lecteur de CD-ROM et cliquez deux fois sur le fichier
Setup.exe.
Remarque : En fonction de la configuration actuelle de votre système, une
boîte de dialogue peut vous informer que des fichiers existants doivent être
mis à jour. Dans ce cas, cliquez sur Oui et redémarrez votre ordinateur.
L'Assistant d'installation met à jour les fichiers nécessaires.
2 Lisez et acceptez le contrat de licence pour continuer l'installation.
3 Dans la boîte de dialogue Informations utilisateur, entrez votre nom,
l'entreprise et le code clé d'installation.
Truc : Ce code de clé est imprimé sur l'autocollant au dos du boîtier du CD-ROM.
4 Cliquez sur Suivant.
La boîte de dialogue Sélectionnez un type d'installation s'affiche.

Crystal Reports Guide de l’utilisateur 23


scr8.book Page 24 Monday, April 2, 2001 12:29 PM

Installation sur et à partir d'un serveur de réseau

5 Choisissez le type d'installation que vous voulez effectuer :


 Standard installe les fonctionnalités les plus courantes de l'application.
 Intégrale installe la plupart des fonctionnalités et des sous-composants de
l'application.
 Personnalisée permet de sélectionner les fonctionnalités à installer, le
répertoire d'installation et de vérifier l'espace disque requis pour chaque
fonctionnalité. Pour plus d'informations, reportez-vous à “Personnalisation
de l'installation” à la page 27.
6 Cliquez sur Parcourir si vous souhaitez installer Crystal Reports dans un
répertoire différent de l'emplacement par défaut.
Le répertoire par défaut est C:\Program Files\Seagate Software\Crystal
Reports\
7 Cliquez sur Suivant.
La boîte de dialogue Démarrage de l'installation s'affiche.
8 Cliquez sur Suivant pour lancer la copie des fichiers sur votre lecteur local.

Installation sur et à partir d'un serveur de réseau


Une installation en réseau de Crystal Reports comprend deux étapes :
1 Exécutez l'installation de l'administrateur pour copier les fichiers sur le
serveur du réseau. Voir “Installation de Crystal Reports sur un réseau” à la
page 25.
2 Accédez à ce serveur à partir d'un poste de travail et exécutez le fichier
Setup.exe pour installer Crystal Reports sur ce poste. Voir “Installation de
Crystal Reports à partir d'un réseau” à la page 26.

24 Crystal Reports Guide de l’utilisateur


scr8.book Page 25 Monday, April 2, 2001 12:29 PM

3 : Installation de Crystal Reports

Installation de Crystal Reports sur un réseau


Cette procédure doit être effectuée par un administrateur réseau disposant d'un
accès en écriture et de privilèges réseau. Une fois cette procédure terminée, les
utilisateurs finaux pourront accéder aux fichiers Setup.exe à partir du réseau pour
installer Crystal Reports sur leur machine locale.
Si vous installez Crystal Reports sur un ordinateur fonctionnant sous Windows NT
ou Windows 2000, vous devez disposer des privilèges en tant qu'Administrateur.
Le processus d'installation créée des entrées au registre et peut mettre à jour
certains fichiers système qui nécessitent ces privilèges.
Veuillez arrêter tous les programmes en cours d'exécution et autant de services
que possible lorsque vous installez Crystal Reports.
Remarque :
 L'installation de Crystal Reports 8.5 supprime Web Component Server qui
était inclus dans les éditions Developer et Professional de Crystal Reports 8.
Pour retrouver cette possibilité de distribution des états via le Web, installez le
logiciel Crystal Enterprise qui fait partie des éditions Developer et Professional
de Crystal Reports 8.5. Pour plus d'informations, reportez-vous à “Installation
de Crystal Enterprise” à la page 29
 Si les utilisateurs n'ont pas configuré Microsoft Windows Installer sur leur
machine, le processus d'installation détecte le système d'exploitation du poste
de travail et installe le progiciel Microsoft Windows Installer approprié.

Pour installer Crystal Reports sur un réseau


1 Initialisez l'installation de l'administrateur en exécutant le fichier Setup.exe
avec un commutateur de ligne de commande supplémentaire /a.
Par exemple, cliquez sur le bouton Démarrer, sélectionnez Exécuter et
saisissez :
<path> Setup.exe /a
où <path> correspond à l'emplacement du programme d'installation de Crystal
Reports.
2 Dans la boîte de dialogue Installation Admin, cliquez sur Parcourir pour
choisir l'emplacement sur le réseau où vous voulez installer les fichiers Crystal
Reports.
3 Cliquez sur Suivant.
4 Dans la boîte de dialogue de vérification Installation Admin qui apparaît,
cliquez sur Suivant pour commencer à copier les fichiers sur le réseau.
Une fois les fichiers copiés sur le réseau, les utilisateurs peuvent cliquer deux
fois sur le fichier Setup.exe pour commencer l'installation.

Crystal Reports Guide de l’utilisateur 25


scr8.book Page 26 Monday, April 2, 2001 12:29 PM

Installation sur et à partir d'un serveur de réseau

Installation de Crystal Reports à partir d'un réseau


Si votre administrateur réseau a installé Crystal Reports sur le réseau, assurez-
vous que vous possédez des privilèges en lecture sur ce réseau avant de
commencer le processus.
Si vous installez Crystal Reports sur un ordinateur fonctionnant sous Windows NT
ou Windows 2000, vous devez disposer des droits d'accès en tant
qu'Administrateur. Le processus d'installation crée des entrées au registre et peut
mettre à jour certains fichiers système qui nécessitent les droits d'accès en tant
qu'Administrateur.
Veuillez arrêter tous les programmes en cours d'exécution et autant de services
que possible lorsque vous installez Crystal Reports.
Remarque : L'installation de Crystal Reports 8.5 supprime Web Component
Server qui était inclus dans les éditions Developer et Professional de Crystal
Reports 8. Pour retrouver cette possibilité de distribution des états via le Web,
installez le logiciel Crystal Enterprise qui fait partie des éditions Developer et
Professional de Crystal Reports 8.5. Pour plus d'informations, reportez-vous à
“Installation de Crystal Enterprise” à la page 29.

Pour installer Crystal Reports à partir d'un réseau


1 Accédez au serveur du réseau qui contient les fichiers d'installation de Crystal
Reports.
2 Cliquez deux fois sur Setup.exe.
Remarque : En fonction de la configuration actuelle de votre système, une
boîte de dialogue peut vous informer que des fichiers existants doivent être
mis à jour. Cliquez sur Oui et redémarrez votre machine. L'Assistant
d'installation met à jour les fichiers nécessaires.
3 Lisez et acceptez le contrat de licence pour continuer l'installation.
4 Dans la boîte de dialogue Informations utilisateur, entrez votre nom,
l'entreprise et le code clé d'installation.
Truc : Vous devrez peut-être contacter votre administrateur pour connaître ce
code clé.
5 Cliquez sur Suivant.
La boîte de dialogue Sélectionnez un type d'installation s'affiche.
6 Choisissez le type d'installation que vous voulez effectuer :
 Standard installe les fonctionnalités les plus courantes de l'application.
 Intégrale installe la plupart des fonctionnalités et des sous-composants de
l'application.
 Personnalisée permet de sélectionner les fonctionnalités à installer, le
répertoire d'installation et de vérifier l'espace disque requis pour chaque

26 Crystal Reports Guide de l’utilisateur


scr8.book Page 27 Monday, April 2, 2001 12:29 PM

3 : Installation de Crystal Reports

fonctionnalité. Pour plus d'informations, reportez-vous à “Personnalisation


de l'installation” à la page 27.
Remarque : Si vous souhaitez installer certaines fonctionnalités afin qu'elles
fonctionnent depuis le réseau, choisissez une installation personnalisée.
7 Cliquez sur le bouton Parcourir si vous souhaitez installer Crystal Reports
dans un répertoire différent de l'emplacement par défaut.
Le répertoire par défaut est C:\Program Files\Seagate Software\Crystal
Reports\
8 Cliquez sur Suivant.
La boîte de dialogue Démarrage de l'installation s'affiche.
9 Cliquez sur Suivant pour lancer la copie des fichiers sur votre lecteur local.

Personnalisation de l'installation
La sélection de l'option d'installation Personnalisée appelle la boîte de dialogue
Sélection des fonctionnalités qui vous permet d'installer des fonctionnalités
spécifiques, de modifier l'emplacement par défaut de plusieurs d'entre elles et de
vérifier l'espace disque requis par chacune d'elles.

Les icônes présentes dans l'arborescence indiquent si la fonctionnalité et ses sous-


fonctionnalités seront installées ou non :
 une icône blanche signifie que la fonctionnalité et toutes ses sous-
fonctionnalités seront installées ;
 une icône ombrée signifie que la fonctionnalité et certaines de ses sous-
fonctionnalités seront installées ;

Crystal Reports Guide de l’utilisateur 27


scr8.book Page 28 Monday, April 2, 2001 12:29 PM

Personnalisation de l'installation

 une croix rouge signifie qu'aucune fonctionnalité ou sous-fonctionnalité ne


sera installée.
Pour sélectionner la configuration et l'emplacement d'une fonctionnalité ou d'une
sous-fonctionnalité, cliquez sur son icône.
Remarque : Vous pouvez définir la configuration et l'emplacement propres à
chaque fonctionnalité ou sous-fonctionnalité.
Utilisez la table suivante pour déterminer les options d'installation de chaque
fonctionnalité ou sous-fonctionnalité :

Type d'installation de
Description des éléments installés
fonctionnalité
Installation sur le disque dur  Installe la fonctionnalité sur le disque
local dur local.
 Utilise les paramètres de l'installation
personnalisée pour installer certaines
sous-fonctionnalités de la
fonctionnalité sur le disque dur local.
Installation de la fonctionnalité  Installe la fonctionnalité et toutes ses
complète sur le disque dur local sous-fonctionnalités sur le disque dur
local.
Installation en vue d'une  Exécute la fonctionnalité et ses sous-
exécution à partir du CD ou du fonctionnalités personnalisées à partir
réseau du CD ou du réseau.
Remarque : Certaines sous-
fonctionnalités sont configurées en vue
d'une exécution à partir du CD ou du
réseau. Celles-ci seront installées sur le
disque dur local.
Installation de la fonctionnalité  Exécute la fonctionnalité et toutes ses
complète en vue d'une exécution sous-fonctionnalités à partir du CD ou
à partir du CD ou du réseau du réseau.
Remarque : Certaines sous-
fonctionnalités sont configurées en vue
d'une exécution à partir du CD ou du
réseau. Celles-ci seront installées sur le
disque dur local.

28 Crystal Reports Guide de l’utilisateur


scr8.book Page 29 Monday, April 2, 2001 12:29 PM

3 : Installation de Crystal Reports

Type d'installation de
fonctionnalité Description des éléments installés

Installation de la fonctionnalité si  Installe la fonctionnalité ou la sous-


nécessaire fonctionnalité à partir du CD ou du
réseau lors de la première utilisation.
Remarque : Cette option est uniquement
disponible pour la fonctionnalité de
Crystal Reports et ses sous-
fonctionnalités : Crystal Report
Designer, Crystal Dictionaries et Crystal
SQL Designer.
La fonctionnalité complète ne  Aucune fonctionnalité ou sous-
sera pas disponible fonctionnalité n'est installée.
Remarque : Les sous-fonctionnalités sont énumérées sous chaque
fonctionnalité. Le type d'installation d'une sous-fonctionnalité peut être
différent de celui de la fonctionnalité à laquelle elle appartient.

Installation de Crystal Enterprise


Crystal Enterprise remplace les fonctionnalités Web de Crystal Report et en
introduitde nouvelles telles que la planification des états, la sécurité et l'évolution.
Le CD Crystal Enterprise Standard (livré avec Crystal Reports 8.5) contient un
code clé de licence temporaire du produit, qui permet aux utilisateurs d'installer et
d'utiliser le système Crystal Enterprise pendant 30 jours. Pour obtenir un code clé
d'activation de licence produit, gratuit et sans date limite d'utilisation, vous devez
inscrire votre exemplaire de Crystal Enterprise Standard. Utilisez l’Assistant
d’inscription Crystal situé dans le groupe de programmes Crystal Enterprise pour
effectuer votre inscription.
Cette version de Crystal Enterprise incluse dans les éditions Developer et
Professional de Crystal Reports 8.5 installe tous les composants nécessaires à
l'exécutionde Crystal Enterprise sur une machine.
Les composants suivants sont installés en même temps que Crystal Enterprise:
 ePortfolio
 Crystal Publishing Wizard
 Crystal Management Console (CMC)
 Crystal Configuration Manager
 Assistant d’importation Crystal
 Crystal Web Component Server (WCS)
 Crystal Automated Process Scheduler (APS)
 Crystal Cache Server

Crystal Reports Guide de l’utilisateur 29


scr8.book Page 30 Monday, April 2, 2001 12:29 PM

Installation de Crystal Enterprise

 Crystal Page Server


 Crystal Input File Repository Server
 Crystal Output File Repository Server
 Crystal Job Server.
Tous ces services sont activés une fois l'installation terminée. Un compte
Administrateur et un compte d'utilisateur invité sont créés. Des exemples d'état
sont également installés.

Démarrage
Crystal Enterprise utilise un assistant qui vous guide tout au long du processus
d'installation. Cet assistant d'installation reconnaît automatiquement le système
d'exploitation de votre ordinateur et met à jour les fichiers nécessaires.

Configuration système requise


Une installation autonome de Crystal Enterprise nécessite au minimum la
configuration système suivante :
 Microsoft Windows NT 4 SP5, Windows 2000.
 Microsoft Internet Information Services (IIS) 2, Netscape Enterprise Server 3.6
(et le tout dernier SP), Netscape FastTrack 3.01 (et le tout dernier SP) ou un
serveur Web qui prend en charge l'interface CGI (Common Gateway
Interface).
 64 Mo de mémoire RAM minimum, 128 Mo sont recommandés.
 180 Mo d'espace disque disponible.
 Microsoft Internet Explorer 4.01, Netscape 4.6 (la version 4.75 est
recommandée).
Si votre système ne dispose pas de la configuration requise, le programme risque
de ne pas fonctionner correctement.

Exécution de l'installation
Cette section décrit deux méthodes d'installation de Crystal Enterprise:
 “Installation de Crystal Enterprise immédiatement après celle de Crystal
Reports” à la page 31
 “Installation ultérieure de Crystal Enterprise” à la page 31.
La première méthode peut être utilisée si vous recevez un message après avoir
installé ou mis à niveau Crystal Reports. La seconde méthode peut être utilisée à
n'importe quel moment.

30 Crystal Reports Guide de l’utilisateur


scr8.book Page 31 Monday, April 2, 2001 12:29 PM

3 : Installation de Crystal Reports

Installation de Crystal Enterprise immédiatement après celle de


Crystal Reports
Si l'ordinateur sur lequel vous installez ou mettez à niveau Crystal Reports est
équipé d'un serveur Web, le programme d'installation affiche la boîte de dialogue
suivante :

Si vous souhaitez installer Crystal Enterprise maintenant, insérez le CD de


Crystal Enterprise ou saisissez le chemin du répertoire à partir duquel vous
voulez exécuter le programme d'installation. Pour continuer, passez à l'étape 2
de la procédure Installation ultérieure de Crystal Enterprise.
Si vous ne souhaitez pas installer Crystal Enterprise maintenant, cliquez sur Terminer
pour quitter cette boîte de dialogue. Vous pouvez l'installer ultérieurement grâce
à la procédure Installation ultérieure de Crystal Enterprise.

Installation ultérieure de Crystal Enterprise


1 Insérez le CD de Crystal Enterprise et, s'il ne démarre pas automatiquement,
naviguez jusqu'à votre lecteur de CD-ROM et cliquez deux fois sur le fichier
Setup.exe.
L'Assistant Wise Installation Wizard démarre l'installation et le programme de
configuration de Crystal Enterprise recherche les composants déjà installés.
2 Suivez les instructions qui apparaissent à l'écran et qui concernent la licence, etc.
3 Dans la boîte de dialogue Informations utilisateur, entrez votre nom,
l'entreprise et le numéro de la licence.
4 Cliquez sur Suivant.

Crystal Reports Guide de l’utilisateur 31


scr8.book Page 32 Monday, April 2, 2001 12:29 PM

Installation de Crystal Enterprise

La boîte de dialogue Type d'installation s'affiche :

5 Cliquez sur Parcourir si vous voulez indiquer un dossier de destination


différent du dossier sélectionné par défaut.
Recherchez le nouveau dossier sur votre ordinateur.
6 Sélectionnez l'option d'installation Nouveau.
7 Cliquez sur Suivant.
8 Cliquez sur Suivant dans la boîte de dialogue Démarrage de l'installation dès
que vous êtes prêt à commencer l'installation.
L'installation des fichiers commence immédiatement. Une fois la copie des
fichiers terminée, l'écran de configuration final s'affiche.
9 Désélectionnez Lancer l'Assistant de publication d'état si vous ne voulez pas
que l’assistant démarre immédiatement.
10 Cliquez sur Terminer.

32 Crystal Reports Guide de l’utilisateur


scr8.book Page 33 Monday, April 2, 2001 12:29 PM

Démarrage rapide 4

Ce chapitre commence par une vue d'ensemble des


exemples d'états et données couramment utilisés avec
Crystal Reports. Il présente ensuite l'ensemble des Experts
d'état. Tous les utilisateurs, novices ou expérimentés,
peuvent tirer parti de l'utilisation de l'Expert Etat standard
car il a de nombreux points en commun avec les autres
Experts d'état. Enfin, ce chapitre propose deux didacticiels :
un pour les débutants et l'autre pour les utilisateurs
expérimentés.

Crystal Reports Guide de l’utilisateur 33


scr8.book Page 34 Monday, April 2, 2001 12:29 PM

Apprendre à utiliser Crystal Reports

Apprendre à utiliser Crystal Reports


Vous pouvez vous former vous-même à l'utilisation de Crystal Reports en
choisissant l'une des méthodes présentées dans ce chapitre:
 vous pouvez étudier les exemples d'états et de bases de données fournis avec
Crystal Reports ;
 vous pouvez utiliser les descriptions et instructions détaillées à la section
“Démarrage rapide pour les nouveaux utilisateurs” à la page 40 ;
 vous pouvez utiliser les résumés et les renvois aux rubriques de la section
“Démarrage rapide pour les utilisateurs expérimentés” à la page 62, qui est
particulièrement utile si vous êtes déjà familiarisé avec les concepts de création
d'état.
Chaque méthode représente un moyen utile d'apprendre et de comprendre Crystal
Reports et, bien que l'une ou l'autre puisse être suffisante pour être opérationnel,
vous pourrez toujours revenir à ce chapitre et consulter les autres méthodes au fur
et à mesure de vos besoins.

Exemples d'états
Crystal Reports est livré avec trois types d'états créés de façon professionnelle et
décrits ci-dessous. Par défaut, ces exemples sont installés dans le répertoire des
programmes (généralement \Program Files\Seagate Software\Crystal
Reports\Samples\Fr\Reports).

Lotus Domino
Le dossier Lotus Domino comprend des exemples d’états pour les personnes
utilisant Crystal Reports avec cette application. Les exemples fournis sont les
suivants :
 lotusmap.rpt
 world wide sales.rpt
Vous pouvez également utiliser ces états dans une application Lotus Notes. Il suffit
d'ouvrir Crazev6.nsf ou Xglobal.nsf dans Lotus Notes.

Feature Examples (exemples de fonctionnalités)


Le dossier Feature Examples contient une sélection d'états conçus pour illustrer les
concepts de base et les fonctions d'état courantes. Les exemples fournis sont les
suivants :
 chart.rpt
 crosstab.rpt

34 Crystal Reports Guide de l’utilisateur


scr8.book Page 35 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

 date range formula.rpt


 formatting.rpt
 formulas.rpt
 group by first letter.rpt
 group by intervals.rpt
 group.rpt
 hierarchical grouping.rpt
 hyperlinks.rpt
 OLAP Cube Report.rpt
 percentages.rpt
 record selection1.rpt
 record selection2.rpt
 running totals group.rpt
 running totals.rpt
 sort multiple field.rpt
 sort.rpt
 subtotal group.rpt
 subtotal multiple level.rpt
 summary group.rpt
 summary with formula.rpt

General Business (principaux types d’états)


Le dossier General Business contient des exemples qui couvrent une large gamme
de besoins en matière d'états pour les nombreux services des organisations.
Les exemples d'états constituent des outils de formation efficaces :
 l'étude de leur contenu vous permet de connaître le type d'informations
nécessaires ainsi que les modes de représentation ;
 l'examen de leur présentation et de leur mise en page vous apprend à
structurer clairement les informations.

Données exemple - Xtreme.mdb


Crystal Reports est accompagné d’une base de données exemple, Xtreme.mdb, que
vous pouvez utiliser pour vous familiariser avec le logiciel. Celle-ci a été créée par
Access 2.0 de Microsoft. Tous les pilotes nécessaires à son exploitation sont joints
au logiciel. Vous allez donc pouvoir l'ouvrir directement et commencer
immédiatement à concevoir des états. Pratiquement tous les exemples du manuel
sont tirés des données de Xtreme.mdb.

Crystal Reports Guide de l’utilisateur 35


scr8.book Page 36 Monday, April 2, 2001 12:29 PM

Apprendre à utiliser Crystal Reports

Elle contient les données relatives à une société fictive fabricant des vélos tous
terrains et accessoires, Xtreme Mountain Bikes. Cette base de données contient les
tables suivantes :
 Crédit
Les informations sur les comptes client telles que les numéros d’autorisation
de crédit et les montants autorisés.
 Client
Les données des clients de la société Xtreme Mountain Bikes.
 Employé
Les données des employés de la société Xtreme Mountain Bikes.
 Adresses d’employés
Les données personnelles des employés de la société Xtreme Mountain Bikes.
 Informations financières
Identification financière de la société Xtreme Mountain Bikes.
 Commandes
Identification et suivi des commandes de la société Xtreme Mountain Bikes.
 Détails des commandes
Les détails des commandes ligne à ligne.
 Produit
Données descriptives concernant les produits de la société Xtreme Mountain
Bikes.
 Type du produit
Données pour les familles de produits de la société Xtreme Mountain Bikes, y
compris illustration par photos.
 Achats
Identifie et suit les données pour les achats de produits.
 Fournisseurs
Les données des fournisseurs de la société Xtreme Mountain Bikes.
 Xtreme Info
Données d'entreprise de la société Xtreme Mountain Bike, y compris le logo de
la société.
Xtreme.mdb inclut aussi :
 une requête (Clients principaux),
 une requête de paramètre (Limites_Crédit),
 une requête de mise à jour (Mise à jour).
Remarque : ces exemples de données sont destinés à illustrer, grâce à des solutions
pratiques, différents principes de création d’états, et non à vous enseigner la
conception de bases de données proprement dite. Alors qu’il existe plusieurs
méthodes de conception d’états, cette structure a été choisie pour mettre l’accent, à
travers les didacticiels et les exemples, sur la création d’états et non sur la
manipulation des données.

36 Crystal Reports Guide de l’utilisateur


scr8.book Page 37 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

Experts Etat
Les didacticiels de ce chapitre vous montrent comment créer un état en partant de
zéro. Toutefois, vous pouvez également utiliser en remplacement ou en
complément les Experts Etat disponibles dans la Collection d’états Crystal Report.
Il existe huit Experts Etat :
 Standard
 Lettre type
 Formulaire
 Table croisée
 Sous-état
 Etiquette de publipostage
 Explorer
 OLAP.
Chaque Expert vous guide au moyen d'onglets tout au long de la création d'un état.
Ces onglets sont souvent uniques à un type spécifique d'état. Par exemple, l'Expert
Etiquette dispose d'un onglet qui permet de préciser le type d'étiquette de
publipostage que vous souhaitez utiliser.

Standard
L’Expert Etat Standard est le plus générique des experts. Il est composé de huit
onglets dont la plupart sont communs aux autres Experts Etat. L'Expert Etat
Standard vous guide dans le choix d'une source de données et la liaison des tables
de base de données. Il vous aide également à ajouter des champs et à spécifier le
regroupement, la récapitulation (totaux) et les critères de tri que vous souhaitez
utiliser. Enfin, l'Expert Etat Standard décrit les modalités de création des graphes
et de sélection des enregistrements.

Crystal Reports Guide de l’utilisateur 37


scr8.book Page 38 Monday, April 2, 2001 12:29 PM

Experts Etat

L'onglet Style contient des mises en page prédéfinies que vous pouvez appliquer à
votre état pour lui donner davantage d'impact.

Lettre type
L'Expert Etat Lettre type facilite la création de lettres type d'après votre base de
données comme source de renseignements clients. Les fonctions de l'expert sont
presque les mêmes que celles de l'Expert Etat Standard, à l'exception d'un onglet
Lettre type qui permet de définir les champs de texte et de base de données qui
apparaîtront dans chaque section de votre lettre. Cet onglet Lettre type peut
également servir à importer le texte que vous avez créé dans une autre application.

Formulaire
L'Expert Etat Formulaire permet de créer des états que vous imprimerez ensuite
sur des formulaires prédéfinis (factures de l'entreprise, relevés, etc.). Les fonctions
de cet expert sont semblables à celles de l'Expert Etat Standard ; il affiche de plus
un onglet Formulaire qui permet de sélectionner des images du logo ou des
formulaires de votre entreprise. Les logos et formulaires peuvent être appliqués à
des sections d'en-tête ou de détail pour que les données de votre état s'impriment
à l'endroit approprié.

38 Crystal Reports Guide de l’utilisateur


scr8.book Page 39 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

Table croisée
L'Expert Etat Table croisée vous guide dans la création d'un état dans lequel vos
données sont affichées sous forme d'objet table croisée. Trois onglets spéciaux
(Table croisée, Style et Personnalisation du style) vous aident à créer et mettre en
forme la table croisée elle-même.

Sous-état
L'Expert Sous-état permet de créer en même temps un état principal et un sous-
état. L'expert offre toute la souplesse de l'Expert Etat Standard pour la création de
l'état principal. L'onglet Sous-état supplémentaire permet de choisir un état
existant qui fera office de sous-état, ou de créer un nouvel état. Vous créez de
nouveaux sous-états en réitérant les étapes utilisées dans l'Expert Etat Standard.

Etiquette de publipostage
L'Expert Etat Etiquette permet de créer un état mis en forme pour que les données
puissent être imprimées sur n'importe quelle taille d'étiquette de publipostage.
Vous pouvez utiliser l'onglet Etiquette pour sélectionner un type d'étiquette
disponible dans le commerce, ou vous pouvez définir votre propre mise en page
des lignes et des colonnes pour obtenir un état de style multi-colonnes.

Explorer
L'Expert Etat Explorer vous guide tout au long de la création d'un état qui cache
des sections et les révèle à l'écran uniquement lorsque vous avez besoin d'explorer
des données. Les fonctions de l'expert sont les mêmes que celles de l'Expert Etat
Standard. L'onglet Explorer permet d'afficher la liste des sections pouvant être
masquées. Les sections cachées n'apparaissent sur votre état que si vous cliquez
sur le champ approprié. Les données masquées peuvent être utilisées pour établir
des résumés ou des totaux.

OLAP
L'Expert Etat OLAP permet de créer un état dans lequel les données OLAP sont
affichées sous forme d'objet grille. Bien que semblable à l'Expert Etat Table croisée
à bien des égards, l'Expert Etat OLAP paraît toutefois différent de par l'obligation
d'exploiter des sources de données OLAP. D'abord, vous spécifiez le lieu de
stockage de vos données OLAP, puis vous choisissez les dimensions à inclure dans
la grille. Ensuite, vous filtrez les données de l'état et vous choisissez ou

Crystal Reports Guide de l’utilisateur 39


scr8.book Page 40 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les nouveaux utilisateurs

personnalisez le style de l'objet grille. Enfin, vous pouvez définir des étiquettes
pour votre grille et insérer un graphe, le cas échéant.

Il ne s'agit que d'une rapide vue d'ensemble des huit Experts Etat disponibles dans
Crystal Reports.

Démarrage rapide pour les nouveaux utilisateurs


Le didacticiel suivant a été conçu pour vous permettre de créer votre premier état
en toute confiance.
Vous allez créer un état Liste des clients et vous familiariser ainsi avec le
programme. La Liste des clients fait partie des états de base les plus courants et
renferme généralement des informations telles que le nom du client, la ville, la
région et la personne à contacter.
Vous commencerez par apprendre les concepts de base : sélection d'une base de
données, placement de certains champs sur l'état puis sélection d'enregistrements
spécifiques à inclure. Vous apprendrez alors à :
 insérer et déplacer des champs de base de données ;
 ajouter et mettre en forme un titre ;
 afficher un état dans l'onglet Aperçu afin de pouvoir peaufiner votre travail ;
 utiliser l'Expert Sélection pour être sûr que l'état ne contiendra que les données
souhaitées ;
 déplacer des objets ;
 grouper et trier les données ;
 insérer des images ;
 imprimer un état.

40 Crystal Reports Guide de l’utilisateur


scr8.book Page 41 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

Avant de commencer
Ce didacticiel suppose que vous soyez familiarisé avec Microsoft Windows et
utilisiez des termes et des procédures conventionnels qui sont courants dans
l'environnement de Windows. Si vous n'êtes pas familiarisé avec Windows,
veuillez vous reporter à la documentation accompagnant Microsoft Windows
pour avoir plus d'explications.
La police par défaut pour toutes les parties de l'état dans le programme est Times
New Roman, 10 points. Si vous avez changé la police par défaut, ou si votre
imprimante ne la prend pas en charge, la taille et l'espacement des champs ainsi
que les captures d'écrans n'auront pas le même aspect que dans ce didacticiel.
Ce didacticiel a été conçu pour Microsoft Windows 95, Windows 98 et Windows
NT. Les captures d'écran peuvent être légèrement différentes si vous utilisez une
autre plate-forme.
Si vous n'êtes pas familiarisé avec l'environnement de Crystal Reports, reportez-vous
à la section “Mise en forme” à la page 209, qui décrit l'utilisation de la grille, le
placement sur formulaire libre, l'utilisation de guides et les activités de mise en forme.

Création de l’état
1 Cliquez Nouveau sur la barre d'outils standard.
La Collection d’états Crystal Report apparaît.
Cette collection dispose d’un certain nombre des experts d'aide à la création
d'états spécifiques. Ce didacticiel ayant pour objectif de vous apprendre à créer
vous-même vos états, ne sélectionnez pour le moment aucun expert. Vous
aurez le temps de les découvrir ultérieurement, et de décider alors de la façon
de créer vos états.

Crystal Reports Guide de l’utilisateur 41


scr8.book Page 42 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les nouveaux utilisateurs

2 Sélectionnez En tant qu’état vide dans la boîte de dialogue Collection d’états


Crystal Report et cliquez sur OK.
La boîte de dialogue Explorateur de données apparaît.
Remarque : Vous pouvez également créer des états à partir de sources de
données SQL/ODBC, de fichiers dictionnaire ou de fichiers de requête. Voir
“Le Crystal SQL Designer” à la page 651, et “Dictionnaires” à la page 669 pour
de plus amples informations.

Sélection d'une base de données à utiliser


L’étape suivante de création d'un état consiste à sélectionner une base de données.
Sélectionnez la base de données exemple Xtreme.mdb pour ce didacticiel.

Pour sélectionner une base de données


1 Dans la boîte de dialogue Explorateur de données, sélectionnez Xtreme.mdb
dans les fichiers de la base de données.
Par défaut, ce fichier a été installé dans le répertoire \Program Files\Seagate
Software\Crystal Reports\Samples\Fr\Databases
Remarque : vous devrez peut-être utiliser l'option Rechercher un fichier de
base de données pour trouver la base de données Xtreme. Pour connaître les
propriétés de la base de données et du serveur, cliquez avec le bouton droit de
la souris sur la base de données dans l'Explorateur de données et sélectionnez
Propriétés dans le menu contextuel.
2 Développez le dossier Xtreme.mdb pour voir une liste de tables.

Comme ce didacticiel concerne uniquement les clients, sélectionnez la table Client.


3 Choisissez la table Nom du client et cliquez Insérer et puis Fermer.
La boîte de dialogue Explorateur de champs apparaît avec “ Champs de la base
de données ” activé.

42 Crystal Reports Guide de l’utilisateur


scr8.book Page 43 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

Remarque : si vous sélectionnez plus d’une table dans la boîte de dialogue


Explorateur de données, l'Expert Liaison visuelle apparaîtra. Pour de plus
amples informations, voir “Liaisons de plusieurs tables” à la page 91.

Sections de l’état
L'onglet Conception comprend cinq sections: En-tête d'état (EE), En-tête de page
(EP), Détails (D), Pied d'état (PE) et Pied de page (PP). Si à un moment ou un autre
vous ne savez plus dans quelle section vous êtes en train de travailler, regardez
simplement la zone ombrée sur la gauche de l'état qui affiche toujours les noms de
section ou leurs initiales. Voir “Onglet Conception” à la page 83.
Si la case à cocher Noms de sections courts dans l'onglet Conception est
sélectionnée dans la boîte de dialogue Options, les noms de section En-tête d'état,
En-tête de page, Détails, Pied d'état et Pied de page s'afficheront respectivement
sous la forme EE, EP, D, PE et PP. Dans le cas contraire, procédez comme suit :
1 Choisissez la commande Options dans le menu Fichier. La boîte de dialogue
Options apparaît avec l’onglet Disposition actif.

Crystal Reports Guide de l’utilisateur 43


scr8.book Page 44 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les nouveaux utilisateurs

2 Cochez la case Noms de section courts dans l’onglet Conception.


3 Cliquez sur OK pour revenir à l’état.

Insertion d'un champ


La boîte de dialogue Explorateur de champs apparaît automatiquement avec
“ Champs de base de données ” sélectionné, parce qu’il est quasi certain que vous
allez insérer des champs de base de données pour créer un nouvel état.

Par défaut, la boîte de dialogue reste affichée jusqu’à ce que vous cliquiez sur
Fermer. Toutes les tables disponibles apparaissent dans cette boîte de dialogue.
Vous pouvez la déplacer en cliquant sur sa barre de titre et en la faisant glisser vers
son nouvel emplacement. Vous pouvez aussi la redimensionner en tirant sur ses
bords avec le curseur de redimensionnement.
Vous allez maintenant placer votre premier objet dans votre état en insérant le
champ Nom du client.

Comment insérer un champ


1 Mettez en surbrillance le nom de champ de la boite de dialogue Explorateur de
champs en cliquant une fois sur son nom.
Lorsque vous mettez un champ en surbrillance, vous pouvez vérifier les
valeurs de ce champ, ainsi que son type et sa longueur, en cliquant avec le
bouton droit et en sélectionnant Parcourir. Une boîte de dialogue apparaît et
indique le nom du champ, son type et sa longueur et un sous-ensemble des
valeurs de champ.

44 Crystal Reports Guide de l’utilisateur


scr8.book Page 45 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

2 Cliquez sur le champ Nom du client et faites-le glisser dans la section Détails
de votre état.
Un cadre d'insertion apparaît à côté du curseur en forme de flèche pendant que
vous faites glisser le champ sur votre état.

 Ce cadre représente l’objet que vous venez juste de sélectionner.


 La taille du cadre correspond approximativement à celle des données du
champ sélectionné.
3 Déplacez ce cadre le plus à gauche possible dans la section Détails.
Lorsque vous déplacez le cadre, des guides s'affichent jusqu'aux règles afin de
vous aider à positionner l'objet avec précision.
Si vous le déplacez trop à gauche, le pointeur flèche se transformera en un
curseur d’arrêt indiquant que vous ne pouvez pas faire glisser le champ si loin.
Souvenez-vous qu’il est impossible de placer des objets hors des marges de la
page.
L'onglet Conception devrait ressembler à ceci :

Comprendre les champs


Avant de poursuivre, regardez le champ que vous venez d’insérer dans la section
Détails.
 Au début, le cadre indique que lors de l’impression de votre état une valeur de
champ apparaîtra là où se trouve le cadre.
 Les X dans le cadre indiquent que le champ de base de données comporte une
chaîne de caractères. Les autres types de données possèdent des
représentations de caractères différentes. Par exemple, le type de données
monétaires est représenté par 55.555,56$.
Remarque : les X apparaissent uniquement si vous n'avez pas sélectionné la
case à cocher Afficher les noms de champ dans l'onglet Disposition de la boîte
de dialogue Options.

Crystal Reports Guide de l’utilisateur 45


scr8.book Page 46 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les nouveaux utilisateurs

 Le nombre de ces X correspond à la longueur des données, c’est-à-dire au


nombre maximal de caractères du champ défini par la base de données. La
largeur du cadre correspond à celle du champ (la valeur d’espace alloué au
champ lors de l’impression). La largeur initiale est définie pour afficher le
nombre maximal des caractères dans un champ (utilisant la police sélectionnée
pour le champ). Vous pouvez changer cette largeur lors du
redimensionnement du champ.
 La taille des X indique la taille en points des caractères utilisés pour le champ.
 La police et le style (gras, souligné, etc.) d'affichage des X sont ceux des
caractères utilisés pour le champ. Nous verrons plus tard comment modifier
ces attributs.
 L'interligne est déterminé d'après la taille des caractères.

Ajout de champs supplémentaires


L'étape suivante consiste à ajouter deux champs à l'état. Cette fois, vous utiliserez
la combinaison de touches Ctrl-cliquer afin de les ajouter simultanément. Pour
ajouter d'autres champs.

Pour ajouter d'autres champs


1 Mettez en surbrillance le champ Ville dans la boîte de dialogue Explorateur de
champs, appuyez sur la touche Ctrl de votre clavier et mettez également en
surbrillance le champ Pays. Relâchez la touche Ctrl.
Si vous faites défiler la liste des champs, vous constatez que ces deux champs
sont toujours en surbrillance.
Remarque : la combinaison Ctrl-cliquer vous permet de choisir une plage de
champs non contigus. Vous pouvez utiliser la combinaison Maj-cliquer pour
sélectionner plusieurs champs contigus d’une liste.
2 Faites glisser les champs pour les placer.
Amenez le curseur sur l’état. Un cadre d’insertion apparaît à côté du curseur en
forme de flèche.
3 Placez les champs à droite du champ Nom du client. Cliquez une fois pour les
insérer.
Les deux champs s’affichent dans la section Détails, dans le même ordre que
pour la liste de la boîte de dialogue Explorateur de champs.

Sélection de champs
Lorsque vous cliquez sur un champ, le logiciel affiche quatre poignées (boîtes), une
sur chaque côté du cadre. On dit alors que le champ est sélectionné ou actif. La
plupart des opérations (modification de la police, déplacement, redimensionnement,
etc.) commencent par cette sélection.

46 Crystal Reports Guide de l’utilisateur


scr8.book Page 47 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

 Amenez le curseur de la souris à l'intérieur du cadre et cliquez une fois. Les


poignées de sélection apparaissent sur le cadre.
 Amenez le curseur à un endroit vide de la fenêtre et cliquez à nouveau. Les
poignées de sélection disparaissent.
C’est tout ce qu’il suffit de faire pour sélectionner et désélectionner des objets.

Le redimensionnement des champs


Pour redimensionner le champ, suivez ces étapes :
1 Cliquez sur le champ Nom du client dans la section Détails pour le
sélectionner.
2 Appuyez sur la touche Ctrl et cliquez sur l’en-tête du champ. Ceci sélectionne
les deux objets.
3 Positionnez le curseur sur la poignée de redimensionnement au bord droit des
champs jusqu’au moment où le curseur se transformera en curseur
Redimensionnement.
4 Redimensionnez les champs à une longueur d’environ cinq centimètres.

Affichage général de l'état


Voyons comment l’état se présente à ce stade dès que les trois champs sont
positionnés.
1 Cliquez Aperçu dans la barre d'outils pour faire apparaître l’onglet Aperçu.
Votre état doit ressembler à ceci :

Remarque : la première fois que vous affichez un aperçu de l'état, vous devez
cliquer sur le bouton Aperçu sur la barre d’outils standard pour activer
l’onglet Aperçu. Cet onglet apparaît à droite de l’onglet Conception. Vous

Crystal Reports Guide de l’utilisateur 47


scr8.book Page 48 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les nouveaux utilisateurs

pouvez tout simplement basculer de l’onglet Conception vers celui d’Aperçu


dans votre état en cliquant sur les onglets respectifs.
Vous avez là le début d’un état d’une liste de clients, mais vous devez ajouter
encore quelques champs.
2 Lorsque vous avez terminé de visualiser votre état, retournez à l’onglet
Conception en cliquant une fois dessus.

Affichage des noms de champ


Nous avons décrit les images de champ, mais il y aura des occasions où vous
voudrez voir les noms des champs dans l’onglet Conception.

Pour afficher les noms de champ


1 Choisissez la commande Options dans le menu Fichier.
La boîte de dialogue Options apparaît avec l’onglet Disposition actif.

2 Activez l'option Afficher les noms de champ et cliquez sur OK.


Dans l’onglet Conception, vous verrez désormais les vrais noms de champs au
lieu de caractères les représentant (X, #, $, etc.).

Combiner des champs de base de données dans un objet texte


Au lieu d’ajouter deux nouveaux objets distincts, un pour le champ Prénom du
contact et l’autre pour le champ Nom du contact, vous pouvez insérer les deux
champs dans un objet texte. Cela vous permet de contrôler la mise en forme des deux
champs en modifiant un seul objet. Lors de l’insertion des champs dans un objet

48 Crystal Reports Guide de l’utilisateur


scr8.book Page 49 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

texte, les champs sont automatiquement tronqués (il n’y a pas d’espacement blanc
sur les bords). Cette fonction est bien utile, car les valeurs sont parfois nettement
plus courtes que la longueur du champ, pouvant ainsi laisser des espaces vides.

Pour combiner des champs dans un objet texte


1 Cliquez Insérer un objet texte dans la barre d’outils standard. Un cadre
d’insertion apparaît à côté du curseur lorsque vous le déplacez dans l’état.
2 Amenez le champ à la droite des champs déjà insérés dans la section Détails.
L'onglet Conception fait automatiquement défiler la fenêtre vers la droite si
nécessaire lors du déplacement du champ. Lorsque vous cliquez pour placer
l’objet, un objet texte apparaît et la règle horizontale de l’onglet Conception se
change en une règle/un sélecteur de tabulation qui sert à l’édition d’un objet
texte. Lorsque vous cliquez dans une zone vide de l’état ou d’un objet champ,
la règle standard de l’onglet Conception apparaît.
3 Cliquez une fois sur la bordure de l'objet texte pour le sélectionner en vue de le
redimensionner. Des poignées apparaissent sur tous les côtés de l’objet.
4 Amenez le curseur sur la poignée de droite et tirez-la vers l’extérieur pour
l’agrandir d’environ 2,5 cm. Si nécessaire, faites défiler la fenêtre vers la droite
puis continuez.
5 Cliquez deux fois à l'intérieur de l’objet texte en vue d'en modifier le contenu.
Notez que le point d'insertion clignote à l’intérieur.
6 Sélectionnez le champ Nom du contact dans la boîte de dialogue Explorateur
de champs. N'oubliez pas que vous pouvez déplacer la boîte de dialogue en
cliquant dans sa barre de titre et en la faisant glisser.
7 Faites glisser le champ sur l'objet texte.
8 Déplacez le curseur sur l'objet texte, jusqu'à ce qu'il prenne la forme du
curseur Glisser-déplacer.
9 Cliquez une fois pour insérer le champ dans l'objet texte. Votre curseur est
maintenant à droite du champ Nom du contact dans l'objet texte.
10 Tapez une virgule suivie d'un espace après Nom du contact.
11 Dans la boîte de dialogue Explorateur de champs, sélectionnez le champ
Prénom du contact.
12 Faites glisser le champ sur l'objet texte.
13 Déplacez le curseur sur l'objet texte, jusqu'à ce qu'il prenne la forme du
curseur Glisser-déplacer. Amenez-le à la droite de la virgule et de l'espace
précédemment saisis et cliquez une fois. Le champ est inséré à cet endroit.
14 Vous avez terminé l’insertion des champs, cliquez alors sur Fermer pour
fermer la boîte de dialogue Explorateur de champs.

Crystal Reports Guide de l’utilisateur 49


scr8.book Page 50 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les nouveaux utilisateurs

15 Cliquez sur le bouton Aperçu pour visualiser les champs que vous avez placés.
Votre état devrait ressembler à celui-ci :

Ajout d’informations de résumé


L’étape suivante consiste à ajouter des informations récapitulatives dans l'état.
Cela vous permet de spécifier l’auteur, le titre, et le sujet d’un état, et même des
mots-clés ou des commentaires liés à l’état. Si un modèle est utilisé lors de la
création d’un état, vous pouvez le spécifier également. Les utilisateurs peuvent
vite trouver des informations reliées à cet état lorsque vous ajoutez des
informations récapitulatives.

Pour ajouter des informations de résumé


1 Dans le menu Fichier, choisissez la commande Résumé.
La boîte de dialogue Propriétés de document apparaît avec l’onglet Résumé actif.

50 Crystal Reports Guide de l’utilisateur


scr8.book Page 51 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

2 Entrez les informations de votre état dans les zones modifiables comme celles
du dessus. Veuillez vous assurer d’entrer le titre “ Liste de clients ” dans la
zone modifiable Titre. Nous allons utiliser ces données dans la section
suivante de ce didacticiel.
3 Cliquez sur OK lorsque vous avez terminé.

Ajout d’un titre


Comme vous pouvez le constater, l'état semble incomplet sans titre. Il est possible
d'ajouter un titre à l'aide d'un objet texte. Cependant, vous pouvez aussi demander
l'extraction automatique des informations relatives au titre directement de la zone
de texte Titre de la boîte de dialogue Propriétés de document.

Pour ajouter un titre


1 Cliquez sur l'onglet Conception.
2 Dans le menu Inssérer, cliquez sur Objet Champ.
3 Dans l’Explorateur de champs, faites défiler l'arborescence jusqu'à Champs
spéciaux et développez cet élément en cliquant dessus.
4 Sélectionnez Titre d’état.
5 Déplacez le curseur sur votre état. Un cadre de positionnement apparaît.
6 Positionnez le cadre dans le coin en haut à gauche de la section En-tête de page
(EP) et cliquez une fois pour placer l'objet.
7 Cliquez l’onglet Aperçu pour vérifier les modifications.
L’objet titre d’état affiche le titre que vous avez tapé dans la zone modifiable Titre
de la boîte de dialogue Propriétés de document.

Mise en forme des objets


Vous pouvez maintenant mettre en forme le titre de l'état. Cette fois, cependant,
vous resterez dans l'onglet Aperçu pour accomplir ce travail. Ceci vous permettra
de voir votre travail plus facilement pendant la mise en forme du titre.

Pour mettre en forme un objet


1 Pour centrer le titre, vous devrez agrandir la zone de titre jusqu'à ce qu'elle
corresponde approximativement à la largeur des données dans l'état. À cette
fin, cliquez sur l’objet pour le sélectionner.
2 Positionnez votre curseur au bord droit de l’objet jusqu’à ce qu’il se transforme
en curseur de redimensionnement. Faites glisser le bord droit du cadre jusqu’à
ce qu’il soit égal au bord droit des données de l’objet champ Nom du contact.
Vous avez créé un grand champ qui s’étend du bord gauche au bord droit de
votre état.

Crystal Reports Guide de l’utilisateur 51


scr8.book Page 52 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les nouveaux utilisateurs

3 L’objet titre d’état étant toujours sélectionné, cliquez sur le bouton Aligner au
centre dans la barre de mise en forme. Le titre est centré dans l’objet.
4 Cliquez avec le bouton droit de la souris sur l’objet texte et choisissez la
commande Police dans le menu contextuel. L’Editeur de format apparaît avec
l’onglet Police actif.
5 Agrandissez les caractères du titre en sélectionnant la valeur 16 dans la liste
Taille (ou une valeur appropriée à la police que vous utilisez si elle est
différente de celle de notre exemple) et choisissez le style de la police Gras
dans la liste Style.
6 Modifiez la couleur du texte en sélectionnant Rouge foncé dans la liste
Couleur. La zone Exemple donne un aperçu de ce que vous afficherez.
7 Cliquez sur OK lorsque vous avez terminé.
8 Redimensionnez le cadre verticalement pour contenir la taille du titre d’état.
Le titre est maintenant mis en forme pour figurer correctement dans votre état.

Ajout d’un en-tête de champ


Comme vous le voyez, le champ Nom du contact est le seul champ sans en-tête.
Dans cette section, vous créerez un en-tête utilisant un champ de texte.

Pour ajouter un en-tête de champ


1 Revenez à l’onglet Conception en cliquant sur son nom.
2 Cliquez Insérer un objet texte dans la barre d’outils standard. Un cadre
d’insertion apparaît à côté du curseur lorsque vous le déplacez dans l’état.

52 Crystal Reports Guide de l’utilisateur


scr8.book Page 53 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

3 Insérez l’objet dans la section en-tête de page (EP) au-dessus de l’objet Nom du
contact.
4 Saisissez le texte “ Nom du contact ” (sans guillemets) dans l’objet texte.
5 Pendant que l’objet texte est toujours en mode d’édition, mettez en relief l’en-
tête du champ.
6 Cliquez Souligner dans la barre de mise en forme.
Maintenant, le champ Nom du contact a un en-tête qui ressemble aux autres titres
de champ.

Enregistrer l'état
1 Cliquez Enregistrer pour enregistrer votre travail. Si c'est la première fois que
vous enregistrez votre état, le programme affiche la boîte de dialogue
Enregistrer sous, avec comme répertoire actuel celui dans lequel le fichier sera
enregistré.
2 Saisissez Custlist.rpt dans la zone Nom du fichier et cliquez sur Enregistrer.
Votre état est enregistré par défaut dans le répertoire où se trouve Crystal
Reports, ou dans le répertoire de votre choix.
3 Cliquez sur l'onglet Aperçu pour afficher l'état.
Votre état devrait ressembler à ceci :

Félicitations ! Vous venez de créer votre premier état. Dans les sections suivantes,
nous allons l'améliorer et le compléter.

Crystal Reports Guide de l’utilisateur 53


scr8.book Page 54 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les nouveaux utilisateurs

Sélection d'enregistrements
Crystal Reports vous permet de choisir les enregistrements à inclure dans l'état.
Dans cette section, vous allez apprendre à :
 sélectionner les enregistrements à faire figurer dans l'état,
 sauvegarder les critères de sélection avec l'état.
Par exemple, il peut s'avérer utile d’avoir la liste des clients habitant aux Etats-Unis
uniquement. Dans l’exemple qui suit, la liste contient des clients américains et des
clients d’autres pays. C’est l’Expert Sélection qui a permis d’arriver très facilement
à ce résultat. Voir “Sélection d'enregistrements” à la page 129.

Définition des critères de sélection


Lorsque vous faites défiler l'état, vous pouvez constater que celui-ci contient des
informations sur des clients de plusieurs pays. Dans cette étape, vous limiterez le
nombre de pays à un seul, les Etats-Unis.

Pour entrer des critères de sélection


1 Activez l'onglet Conception pour retourner au mode conception.
2 Cliquez dans une zone vide pour désélectionner tous les champs.
3 Cliquez sur Expert Sélection dans la barre d’outils standard.
La boîte de dialogue Choisir un champ apparaît.

Cette boîte de dialogue liste tous les champs se trouvant à l’heure actuelle dans
la section Champs d’état et elle liste aussi tous les champs qui sont disponibles
dans chaque table de la section Champs de base de données.
4 Puisque la sélection va être basée sur le pays, sélectionnez le champ Pays dans
la liste Champs, puis cliquez sur OK.

54 Crystal Reports Guide de l’utilisateur


scr8.book Page 55 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

L’Expert Sélection apparaît.

Votre travail dans cette boîte de dialogue consiste à imaginer que vous
complétez cette phrase :
Sélectionnez tous les enregistrements dont le Pays est
Vous complétez la phrase avec la condition avec laquelle vous voulez que le
logiciel sélectionne les enregistrements pour votre état. Pour le moment, la
condition est n’importe quelle valeur, ce qui implique qu'il n'y a aucune
restriction sur la sélection des enregistrements.
5 Cliquez sur la flèche de la zone Opérateurs pour afficher les autres options
proposées. L’état final ne devant inclure que les clients habitant aux Etats-
Unis, cliquez sur l’opérateur est égal à.
Une nouvelle boîte apparaît sur la droite. La base de données affiche le message
suivant :
Sélectionnez tous les enregistrements dont le pays est égal à
Il ne vous manque plus que la valeur USA pour terminer la phrase.
6 Cliquez la flèche dans la liste vide. Toutes les valeurs de pays s'affichent.
Sélectionnez USA.
La condition de sélection finale devient alors :
Sélectionnez tous les enregistrements dont le pays est égal à USA
7 Cliquez sur OK pour revenir à l’onglet Conception.
8 Cliquez sur le bouton Aperçu pour visualiser les résultats de votre travail.
La boîte de dialogue Modifier une formule de sélection d'enregistrements
s'affiche.
9 Cliquez sur Actualiser les données.
10 Dans le menu Fichier, lancez Enregistrer sous pour sauvegarder cet état sans
supprimer la version originale. Donnez-lui pour nom USA.rpt.
Félicitations! Vous avez commencé la mise en forme de votre état et vous y avez
ajouté des critères de sélection. Par ailleurs, vous avez appris à manipuler les
données. Vous pouvez maintenant vous faire une idée de la variété d'états qu'il est
possible de préparer.

Crystal Reports Guide de l’utilisateur 55


scr8.book Page 56 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les nouveaux utilisateurs

Suppression d’un champ


Comme votre état contient uniquement des clients américains, le champ Pays n'est
plus utile, nous allons donc le supprimer. Vous pouvez supprimer ce champ avant
de continuer.

Pour supprimer un champ


1 Sélectionnez le champ Pays et l’en-tête de colonne Pays à l’aide de la
combinaison Ctrl-cliquer.
2 Appuyez sur la touche Suppr de votre clavier.
Le champ est supprimé de l’état.
Votre état devrait ressembler à celui-ci :

Répartition des champs


Maintenant que vous avez supprimé le champ Pays, l'espacement entre les champs
Ville et Nom du contact est plus important. Cette nouvelle disposition peut vous
convenir, mais il est en général plus facile de lire un état dont les colonnes sont
équilibrées.

56 Crystal Reports Guide de l’utilisateur


scr8.book Page 57 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

Pour équilibrer l'espacement entre les champs


1 Revenez à l'onglet Conception. Sélectionnez le champ Nom du contact et son
en-tête à l’aide de la combinaison Ctrl-cliquer.
2 Positionnez votre curseur sur un des deux objets mis en relief et faites-les
glisser à gauche, plus proche du champ Ville.
3 Cliquez sur l’onglet Aperçu pour vérifier la nouvelle présentation.
Votre état doit ressembler à celui-ci :

Les champs sont mieux espacés, mais le titre de l’état n’est pas centré.
4 Cliquez sur le titre de l’état pour le sélectionner.
5 Positionnez le curseur sur la poignée droite jusqu’à ce que le curseur se
transforme en curseur de redimensionnement. Faites glisser le bord droit du
cadre jusqu’à ce qu’il soit égal au bord droit des données de l’objet Nom du
contact.
Le titre de l'état est recentré automatiquement en fonction de la taille de l'objet.

Groupement et tri
Il existe plusieurs méthodes pour grouper et trier des états. Les outils de groupement
et de tri vous donnent une grande souplesse pour personnaliser vos états.

Groupement
Dans la plupart des états, vous aurez besoin de séparer vos données en groupes
pour améliorer la lisibilité et la compréhension. Crystal Reports vous permet de le
faire facilement. Pour cette liste de clients, vous allez grouper les clients en région
et puis les trier en ordre alphabétique dans chaque groupe.

Crystal Reports Guide de l’utilisateur 57


scr8.book Page 58 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les nouveaux utilisateurs

Pour grouper un état


1 Dans l’onglet Conception, cliquez Insérer un groupe dans la barre d’outils
supplémentaire.
La boîte de dialogue Insérer un groupe s'affiche.

2 Sélectionnez le champ Région de la table Client dans la première liste


déroulante. Le programme extrait tous les enregistrements avec la même
valeur dans le champ Région et les rassemble dans un groupe de l’état.
3 Choisissez l’option par ordre croissant dans la zone de liste Ordre de tri. Le
groupement des régions s'affiche sur l'état par ordre alphabétique croissant.
4 Cliquez sur OK.
Remarquez que deux nouvelles sections apparaissent sur l'onglet Conception :
EG1 (en-tête de groupe) et PG1 (pied de groupe). Ceci indique que l'état a fait
l'objet d'un groupement.
5 Cliquez sur l'onglet Aperçu pour prévisualiser l'état.

58 Crystal Reports Guide de l’utilisateur


scr8.book Page 59 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

6 Si l’Arborescence de groupe n’est pas visible, cliquez sur le bouton


Arborescence de groupe dans la barre de mise en forme pour voir les groupes
inclus dans l’état.
Vous pouvez visualiser n'importe quel groupe en cliquant sur le nom du groupe
dans l’Arborescence de groupe. Par exemple, si vous voulez voir le groupe de
clients du Texas, cliquez sur TX dans l’Arborescence de groupe. Le programme
affichera ce groupe dans l’onglet Aperçu. L’Arborescence de groupe vous permet
d’avancer rapidement vers ce groupe spécifique au lieu de faire défiler l’état pour
rechercher le groupe. Pour de plus amples informations sur l’Arborescence de
groupe, voir “Affichage de l’arborescence de groupe” à la page 88.
Remarque : pour beaucoup de vos états, vous voudrez insérer des résumés, des
sous-totaux et des grands totaux. Par exemple, si vous voulez créer un état de
ventes plutôt qu’une liste de clients, vous calculeriez le total global de ventes par
région. Voir “Tris, groupements et calculs de totaux” à la page 143.

Comprendre les en-têtes de groupe “ dynamiques ”


Lorsque vous insérez un groupe, un champ Nom de groupe est automatiquement
inséré dans la section En-tête de groupe dans votre état. Le champ Nom de groupe
affiche le nom du groupe actuel. Par exemple, si vous groupez par région, l’en-tête
de groupe pour le groupe CA (Californie) affichera “ CA ” lorsque vous faites un
aperçu de votre état.
Le champ Nom de groupe est automatiquement mis en forme pour faire ressortir
des enregistrements du groupe.

Crystal Reports Guide de l’utilisateur 59


scr8.book Page 60 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les nouveaux utilisateurs

Tri d’enregistrements
En général, dans ce type d’état, les clients sont triés par ordre alphabétique. Dans cet
exemple, vous trierez les noms de clients par ordre alphabétique dans chaque région.

Pour trier des enregistrements


1 Depuis l’onglet Aperçu, cliquez Ordre de tri dans la barre d’outils standard.
La boîte de dialogue Ordre de tri des enregistrements apparaît.

La zone de liste Champs d’état contient tous les champs déjà insérés dans votre
état. Vous pouvez faire un tri sur n’importe lequel d’entre eux.
La zone de liste Champs de tri affiche les champs qui sont déjà triés dans l’état.
Comme le champ Région est déjà trié, vous trierez à l’intérieur de chaque
région, pas pour l’état en entier.
2 Sélectionnez le champ Nom du client et cliquez sur Ajouter. Le programme
ajoute le champ Nom du client à la liste Champs de tri.
3 Sélectionnez Croissant comme Ordre de tri et confirmez par OK. Votre état
devrait ressembler à ceci :

Notez que les enregistrements dans chaque groupe sont par ordre alphabétique.

60 Crystal Reports Guide de l’utilisateur


scr8.book Page 61 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

Achèvement de l'état
Il ne nous reste qu’une opération à effectuer pour terminer cet état. Un logo
d’entreprise doit être inséré sur la première page.

Insertion d'un logo


Dans cette section, nous allons placer un logo en haut de la première page de l'état.

Pour insérer un logo de la société


1 Dans l'onglet Conception, cliquez sur le bouton Insérer une imagedans la
barre d'outils supplémentaire.
La boîte de dialogue Ouvrir apparaît.
2 Mettez en surbrillance le fichier Xtreme.bmp et cliquez sur Ouvrir. Un cadre
apparaît lorsque vous déplacez le curseur sur l'état. Celui-ci représente le logo
que vous allez positionner.
Truc : Le fichier Xtreme.bmp se trouve dans le sous-dossier Databases du
dossier Samples.
3 Amenez ce cadre en haut à gauche de la section En-tête d’état (EE) de votre
état et cliquez une fois pour le placer.
En étant positionné dans l’En-tête d’état, le logo sera imprimé seulement sur la
première page de votre état.
Remarque : il peut sembler que la section En-tête d’état est trop petite pour
insérer l’image. Cependant, elle s'agrandit automatiquement pour s'adapter à
la taille de l'image importée.
4 Cliquez sur l'onglet Aperçu pour afficher l'état. Votre état finalement devrait
ressembler à ceci :

5 Enregistrez votre état en cliquant sur Enregistrer dans la barre d’outils standard.
Vous venez de terminer votre premier état. Le résultat est impressionnant mais
Crystal Reports vous a permis d'y parvenir facilement.

Crystal Reports Guide de l’utilisateur 61


scr8.book Page 62 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les utilisateurs expérimentés

Sujets connexes
Pour de plus amples informations sur la distribution de votre état (impression,
exportation, etc.), voir les rubriques relatives à l'impression dans les sections “Mise
en forme” à la page 209 et “Distribution et visualisation des états” à la page 351.

Démarrage rapide pour les utilisateurs expérimentés


Si vous êtes un utilisateur confirmé de Windows et désirez utiliser Crystal Reports
sans attendre, procédez comme suit afin de créer un état pour la première fois :
Si vous n’êtes pas un utilisateur confirmé, consultez “Démarrage rapide pour les
nouveaux utilisateurs” à la page 40.

Pour choisir un type d'état et une source de données


1 Dans Windows, cliquez Démarrer et sélectionnez Crystal Reports du dossier
de programmes Crystal Reports.
2 Cliquez sur En tant qu’état vide et sur OK pour ouvrir la boîte de dialogue
Explorateur de données.
Pour créer un nouvel état, vous pouvez aussi faire appel à l'un des huit experts
d'état. Affichez un exemple de style de chaque expert en le sélectionnant dans
la liste des experts.
Une fois cette sélection effectuée, l'Expert d'état s'affiche. Vous pouvez créer
votre état à partir d'une base de données, d'une requête ou d'un dictionnaire.
Choisissez Requête Crystal SQL ou Dictionnaire Crystal pour rechercher le
fichier approprié. Si vous choisissez Base de données, la boîte de dialogue
Explorateur de données s'ouvre.
3 Parcourez le contenu de l'Explorateur de données pour trouver les tables de
base de données que vous souhaitez utiliser pour votre état.
Truc : l'option Autres sources de données permet de choisir parmi toute une
variété de sources de données spécifiques à la ressource.
4 Sélectionnez une table que vous voulez utiliser dans votre état et cliquez sur
Ajouter.
5 Lorsque vous avez ajouté toutes les tables sur lesquelles vous voulez travailler,
cliquez sur Fermer dans l'Explorateur de données.
L'onglet Conception s'affiche avec les zones En-tête d'état, En-tête de page,
Détails, Pied de page, Pied d'état. On crée un état en insérant et en mettant en
forme des éléments dans chacune de ces zones.
Remarque : si vous désirez utiliser d'autres tables de base de données dans
votre état, et les lier enregistrement par enregistrement, cliquez sur le bouton
Expert Liaison visuelle. La boîte de dialogue Expert Liaison visuelle s'affiche.
Sélectionnez les tables voulues et définissez les liaisons appropriées.

62 Crystal Reports Guide de l’utilisateur


scr8.book Page 63 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

Pour travailler avec les éléments de l'état dans l'onglet Conception


1 Chaque zone d'état par défaut contient une seule section. Pour en ajouter
d'autres, cliquez sur le bouton Expert Section de la barre d'outils standard et
ajoutez les sections souhaitées à l’aide de l’Expert Section.
Une fois les sections ajoutées dans une zone donnée, vous pouvez les déplacer,
les fusionner et les supprimer à l'aide de l'Expert Section. Voir “Utilisation de
guides” à la page 221.
2 Pour activer ou désactiver la grille, choisissez la commande Options dans le
menu Fichier et indiquez vos choix dans la boîte de dialogue Options. Voir
“Utilisation de la grille” à la page 220.
3 Si vous travaillez sans grille, vous pouvez faire apparaître des guides pour
positionner les objets, en cliquant sur la règle à gauche ou en haut de l’écran à
l'endroit désiré.
Il existe d'autres manières d'utiliser les guides :
 faites glisser un champ vers un guide jusqu’à ce qu’il s'aligne sur ce guide,
 déplacez la flèche d'un guide (la ligne elle-même et tous les objets qui y
sont accrochés se déplacent).
 Pour supprimer un guide, faites simplement sortir sa flèche de la règle en la
faisant glisser. Voir “Utilisation de guides” à la page 221.
4 Si la boîte de dialogue Explorateur de Champs n’est pas visible, cliquez sur le
bouton Insérer des champs de la barre d'outils standard.
La boîte de dialogue Explorateur de champs apparaît avec “ Champs de la base
de données ” activé. Cette boîte de dialogue énumère les champs des tables
actives. Pour accélérer l'entrée de plusieurs champs, la boîte de dialogue reste
affichée jusqu'à ce que vous cliquiez sur le bouton Fermer. Vous pouvez à votre
gré déplacer la boîte de dialogue, l'agrandir ou la réduire. Voir “Placement des
données dans l'état” à la page 93.
5 Sélectionnez le(s) champ(s) à faire figurer dans votre état.
Vous pouvez les sélectionner et les positionner un par un, sélectionner
plusieurs champs contigus en cliquant dessus tout en appuyant sur la touche
Maj, ou sélectionner plusieurs champs répartis dans la liste en cliquant dessus
tout en appuyant sur la touche Ctrl. La fonction glisser-déplacer est également
disponible. Faire glisser les champs à l'aide de la souris et déposez-les dans la
section appropriée.
Lorsque vous insérez plusieurs champs à la fois, ils s'affichent les uns à la suite
des autres dans le même ordre que dans la boîte de dialogue Explorateur de
Champs. La position de chaque champ est indiquée par un cadre rectangulaire.
Le logiciel marque la position de chaque champ par un cadre avec un libellé
indiquant s'il s'agit d'un champ de type texte (xxx...), numérique (555...),
monétaire (555$...), date (31/12/99), heure (00:00:00), date/heure (31/12/99
00:00:00) ou valeur booléenne (V/F).

Crystal Reports Guide de l’utilisateur 63


scr8.book Page 64 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les utilisateurs expérimentés

Remarque :
 Vous pouvez afficher les types de champs et leur nom en cochant la case
Afficher les noms de champs dans l’onglet Disposition de la boîte de
dialogue Options.
 Le logiciel place automatiquement les titres des champs dans la section En-
tête de page, à moins que vous n'ayez désactivé la case à cocher Insérer les
titres de champ de détails dans l’onglet Disposition de la boîte de dialogue
Options.
 Si vous ajoutez des sections de détails dans votre état, notez bien que seuls
figureront dans la section En-tête de page les titres des champs de la section
Détails A de votre état.
6 Lorsque les objets sont positionnés correctement, il peut s'avérer nécessaire
d'ajuster les sections de l'état. Pour ce faire, cliquez avec le bouton droit de la
souris sur la zone ombrée située à gauche de la règle de section afin d'afficher
le menu contextuel.
 Pour ajouter une ligne dans une section, choisissez la commande Insérer
une ligne.
 Pour aligner automatiquement les objets horizontalement, choisissez la
commande Aligner.
 Pour réduire la taille d'une section et éliminer les espaces indésirables au-
dessus ou en dessous d'un objet, choisissez la commande Ajuster la section.
Voir “Utilisation d'espaces vides entre les lignes” à la page 248.
7 Pour créer le titre de l’état, insérez-le dans la boîte de dialogue Propriétés de
document. Dans le menu Fichier, choisissez la commande Résumé. Mettez un
titre dans la zone modifiable Titre qui se trouve dans la boîte de dialogue
Propriétés de document. Cliquez sur OK.
8 Choisissez la commande Titre d’état dans la liste Champs spéciaux dans
l'Explorateur de Champs. Un cadre apparaît et suit les mouvements du
curseur lorsque vous le déplacez dans l’état. Cliquez une fois dans la section
En-tête d’état pour positionner le titre de l’état. Le champ du titre d’état
contient le même texte que vous avez tapé dans la zone modifiable Titre de la
boîte de dialogue Propriétés de document. Voir “Comment ajouter une page
titre à votre état” à la page 104.
9 Pour avoir un aperçu de votre état, cliquez Aperçu avant impression dans la
barre d'outils standard.
Pour réduire le temps de traitement pendant la phase de création de votre état,
vous pouvez avoir un aperçu de cet état en utilisant seulement un sous-
ensemble des données. Pour cela, choisissez l'option Aperçu d’un échantillon
du menu Fichier|Imprimer. Voir “Onglet Aperçu” à la page 86.
Dans les deux cas, le logiciel active l'onglet Aperçu. Celui-ci permet d'affiner un
état tout en affichant les résultats sous forme de données réelles. Vous pouvez
également fermer l'onglet Aperçu et poursuivre votre travail dans l'onglet
Conception.

64 Crystal Reports Guide de l’utilisateur


scr8.book Page 65 Monday, April 2, 2001 12:29 PM

4 : Démarrage rapide

Utilisation des autres outils de création d’états


1 Si vous désirez mettre en forme un champ, déplacer ou redimensionner un
champ, ou insérer un sous-total, ou un total général dans un champ, cliquez
sur le champ pour le sélectionner. Des poignées apparaissent sur les quatre
côtés. Pour déplacer un champ, faites-le glisser à l'aide de la souris jusqu'à la
position souhaitée.
 Pour modifier la largeur d'un champ, placez le pointeur sur une des
poignées de droite ou de gauche et faites glisser la souris jusqu'à obtenir la
largeur souhaitée.
 Pour modifier la largeur d'un champ, placez le pointeur sur une des
poignées de droite ou de gauche et faites glisser la souris jusqu'à obtenir la
largeur souhaitée.
 Pour changer la police, l’alignement dans un champ, la devise, l’affichage
de date, la bordure, la couleur, le retrait ou pour résumer les champs,
positionnez le curseur sur le champ et cliquez sur le bouton droit de la
souris. Un menu apparaît avec une liste de commandes variées pour la
mise en forme et le résumé du champ.
Truc : de nombreuses polices et options de mise en forme sont disponibles dans
la barre d’outils de mise en forme.
Remarque : pour que la mise en forme ne s'applique qu'à certaines conditions,
cliquez sur le bouton Formule conditionnelle à côté de la propriété voulue
dans l’Editeur de format et définissez ces conditions à l'aide d'une formule.
Voir “Mise en forme conditionnelle” à la page 250.
2 Pour créer une formule de calcul ou de comparaison des données, cliquez sur
Insérer des champs dans la barre d'outils standard. Dans la boîte de dialogue
Explorateur de champ, sélectionnez Champs de formule.
3 Cliquez sur Nouveau. La boîte de dialogue Nom de formule apparaît.
Saisissez un nom pour la formule et cliquez sur OK. La boîte de dialogue
Modifier la formule s’affiche.
4 Entrez la formule dans l'Editeur de formule. Entrez les champs, les opérateurs
et les fonctions en les sélectionnant dans les zones de liste déroulantes
correspondantes ou en les entrant à l'aide du clavier, puis cliquez sur le bouton
Vérifier pour vérifier la syntaxe de votre formule.
5 Lorsque vous avez terminé, cliquez sur Fermer pour revenir à la boîte de
dialogue Explorateur de champs. Cliquez sur Insérer pour positionner la
formule de la même manière qu'un champ de données. Voir “Utilisation des
formules” à la page 399.
6 Pour insérer un sous-état (c'est-à-dire un état dans un état), cliquez sur le
bouton Insérer un sous-état dans la barre d'outils supplémentaire et
sélectionnez l'état à importer, ou utilisez l'Expert Etat pour en créer un. Voir
“Insertion d'un sous-état” à la page 525.

Crystal Reports Guide de l’utilisateur 65


scr8.book Page 66 Monday, April 2, 2001 12:29 PM

Démarrage rapide pour les utilisateurs expérimentés

Si vous désirez que les enregistrements de votre sous-état correspondent avec


ceux de l’état principal, cliquez sur l’onglet Liaisons dans la boîte de dialogue
Insérer un sous-état. Voir “Pour lier un sous-état aux données de l'état
principal” à la page 529.
7 Pour insérer une table croisée, cliquez Insérer une table croisée dans la barre
d'outils supplémentaire et définissez ses paramètres dans la boîte de dialogue
Table croisée. Voir “Objets tables croisées” à la page 315.
8 Pour créer un champ paramètre, c'est-à-dire demandant à l'utilisateur d'entrer
une valeur lors de l’extraction des données pour votre état, cliquez sur le
bouton Insérer des champsde la barre d'outils standard et sélectionnez l'onglet
Paramètre dans la boîte de dialogue Explorateur de champs qui apparaît.
Cliquez Nouveau pour créer le champ paramètre. Vous pouvez alors l'insérer
dans votre état comme vous le feriez d'un champ de base de données, ou bien
le sélectionner dans la liste Champs de l'Editeur de formule.
Vous pouvez utiliser les champs paramètres de nombreuses manières : dans
votre état (comme titre ou libellé d’invite), dans les formules de sélection (comme
invite de critère de sélection), et dans les formules (pour des buts variés y compris
spécifier des champs à trier). Voir “Champs de paramètres” à la page 505.
9 Pour insérer un graphe, cliquez sur Insérer un graphe de la barre d'outils
standard. Voir “Création de graphes” à la page 259.
10 Pour insérer une carte, cliquez sur le bouton Insérer une carte de la barre
d'outils standard. Voir “Génération des cartes” à la page 279.
11 Choisissez l'option Objet OLE du menu Insérer pour insérer dans vos états
des feuilles de calcul, images ou autres objets OLE, que vous pouvez ensuite
modifier dans Report Designer à l'aide des outils de l'application d'origine. Voir
“OLE” à la page 305 et “Exploitation des objets statiques OLE” à la page 310.
12 Pour modifier l'ordre de tri des enregistrements, cliquez sur le bouton Ordre
de tri de la barre d'outils standard. La boîte de dialogue Ordre de tri des
enregistrements apparaît. Sélectionnez les champs intervenant dans la
définition des critères de tri, ainsi que l’ordre de tri. Voir “Tri sur champ
unique et sur plusieurs champs” à la page 145.
13 Si vous désirez ne faire figurer dans votre état que certains enregistrements (par
exemple, les clients dont les achats ont dépassé 10.000$ depuis le début de
l'année), cliquez sur le premier champ intervenant dans la définition des critères
de sélection puis sur l’Expert Sélection de la barre d'outils standard. Lorsque
l'Expert sélection s'affiche, définissez les critères de sélection des enregistrements.
14 Pour imprimer votre état, cliquez sur le bouton Imprimer de la barre d'outils
standard.
Vous avez terminé et vous pouvez constater que la création d'un état ne présente
vraiment aucune difficulté.

66 Crystal Reports Guide de l’utilisateur


scr8.book Page 67 Monday, April 2, 2001 12:29 PM

Bases de la conception d’états 5

Ce chapitre décrit les bases de la conception d'un état et


vous aide à déterminer les informations que vous souhaitez
y inclure.

Crystal Reports Guide de l’utilisateur 67


scr8.book Page 68 Monday, April 2, 2001 12:29 PM

Bases de la conception d’états

Bases de la conception d’états


L'objectif de ce chapitre est de proposer une démarche structurée pour la
préparation d'un état Crystal. Cette démarche comprend les éléments suivants :
 définition du contenu de l'état,
 mise au point d’un prototype sur papier.
Ce chapitre est destiné à vous fournir une approche conceptuelle de la procédure
de création d’états.

Définition du contenu de l'état


Avant tout, nous vous conseillons de noter toutes les informations que vous
souhaitez voir apparaître dans un état. Les sections suivantes vous aident à dresser
cette liste.

Enoncé de l'objectif

Quel est le but de l’état ?


Les états sont des outils de gestion. Ils vous aident à identifier rapidement les
éléments et liens essentiels fournis par les données brutes pour prendre des
décisions efficaces. Pour qu’un état soit efficace, il doit présenter les données
correctes d’une manière logique. Un état présentant des données erronées, ou un
état présentant les données correctes mais d'une manière désordonnée, ralentit la
prise de décision et peut même amener à prendre de mauvaises décisions.
Pour éviter ce genre de mésaventure, nous vous conseillons de commencer par
décrire en une ou deux phrases l'objectif de votre état. Cet effort de réflexion vous
aidera à ne pas disperser vos efforts. Votre état aura un point de départ bien
identifié et un but clairement défini.
Vous pouvez, par exemple :
 communiquer les ventes mensuelles et les ventes depuis le début de l'année,
les comparer avec les ventes de l'année précédente et attirer l'attention sur les
agents commerciaux dont les performances ne répondent pas aux critères
exigés par l’entreprise,
 afficher le détail des ventes par produit et suggérer en conséquence une
nouvelle politique de réapprovisionnement,
 calculer les scores moyens et le classement de chaque membre de la fédération
nationale de bowling.
Il est essentiel de définir l’objectif d’un état avant de commencer le travail de création.

68 Crystal Reports Guide de l’utilisateur


scr8.book Page 69 Monday, April 2, 2001 12:29 PM

5 : Bases de la conception d’états

A qui l'état s'adresse-t-il ?


Un état est souvent utilisé par plusieurs personnes. Un état détaillé des ventes
d’une entreprise peut, par exemple, être envoyé aux agents commerciaux eux-
mêmes, mais également aux directeurs régionaux, au directeur des ventes et au
directeur général de la société.
Chacun pourra l’utiliser selon ses besoins :
 les agents commerciaux pour évaluer leurs performances et les comparer à
celles de leurs collègues régionaux,
 les directeurs régionaux pour évaluer le travail de leurs agents commerciaux et
comparer leur chiffre d'affaires à celui des autres régions,
 le directeur des ventes pour évaluer le travail de ses directeurs régionaux et
comparer les ventes aux prévisions,
 le directeur général pour évaluer le travail de son directeur des ventes et
prendre les décisions en ce qui concerne les moyens de production, la situation
des entrepôts, etc., au niveau de toute la société.
Un état bien pensé doit contenir les informations qui satisferont les intérêts de tous
ceux qui seront amenés à le consulter.

Détermination de la mise en forme de l'état

Quel titre donner à l'état ?


Définissez un titre provisoire pour l'état. Vous pourrez le modifier par la suite mais
vous disposez ainsi d'un intitulé pour votre prototype.

Quelles informations d'identification sont nécessaires dans l'en-tête


et le pied ?
Vous souhaiterez peut-être inclure la date courante, des informations sur la
personne qui a préparé l'état, un bloc de texte décrivant le but de l'état, la plage de
données couverte ou d'autres informations similaires. Si vous vous apprêtez à
inclure de telles informations, notez-les pour pouvoir les utiliser lors de la
préparation de votre prototype.
Les données peuvent provenir de sources très diverses en fonction du type
d'informations que vous envisagez d'utiliser.
 Les informations relatives à la personne ayant préparé l'état peuvent être
prélevées dans des champs de données individuels de la table de base de
données utilisée. Dans ce cas, quelle table ? Ou quelle combinaison de tables ?
 Un bloc de texte peut être créé en tant qu'objet texte et placé n'importe où dans
l'état.
 Crystal Reports peut créer des informations telles que la date courante ou les
numéros de page courants.

Crystal Reports Guide de l’utilisateur 69


scr8.book Page 70 Monday, April 2, 2001 12:29 PM

Définition du contenu de l'état

Déterminer les données

Quelles données voulez-vous utiliser dans l'état ?


Connaissez-vous le type de base de données à partir de laquelle vous allez créer un
état? S'agit-il d'un fichier de données, de SQL/ODBC ou d'un dictionnaire ?
Si vous ne savez pas, demandez à l'administrateur de bases de données de votre
organisation de vous aider à définir le type de la base de données et l'emplacement
des données. Voir “Accès aux sources de données” à la page 603.
Etes-vous suffisamment familiarisé avec les données pour trouver les informations
nécessaires ? Lorsque vous recherchez le nom d'un Contact client, est-ce que le
champ peut être trouvé dans une table de base de données ?
Si ce n'est pas le cas, votre spécialiste du système intégré de gestion, votre
administrateur de bases de données ou des collègues devront vous aider à vous
familiariser avec les données.

Quelles données en particulier souhaitez-vous voir apparaître dans


le corps d’état ?
Le corps d'état doit contenir toutes les données répondant aux objectifs de l’état
que vous voulez créer. Chacun des destinataires doit pouvoir y trouver les
données dont il a besoin.
Cette étape passe par l’étude préalable des données disponibles. Crystal Reports
vous permet de combiner dans un même état les données de plusieurs bases de
données, afin de vous procurer la plus grande souplesse d’utilisation possible.
 La plupart des données d’un état typique sont généralement extraites
directement de champs de données. Quels champs allez-vous utiliser et quel
est leur emplacement ?
 D’autres données seront calculées sur la base de champs de données. Quels
champs de données utiliser dans ce cas ?
 D’autres données seront insérées dans l’état à l’aide d’objets texte (en-têtes,
notes, libellés, etc.).

Les données existent-elles ou doivent-elles être calculées ?


Il est possible d'extraire certaines informations directement des champs de
données (données de vente, par exemple), alors que d'autres nécessitent un calcul
basé sur des valeurs de champs (par exemple, commissions calculées en fonction
de la relation ventes/quota). Faites bien la distinction, au cours de la préparation
de votre état, entre les données qui doivent être calculées et celles qui peuvent être
utilisées directement. Voir “Utilisation des formules” à la page 404.

70 Crystal Reports Guide de l’utilisateur


scr8.book Page 71 Monday, April 2, 2001 12:29 PM

5 : Bases de la conception d’états

Quels types de champs contiennent les données ?


Prenez le temps d'apprendre à connaître les types de données des champs qui seront
utilisés dans vos calculs. Puisque les fonctions et les opérateurs de formules
fonctionnent avec des types de données spécifiques, il est important que vous
reconnaissiez les types de données sur lesquels vous travaillez avant d'effectuer le
moindre calcul. Certaines fonctions requièrent, par exemple, des données numériques
alors que d'autres n'acceptent que celles provenant des champs date ou heure.

Manipulation des données

Voulez-vous organiser les données en groupes ?


Comment ? Par client ? Par date ? Par ordre hiérarchique ? Ou selon d'autres
critères ? Crystal Reports offre plusieurs options de groupement des données dans
un état. Voir “Groupement des données” à la page 146.

Voulez-vous trier les informations par enregistrement ou par


groupe de valeur ?
Crystal Reports vous donne le choix. Voir “Comprendre les options de tri” à la
page 144.

Votre état doit-il reprendre uniquement certains enregistrements ?


Crystal Reports vous donne la possibilité de sélectionner tous les enregistrements,
ou un nombre limité d'enregistrements de la base de données. Crystal Reports peut
être utilisé pour sélectionner des enregistrements sur la base de plages de dates ou
de comparaisons, mais également pour créer des formules de sélection complexes.
Déterminez d'abord les enregistrements qui vous intéressent, puis établissez la
liste des critères de sélection correspondants. Voir “Sélection des enregistrements”
à la page 130.

Voulez-vous résumer les données ?


Souhaitez-vous calculer des totaux ou des moyennes, faire des comptages ou
déterminer la valeur minimale et/ou maximale d'une colonne de votre état ?
Crystal Reports vous permettra de le faire et placera le total général, ou la moyenne
générale, la valeur du comptage général, etc., au bas de la colonne sélectionnée.
Voir “Calcul d'un pourcentage” à la page 171 et “Sélectionner des groupes N Sup
ou N Inf” à la page 165.

Crystal Reports Guide de l’utilisateur 71


scr8.book Page 72 Monday, April 2, 2001 12:29 PM

Définition du contenu de l'état

Voulez-vous mettre en valeur certaines informations ?


Les indicateurs vous permettent de mettre en valeur certaines données de votre état.
Par exemple, les stocks morts sont souvent indiqués pour recevoir une attention toute
particulière. Vous pouvez, par exemple, repérer les produits qui ne se sont pas
vendus au cours du mois précédent, des trois derniers mois ou au cours d’une période
définie. Faites la liste des informations à signaler avec les conditions associées.

Comment voulez-vous marquer vos informations ?


Choisissez un symbole (un astérisque ou autre) ou un mot par lequel vous
signalerez certains articles. Dans tous les cas, veillez à préparer des instructions de
mise en valeur faciles à utiliser.
Crystal Reports vous donne la possibilité de souligner des éléments de l'état et de
modifier le type, la taille ou la couleur de la police utilisée pour des éléments
donnés de l'état. Il vous permet de placer des bordures autour des éléments et de
dessiner des lignes et des cadres (pour subdiviser l'état en sections), de mettre en
valeur des titres, pour ne citer que quelques possibilités. Tous ces outils de mise en
forme peuvent être utilisés pour faire ressortir des données importantes dans un
état. Voir “Mise en forme” à la page 209.

Détermination des caractéristiques des zones d'impression


Chaque zone d'un état a ses propres caractéristiques d'impression. Il est important
de comprendre ces caractéristiques car elles ont une incidence sur le moment et le
nombre de fois où différents objets de l'état seront imprimés.

Dans quel ordre les zones vont-elles s'imprimer dans l'état ?


Les zones s'impriment dans l'ordre dans lequel elles apparaissent dans l'onglet
Conception (de haut en bas). S'il y a plus d'une section dans une zone, elles
s'impriment dans l'ordre de leur apparition. Si vous avez, par exemple, trois
sections En-tête d'état, elles s'imprimeront toutes les trois, dans l'ordre, avant que
les sections de la zone de l'En-tête de page commencent à s'imprimer.

Quelle est la fréquence d'impression des objets de l'état ?


Le mode d'impression des objets révèle le mode de conception de votre état. Ceci
vous aidera à décider où vous devez placer les graphes, les tables croisées et les
formules pour obtenir des résultats spécifiques.

En-tête d'état
Les objets placés dans l'en-tête d'état s'impriment une fois au début de l'état.
 Les graphes et tables croisées placés dans cette zone contiennent des données
qui concernent la totalité de l'état.
 Les formules placées dans cette zone sont évaluées une fois, au début de l'état.

72 Crystal Reports Guide de l’utilisateur


scr8.book Page 73 Monday, April 2, 2001 12:29 PM

5 : Bases de la conception d’états

En-tête de page
Les objets placés dans la zone de l'en-tête de page s'impriment au début de chaque
nouvelle page.
 Les graphes et les tables croisées ne peuvent pas êtres placés dans cette section.
 Les formules placées dans cette zone sont évaluées une fois par page, au début
de chaque nouvelle page.

En-tête de groupe
Les objets placés dans la zone de l'En-tête de groupe s'impriment au début de
chaque nouveau groupe.
 Les graphes et les tables croisées placés dans cette zone ne contiennent que les
données du groupe.
 Les formules placées dans cette zone sont évaluées une fois pour chaque
groupe, au début du groupe.

Zone Détails
Les objets placés dans la zone Détails s'impriment pour chaque nouvel
enregistrement.
 Les graphes et les tables croisées ne peuvent pas êtres placés dans cette zone.
 Les formules placées dans cette zone sont évaluées une fois pour chaque
enregistrement.

Pied de page de groupe


Les objets placés dans la zone du Pied de groupe s'impriment à la fin de chaque
groupe.
 Les graphes et les tables croisées placés dans cette zone ne contiennent que les
données du groupe.
 Les formules placées dans cette zone sont évaluées une fois pour chaque
groupe, à la fin du groupe.

Pied de page d'état


Les objets placés dans la zone du Pied d'état s'impriment une fois à la fin de l'état.
 Les graphes et tables croisées placés dans cette zone contiennent des données
qui concernent la totalité de l'état.
 Les formules placées dans cette zone sont évaluées une fois, à la fin de l'état.

Pied de page (général)


Les objets placés dans la zone Pied de page s'impriment en bas de chaque page.
 Les graphes et les tables croisées ne peuvent pas êtres placés dans cette zone.
 Les formules placées dans cette zone sont évaluées une fois par page, à la fin
de chaque nouvelle page.

Crystal Reports Guide de l’utilisateur 73


scr8.book Page 74 Monday, April 2, 2001 12:29 PM

Mise au point d’un prototype sur papier

Mise au point d’un prototype sur papier


Si un prototype sur papier est utile quel que soit votre degré d'expertise, elle est
particulièrement recommandée à tous ceux qui s'initient au programme Crystal
Reports. Une fois en possession du prototype sur papier, vous pourrez concentrer
vos efforts sur l’apprentissage des fonctions de Crystal Reports au lieu de
concevoir et d’apprendre en même temps.

Pour mettre au point un prototype sur papier


1 Prenez une feuille de papier de la taille prévue pour l’état dans son aspect
final.
2 Placez le titre et les autres informations de l'en-tête en utilisant des rectangles
et des traits pour représenter les éléments de l’état.
3 Placez l'information de pied.
4 Vérifiez l’équilibre de la page.
5 Préparez ensuite l’information que vous souhaitez inclure dans le corps de
l'état.
 Comptez le nombre de champs à insérer et évaluez l'espacement nécessaire
entre eux.
 Tracez des rectangles de la taille des champs en respectant l’espacement.
 Aérez la mise en page si nécessaire.
 Choisissez l'ordre logique d’apparition des données dans le corps de l'état.
 Libellez les champs de façon à faire ressortir cet ordre.
6 Utilisez de petites boîtes pour signaler les valeurs de groupe et les totaux.
7 Placez des indicateurs au hasard dans la colonne où ils devront apparaître.
8 Marquez les éléments que vous souhaitez mettre en relief afin de les faire
ressortir par rapport aux autres éléments du prototype.
9 Examinez le résultat (aspect, équilibre, etc.) et apportez les corrections
nécessaires.

74 Crystal Reports Guide de l’utilisateur


scr8.book Page 75 Monday, April 2, 2001 12:29 PM

Présentation des états 6

Ce chapitre présente les principes de base de la création


d'état dans Crystal Reports. Vous étudierez d'abord
l'environnement de conception d'un état, puis vous
apprendrez à sélectionner des tables de base de données, à
placer des objets dans un état et à trier, grouper et totaliser
les données de votre état.

Crystal Reports Guide de l’utilisateur 75


scr8.book Page 76 Monday, April 2, 2001 12:29 PM

Options de création d'un état

Options de création d'un état


Chaque fois que vous créez un nouvel état, vous disposez de trois options :
 utiliser un Expert Etat,
 utiliser un autre état comme modèle,
 créer un état en partant de zéro.
Vous utiliserez probablement chacune de ces options à un moment ou un autre.

Expert Etat
Les Experts Etat contribuent à accélérer considérablement la création d'états, d'où
leur succès auprès des utilisateurs de tous niveaux. Il vous suffit de choisir l'expert
le mieux adapté au type d’état que vous souhaitez obtenir. Pour le reste, laissez-
vous guider par la procédure de création pas à pas.
Vous pouvez créer rapidement l’état et comparer le résultat aux données actuelles. Si
des modifications s'avèrent nécessaires, vous pouvez toujours revenir à l’Expert Etat.

Un autre état
Pour créer un état à partir d'un état existant, vous pouvez utiliser l’autre état
comme modèle de base. Ouvrez l'état que vous voulez utiliser comme modèle à
l'aide de l'option Ouvrir et enregistrez-le dans un nouveau fichier à l'aide de
l'option Enregistrer sous (menu Fichier). Utilisez cette option pour gagner du
temps. Les modèles vous seront utiles lorsque vous devez :
 créer un état qui ne diffère d'un état précédent que par les critères de
groupement ou de sélection d’enregistrements,
 reconstituer un état d’après des données plus anciennes avec la même
structure que celle que vous utilisez ce jour-là, ou
 créer un état entièrement nouveau à partir d’un ensemble de bases de données
liées dans un autre état. Vous pouvez créer un état et annuler les champs sans
perturber ces liaisons sous-jacentes. Cela vous permet ensuite de créer tous vos
nouveaux états sur la base de cet état sans avoir à recréer de nouvelles liaisons.

Nouvel état
L'option En tant qu’état vide permet de créer un état à partir de zéro. Vous pouvez
l'utiliser pour bénéficier d'une plus grande liberté de création et contrôler toutes les
étapes de la construction de votre état. Elle s'avère également utile si le type d'état
souhaité diffère de tous ceux proposés par les Experts.
L’option En tant qu’état vide a été sélectionnée pour le “Démarrage rapide pour les
nouveaux utilisateurs” à la page 40, car la création d’un état dans son ensemble vous
permet de mieux comprendre les bases de la création d’états de Crystal Reports.

76 Crystal Reports Guide de l’utilisateur


scr8.book Page 77 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

Sources de données pour les états


Crystal Reports fournit trois types différents de données :
 Base de données (y compris les sources de données ODBC et SQL)
 Requêtes
 Dictionnaires.

Base de données
Dans les Experts Etat, choisissez l'option Base de données pour établir votre état à
partir de bases de données standard sur PC (autres que client-serveur), ou de toute
source de données SQL ou ODBC.
Les bases de données standards de PC dont le logiciel de gestion et les données
elles-mêmes se trouvent en général sur la même machine. Crystal Reports possède
des fonctions intégrées pour ouvrir directement les fichiers et les tables de base de
données les plus communes conçues avec Microsoft Access, dBASE, FoxPro,
Clipper, Btrieve et Paradox, entre autres. Une fois Crystal Reports installé sur votre
système, vous pouvez commencer immédiatement à créer des états à partir de ces
bases de données en sélectionnant simplement le fichier adéquat.
Voir “Accès aux sources de données” à la page 603.
SQL (Structured Query Language) est le format de bases de données le plus
employé et le plus puissant. Les bases de données sont souvent en architecture
client/serveur et utilisent :
 un serveur SQL pour créer, stocker et manipuler les tables, les fichiers, les
champs et les enregistrements des bases de données,
 une interface client SQL permettant aux utilisateurs des stations de travail
d'accéder aux données.
Voir “Utilisation de SQL et des bases de données SQL” à la page 564.
ODBC (Open Database Connectivity) est un standard développé par Microsoft pour
permettre l'accès à de très nombreux types de données à partir d'une seule
application. Il suffit qu'une application communique avec une série de fichiers ODBC
pour qu'elle puisse utiliser n'importe quelle source de données gérée par ODBC.
Crystal Reports est livré avec les pilotes des principaux systèmes SQL et avec les
principales fonctions ODBC.
L'option Base de données a été choisie pour la section “Démarrage rapide pour les
nouveaux utilisateurs” à la page 40, car la base de données exemple Xtreme.mdb
est une base de données Microsoft Access.

Crystal Reports Guide de l’utilisateur 77


scr8.book Page 78 Monday, April 2, 2001 12:29 PM

Sources de données pour les états

Requêtes
Une requête est tout simplement une demande d’information à une base de
données. Si vous demandez cette information à partir d’une base de données SQL
(ou d’une base de données à laquelle vous accédez par ODBC), votre requête doit
être écrite en utilisant le langage SQL. Ce langage n’est pas très difficile à
apprendre, mais maîtriser les finesses de création et d’obtention de données en
utilisant le SQL peut être long. Vu que le Crystal SQL Designer élimine la nécessité
de comprendre le SQL, vous pouvez immédiatement formuler des requêtes.
Le Crystal SQL Designer a été conçu pour les utilisateurs ayant peu d’expérience
avec la conception de requêtes ainsi que pour les utilisateurs expérimentés.
 Si vous disposez d’une expérience limitée, vous apprécierez la façon dont le
Crystal SQL Designer vous aide à créer des requêtes. En répondant à quelques
questions dans quelques onglets, vous donnerez au logiciel toutes les
informations nécessaires pour la génération d’une requête.
 Si vous connaissez bien le SQL, vous apprécierez la facilité de la mise au point
des requêtes depuis le Crystal SQL Designer. Si vous sentez plus à l’aise avec
vos propres requêtes, le logiciel vous permettra de les entrer, et/ou de les
copier, directement dans l’application à partir d’une autre source.
Le Crystal SQL Designer est un outil puissant s’adaptant à vos besoins lors de la
recherche des informations.

Dictionnaires
Dans de nombreuses grandes entreprises, les données sont stockées dans des
endroits variés. Les départements informatiques utilisent souvent un système de
dénomination logique pour les tables et les champs, mais les noms donnés ne sont
pas toujours faciles à comprendre pour les non-techniciens. Le fait pour
l’entreprise de créer par elle-même des états dans un tel environnement peut
demander d’énormes ressources en formation et en assistance technique, et peut
compromettre l’intégrité des données. Les dictionnaires fournissent une solution à
ces problèmes. Ils vous permettent de fournir à vos employés l’accès aux données
sous une forme qu’ils peuvent comprendre, mais, vous permettent également de
garder le contrôle et la sécurité sur vos données.
Un dictionnaire est un affichage standardisé, simplifié, et sécurisé de vos données
organisationnelles que vous pouvez créer pour une partie ou la totalité de tous les
utilisateurs de votre organisation.

78 Crystal Reports Guide de l’utilisateur


scr8.book Page 79 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

Un dictionnaire est une méta-couche optionnelle que vous pouvez placer entre
l’utilisateur et les données. En utilisant les capacités de la méta-couche, vous pouvez :
 concevoir un affichage unique et dynamique de toutes les données requises
pour créer des états organisationnels et des requêtes,
 inclure des sources de données multiples, tables et liens,
 organiser les données et renommer les tables et champs pour que les
utilisateurs puissent comprendre le contenu et le but des données, et
 limiter l’accès à des colonnes de données spécifiques (par exemple, ne laisser
que la direction voir la colonne Salaire du fichier des données du personnel),
 placer des formules restrictives sur des lignes de données spécifiques (par
exemple, laisser seulement les cadres supérieurs voir les informations sur les
employés gagnant moins de 40.000$/an), et
 créer des formules complexes manipulant les données auxquelles les utilisateurs
pourront accéder sans avoir à comprendre les formules elles-mêmes.
Les dictionnaires réduisent le temps et les coûts associés au support, augmentent
la productivité et vous permettent d’ajouter une couche de sécurité
supplémentaire entre les utilisateurs et les données.
Remarque :
 lorsque vous créez un état à l’aide d’un dictionnaire, les seules données que
vous pouvez insérer dans l’état sont les données dans le dictionnaire. Vous ne
pouvez pas utiliser un dictionnaire et une autre source de données dans le
même état, parce que le dictionnaire est souvent utilisé pour imposer une
sécurité sur les données. Ce serait donc une violation de cette sécurité que de
permettre un accès illimité aux données.
 Vous pouvez inclure un sous-état basé sur une autre source de données dans
un état principal basé sur un dictionnaire.
 Les dictionnaires sont des méta-couches optionnelles. Vous pouvez utiliser
Crystal Reports sans jamais avoir recours aux dictionnaires.
Voir “Dictionnaires” à la page 669.

Choix des sources de données et des champs de base


de données
Crystal Reports simplifie la sélection de sources de données et de champs de base
de données en fournissant des fonctionnalités faciles à mettre en oeuvre dans les
boîtes de dialogue Explorateur de données et Explorateur de champs. Chacune de
ces boîtes de dialogue utilise l'arborescence familière de Windows pour vous
permettre de parcourir les différents choix possibles.

Crystal Reports Guide de l’utilisateur 79


scr8.book Page 80 Monday, April 2, 2001 12:29 PM

Choix des sources de données et des champs de base de données

L'Explorateur de données
L'Explorateur de données fournit un affichage d'arborescence intégré de toutes les
sources de données que vous pouvez utiliser avec Crystal Reports. Avec
l'Explorateur de données, vous pouvez :
 créer un état reposant sur l'une des sources de données actuellement connectées ;
 créer un état reposant sur une liste personnalisée, appelée “Favoris”, de sources
de données (que vous entretiendrez aussi avec l'Explorateur de données) ;
 créer un état reposant sur une liste de sources de données auxquelles vous
avez accédé récemment (entretenues automatiquement pour vous par
l'Explorateur de données) ;
 créer un état en effectuant une connexion à une source de données existant
(par exemple, un fichier de données implanté localement, ou une source de
données ODBC déjà mise en place ;)
 créer un état en créant d'abord une nouvelle connexion (par exemple, une
nouvelle source de données ODBC, ou une liaison de données de fichier OLE DB).

Affichage de l'arborescence
La fenêtre principale de l'Explorateur de données montre un affichage de
l'arborescence de sources de données possibles que vous pouvez sélectionner lors
de la création d'un état. L'arborescence est constituée des dossiers suivants :
 Connexions en cours
 Favoris
 Historique
 ODBC
 Fichiers de base de données
 Autres sources de données
 Métadonnées/Requête
Pour obtenir une description rapide de chacun de ces dossiers, reportez-vous à la
section “Sélection de la source de données” à la page 90.

Menu contextuel
Vous pouvez cliquer avec le bouton droit sur n'importe quel élément de l'Explorateur
de données pour voir un menu contextuel qui propose les options suivantes :
 Ajouter à l'état
Utilisez cette option pour ajouter une table ou une procédure stockée à votre
nouvel état. Cette option est également disponible en cliquant sur le bouton
Ajouter de l'Explorateur de données.

80 Crystal Reports Guide de l’utilisateur


scr8.book Page 81 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

 Ajouter aux favoris


Utilisez cette option pour ajouter une source de données sélectionnée au dossier
Favoris. Cette option est également disponible en cliquant sur le bouton Ajouter
aux favoris dans l'Explorateur de données.
 Supprimer de l'état
Utilisez cette option pour supprimer une table ou une procédure stockée de
votre état. Cette option est également disponible en cliquant sur le bouton
Supprimer de l'Explorateur de données.
 Propriétés
Utilisez cette option pour obtenir des informations détaillées sur l'élément
sélectionné.
 Renommer favoris
Utilisez cette option pour renommer une source de données dans le dossier
Favoris.
 Supprimer favoris
Utilisez cette option pour supprimer une source de données dans le dossier
Favoris.

Options
Le bouton Options de l'Explorateur de données donne accès aux options que vous
pouvez définir globalement dans l'onglet Base de données de la boîte de dialogue
Options.

L'Explorateur de champs
Utilisez la boîte de dialogue Explorateur de champs pour insérer, modifier ou
supprimer des champs dans les onglets Conception et Aperçu de Crystal Reports.
Vous pouvez voir l'Explorateur de champs après avoir sélectionné une source de
données pour un nouvel état, ou lorsque vous sélectionnez Objet champ dans le
menu Insérer.

Affichage de l'arborescence
L'Explorateur de champs montre une arborescence des champs de base de
données et des champs spéciaux que vous pouvez ajouter à votre état. Il montre
aussi les champs de formule, les champs Instruction SQL, les champs de
paramètre, les champs Total cumulé et les champs Noms de groupe que vous avez
choisi d’utiliser dans votre état.
Les champs qui ont déjà été ajoutés à l'état, ou ceux qui ont été utilisés par d'autres
champs (tels que les champs de formule, les groupes, les champs Total cumulé, les
résumés, etc.) sont repérés par une coche verte.

Crystal Reports Guide de l’utilisateur 81


scr8.book Page 82 Monday, April 2, 2001 12:29 PM

Choix des sources de données et des champs de base de données

Barre d'outils et menus contextuels


La barre d'outils comprend des boutons dotés, chacun, d'une astuce outil et d'un
raccourci clavier. Vous pouvez cliquer avec le bouton droit sur un élément de
l'arborescence pour faire apparaître un menu contextuel.
La barre d'outils et le menu contextuel offrent les fonctions suivantes :
 Insérer dans l'état
Utilisez cette option pour ajouter un champ à l'état. Vous pouvez insérer plus
d'un champ à la fois en sélectionnant plusieurs champs, en cliquant avec le
bouton droit et en choisissant Insérer dans l'état.
Une autre méthode d'insertion de champ consiste à le faire glisser puis à le
déposer dans les onglets Conception ou Aperçu.
 Parcourir
Utilisez cette option pour parcourir les données à la recherche d'un champ de
base de données ou d'un champ de formule.
Lorsque vous cliquez avec le bouton droit sur un champ de base de données,
les options Insérer dans l'état et Parcourir les données du menu contextuel sont
activées.
 Nouveau
Utilisez cette option pour créer un champ de formule, un champ Instruction
SQL, un champ paramètre ou un champ Total cumulé.
 Modifier
Utilisez cette option pour modifier un champ de formule, un champ
Instruction SQL, un champ paramètre ou un champ Total cumulé.
 Renommer
Utilisez cette option pour modifier le nom d'un champ de formule, d'un
champ Instruction SQL, d'un champ paramètre ou d'un champ Total cumulé.
 Supprimer
Utilisez cette option pour supprimer un champ de formule, un champ
Instruction SQL, un champ paramètre ou un champ Total cumulé. Vous
pouvez aussi sélectionner plusieurs champs, cliquer avec le bouton droit et
choisir Supprimer pour les supprimer tous en même temps.
 Déplacer vers le haut (ou le bas)
Utilisez cette option pour modifier l'ordre des champs paramètre.
Lorsque vous cliquez sur un champ paramètre avec le bouton droit, toutes les
fonctions sont activées, à l'exception de Parcourir les données.
 Afficher le type de champ
Utilisez cette option pour connaître le type de champ (chaîne, nombre, etc.)
lorsque vous consultez une liste de champs de base de données.

82 Crystal Reports Guide de l’utilisateur


scr8.book Page 83 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

Champs Nom de groupe


Vous pouvez insérer un champ Nom de groupe existant affiché dans l'Explorateur de
champs en cliquant dessus avec le bouton droit et en sélectionnant Insérer.
Cependant, il est impossible de créer un champ Nom de groupe à partir de
l'Explorateur de champs, à la différence des champs de données, de paramètres ou
de total cumulé. (Un champ Nom de groupe est créé lorsque vous insérez un groupe.)

A propos de l'environnement de conception de l'état


Onglet Conception
Lorsque vous travaillez avec Crystal Reports, l'onglet Conception est celui que
vous utiliserez le plus souvent.

L’onglet Conception est l’endroit où vous faites la plupart du travail initial lors de
la conception d’un état. Il indique et étiquette les différentes sections de l’état. Vous
pouvez placer dans ces sections des objets selon votre choix, spécifier l’ordre de tri,
le groupement, le calcul des totaux, et effectuer la mise en forme initiale.
L'onglet Conception fournit un excellent environnement pour la conception
d'états, car il vous permet de travailler sur la représentation des données et non sur
les données elles-mêmes. Lorsque vous insérez un champ, le programme le
représente à l'écran par un cadre mais ne va pas chercher les données
correspondantes. Cela vous permet d'ajouter et de supprimer des objets, de les
déplacer, de définir des formules complexes, etc., sans “ gaspiller ” les ressources
de l’ordinateur ou du réseau pour la collecte des données.
L'état créé dans l'onglet Conception est en quelque sorte virtuel ; il possède la
structure et les instructions nécessaires à la création de l'état final, mais il ne s'agit
pas d'un état en tant que tel. Pour en faire un état final ou un état que vous pouvez
affiner, il suffit “ d'ajouter des données ”. L'ajout de données s'effectue lorsque
vous affichez un aperçu de l'état, que vous l'imprimez ou que vous l'éditez de
quelque manière que ce soit. Les données réelles apparaissent alors dans l'état.

Crystal Reports Guide de l’utilisateur 83


scr8.book Page 84 Monday, April 2, 2001 12:29 PM

A propos de l'environnement de conception de l'état

Zones de l'onglet Conception


Lorsque vous commencez à créer un état, Crystal Reports crée automatiquement
cinq zones dans l'onglet Conception :
 En-tête d'état
Cette section contient toutes les informations qui apparaîtront au début de
l’état, notamment son titre. Vous pouvez également y placer des tables
croisées et des graphes dont les éléments concernent tout l'état.
 En-tête de page
Cette section est normalement destinée aux données qui doivent apparaître en
haut de chaque page. Il peut s'agir d'informations telles que le nom des
chapitres, le nom du document, etc. Vous pouvez également l'utiliser pour
afficher un intitulé au-dessus des champs d'un état.
 Détails
Cette section, le corps de l'état, sera imprimée une fois par enregistrement.
C'est là qu'apparaîtra l'essentiel des données de l’état.
 Pied de page d'état
Cette section est réservée aux totaux généraux, aux graphes et aux tables
croisées portant sur la totalité de l’état, et plus généralement, à toute
information que vous ne voulez voir apparaître qu’une seule fois, à la fin de
l’état.
 Pied de page (général)
Cette section est habituellement destinée au numéro de page et à d'autres
informations qui doivent apparaître au pied de chaque page.
Lorsque vous ajoutez un groupe, un résumé ou un sous-total à votre état, le
programme crée deux sections supplémentaires :
 En-tête de groupe
Vous placerez dans cette section le champ de nom du groupe, et si nécessaire,
des graphes et des tables croisées comprenant des données du groupe. Cette
section est imprimée au début du groupe.
 Pied de page de groupe
Le cas échéant, vous placerez dans cette section un résumé, des graphes et des
tables croisées. Cette section est imprimée à la fin du groupe.
Lorsque vous ajoutez un groupe, un résumé ou un sous-total, l'en-tête de groupe
s'affiche directement au-dessus de la zone Détails et le pied de groupe apparaît
immédiatement en dessous.

84 Crystal Reports Guide de l’utilisateur


scr8.book Page 85 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

Si vous ajoutez des groupes, le programme crée de nouvelles zones de groupe entre
les zones de Détails et les zones d’en-tête de groupe et de pied de page de groupe.

De même que les zones d'origine, chaque nouvelle zone peut contenir une ou
plusieurs sections. Par défaut, elle est composée d'une seule section.

Identifier et travailler avec les zones et les sections


Par défaut, chaque zone contient une seule section. Le nom de cette section est
affiché immédiatement à sa gauche. Les autres sections, si vous en définissez
plusieurs, seront désignées par les lettres a, b, c, etc.
Remarque :
 Si vous activez l’option Noms de sections dans l’onglet Conception dans la
boîte de dialogue Options, les sections seront identifiées par des initiales telles
que EE, EP, D, PP, PE, etc.
 Si vous cliquez avec le bouton droit de la souris dans la zone grise contenant
un nom de section, un menu contextuel apparaît avec les options concernant la
section. Si vous cliquez avec le bouton droit dans la zone grise à gauche des
noms de section, un menu contextuel apparaît avec, cette fois, les options
concernant la zone.

Crystal Reports Guide de l’utilisateur 85


scr8.book Page 86 Monday, April 2, 2001 12:29 PM

A propos de l'environnement de conception de l'état

Une règle de section s'affiche immédiatement à gauche de chaque section. Celle-ci


sert à ajouter, supprimer et déplacer des guides et fournit un support visuel pour
le positionnement des objets. Voir “Utilisation de guides” à la page 221.
Règle de
section.

Lorsque vous ajoutez une nouvelle section, le logiciel crée une nouvelle règle. Voir
“Utiliser plusieurs sections dans un état” à la page 194.

Autres fonctions de l'onglet Conception


L'onglet Conception offre des possibilités supplémentaires. L'onglet Conception
permet en outre :
 de redimensionner une section en déplaçant sa limite inférieure Voir
“Redimensionnement d'une section” à la page 193.
 de diviser une section en cliquant sur sa limite gauche Voir “Division d'une
section” à la page 193.
 d'insérer des guides horizontaux et verticaux en cliquant sur les règles Voir
“Utilisation de guides” à la page 221.
 d'effectuer des zooms avant ou arrière (de 25% à 400% de la taille d’origine)
sur un état Voir “Comment effectuer un zoom avant ou arrière sur un état” à la
page 103.

Onglet Aperçu
Pour visualiser un état avant de l'imprimer, cliquez sur Aperçu avant impression
dans la barre d'outils standard.
Crystal Reports collecte les données, effectue les calculs, génère l'état et l'affiche dans
l'onglet Aperçu. Vous pouvez ainsi examiner la mise en forme de l'état, le résultat
des résumés, les calculs de formule et les sélections d'enregistrements et de groupes.
Et comme avec tout programme WYSIWYG (Tel écran - Tel écrit), vous pouvez
affiner le positionnement des objets et leur mise en forme jusqu'à l’obtention du
résultat voulu.

86 Crystal Reports Guide de l’utilisateur


scr8.book Page 87 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

Le logiciel travaille avec les données de la manière suivante :


 Lorsque la première prévisualisation de l'état est lancée, Crystal Reports
charge les données depuis les sources indiquées et, si vous n'avez pas
désactivé cette option, les enregistre avec l'état.
 Par la suite il utilise ces données sauvegardées, à moins que vous ne
demandiez explicitement une régénération de l'état ou que vous n'ajoutiez un
champ, contraignant le logiciel à rechercher de nouvelles données.
Crystal Reports fournit deux possibilités pour visualiser votre état :
 Affichage standard;
 Affichage de l’arborescence de groupe.

Affichage standard

Avec l’affichage standard, l’état apparaît page par page. En utilisant les boutons de
navigation dans l’onglet Aperçu, vous pouvez progresser vers le début ou la fin de
l’état, ou faire défiler une page à la fois en avant ou en arrière dans l’état.
L’affichage standard est d’utilisation très pratique pour des états plus courts ou les
états pour lesquels seuls les grands totaux vous intéressent.

Indicateur d’âge des données


L'indicateur d’âge des données fournit la date de la dernière actualisation ou de la
première extraction des données. Lorsque cette date est celle du jour, le logiciel
donne l'heure en plus.

Crystal Reports Guide de l’utilisateur 87


scr8.book Page 88 Monday, April 2, 2001 12:29 PM

A propos de l'environnement de conception de l'état

Affichage de l’arborescence de groupe

L'arborescence de groupe peut être affichée ou masquée à l'aide du bouton


Basculer l'arborescence de groupe de la barre de mise en forme.
L'arborescence de groupe comporte deux volets :
 le volet de droite affiche l'état ;
 le volet de gauche affiche l'état dans ses grandes lignes, en montrant la hiérarchie
des groupes et des sous-groupes dans un format d'arborescence familier.
L'arborescence de groupe affiche normalement le nom des groupes et des sous-
groupes que vous avez créés dans votre état. Vous pouvez, cependant,
personnaliser ces noms en utilisant la section Options de groupe des boîtes de
dialogue Insérer un groupe ou Changer les options de groupe. Pour avoir plus
d'informations sur la personnalisation des Noms de groupes dans l'arborescence
de groupe, reportez-vous à la section “Groupement des données” à la page 146.
Lorsque vous cliquez sur le nœud d’un arbre correspondant au groupe qui vous
intéresse, le logiciel “ saute ” immédiatement vers la partie de l’état contenant des
informations appartenant à ce groupe. La Navigation Intelligente en tant qu’outil
de l’arborescence de groupe, rend votre travail extrêmement efficace en vous
permettant de naviguer rapidement à l’intérieur d’états longs ou de sauter sans
difficulté d’un groupe à un autre.

Comparaisons avec l’onglet Conception


L'onglet Aperçu donne accès aux mêmes fonctionnalités de mise en forme que
l'onglet Conception. Les menus (barre de menu et menus contextuels), les barres
d'outils standard et supplémentaire, et la barre de mise en forme restent actifs.
Toutefois, si vous avez de nombreuses modifications à effectuer, vous travaillerez
plus rapidement dans l'onglet Conception. Vous devez prendre en compte les
éléments suivants :

88 Crystal Reports Guide de l’utilisateur


scr8.book Page 89 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

 Les onglets Conception et Aperçu sont reliés. Toute modification apportée


dans l'un de ces onglets apparaît également dans l'autre.
 L'onglet Aperçu n'a qu'une règle verticale globale à gauche alors que l'onglet
Conception en a une pour chaque section. Les utilisations de ces règles sont
cependant les mêmes dans les deux cas.
 Dans l'onglet Aperçu, en revanche, le nom de chaque section apparaît dans la
zone grise à gauche des données : cela permet de savoir immédiatement de
quelle section viennent les données qui s'impriment. Alors que les noms de
sections n'apparaissent qu'une fois dans l'onglet Conception, ils s'impriment à
chaque édition d'une section dans l'onglet Aperçu.
 Le compteur d'enregistrements, l'indicateur d’âge des données (voir
“Indicateur d’âge des données” à la page 87) et les contrôles de défilement des
pages (page suivante/page précédente), (voir “Onglet Aperçu” à la page 86)
sont actifs dans l'onglet Aperçu.
 L'onglet Aperçu met en surbrillance toutes les valeurs du champ sélectionné
alors que l'onglet Conception ne met en surbrillance que son cadre.
Vous ne travaillez pas dans l'onglet Aperçu de la même manière que dans l'onglet
Conception.
Chaque champ d'une base de données contient des douzaines, des centaines voire
de milliers de valeurs selon le nombre d'enregistrements existants. Lorsque vous
placez un champ dans l'onglet Conception, un seul cadre les représente tous.
Lorsque vous mettez le champ en surbrillance, des poignées de dimensionnement
apparaissent sur le cadre et celui-ci change de couleur.
Dans l'onglet Aperçu, en revanche, vous manipulez les données réelles. Ce sont ces
valeurs qui s'affichent et non un cadre les représentant. Vous devez prendre en
compte les éléments suivants :
 Si vous sélectionnez un champ ou une formule dans cet onglet, vous
sélectionnez toutes les valeurs du champ, alors le logiciel :
 entoure d'un cadre la valeur sélectionnée,
 met en surbrillance les autres valeurs du champ.
 De même, si vous sélectionnez une valeur de résumé, vous sélectionnez en fait
toutes les valeurs de résumé apparentées, alors le logiciel :
 entoure d'un cadre la valeur sélectionnée,
 met en surbrillance les valeurs de résumé apparentées à cette donnée.
A part les différences d'aspect, le processus de création et de modification d'un état
est le même dans l'onglet Conception et dans l'onglet Aperçu. L'un et l'autre
faciliteront votre travail sur les états.

Crystal Reports Guide de l’utilisateur 89


scr8.book Page 90 Monday, April 2, 2001 12:29 PM

Création d'un nouvel état

Création d'un nouvel état


Sélection de la source de données
Une fois que vous avez arrêté les options à utiliser pour la création de votre état
(voir “Options de création d'un état” à la page 76), l'étape suivante consiste à
sélectionner une source de données à utiliser.
La plupart des sources de données peut être choisie par l'intermédiaire de la boîte
de dialogue Explorateur de données. L'Explorateur de données s'affiche lorsque
vous choisissez Base de données dans un Expert Etat, ou lorsque vous créez un état
en partant de zéro à l'aide de l'option En tant qu’état vide.
Remarque : cette procédure utilise les Experts Etat pour vous montrer comment
sélectionner une source de données. La boîte de dialogue Explorateur de données
s'utilise de la même façon pour les états créés en partant de zéro.

Pour sélectionner les données et commencer un nouvel état


1 Cliquez sur le bouton Nouveau dans la barre d'outils standard.
La Collection d’états Crystal Report apparaît.

2 Cliquez deux fois sur l'Expert correspondant au type d'état que vous voulez créer.
Le premier onglet de chaque Expert est un onglet Données. Utilisez les options
de cet onglet pour sélectionner votre source de données par l'intermédiaire de
la boîte de dialogue Explorateur de données.
3 Dans l'onglet Données, cliquez sur Base de données.

90 Crystal Reports Guide de l’utilisateur


scr8.book Page 91 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

4 Utilisez l'arborescence de l'Explorateur de données pour sélectionner votre


source de données :
 Connexions actuelles montre une liste de sources de données auxquelles
vous êtes actuellement connecté.
 Favoris montre une liste de sources de données que vous utilisez
couramment et que vous avez conservées dans votre liste Favoris.
 Historique montre une liste de sources de données que vous avez utilisées
récemment. Les cinq dernières sources de données utilisées sont affichées.
 ODBC montre une liste de sources de données ODBC que vous avez déjà
configurées pour utilisation. Vous pouvez utiliser Créer une nouvelle
source de données pour configurer une nouvelle source de données ODBC.
 Bases de données affiche la liste des bases de données PC standard
implantées localement. Vous pouvez utiliser Rechercher un fichier de base
de données pour rechercher une base de données PC à l'aide de la boîte de
dialogue Ouvrir.
 Autres sources de données montre une liste d'autres sources de données
auxquelles on peut accéder par l'intermédiaire de pilotes natifs ou OLE DB.
 Métadonnées/Requête permet de rechercher un fichier de dictionnaire
(.dct ou .dc5) ou de requête (.qry).

Sujets connexes
“Accès aux sources de données” à la page 603.
“Sélection d'une requête destinée à un état” à la page 664.
“Utilisation d'un dictionnaire” à la page 671.

Liaisons de plusieurs tables


Si l'état contient des données provenant de deux tables de base de données ou plus,
ces dernières doivent être liées à ce point de la création de l'état. Les tables de base
de données sont liées de sorte que des enregistrements de l'une correspondent aux
enregistrements homologues de l'autre. Par exemple, si vous activez une table
Fournisseurs et une table Produits, les bases de données sont liées pour que chaque
produit (de la table Produits) puisse correspondre au fournisseur (de la table
Fournisseurs) de ce produit.
La plupart des états nécessiteront probablement des données contenues dans
plusieurs tables, ce qui implique d'établir des liaisons. Le processus de liaison est
facilité par l'Expert Liaison visuelle. Voir “Liaisons entre tables” à la page 543.
Remarque : il n'est pas nécessaire de lier des tables dans des états créés à partir
d'une requête car toutes les liaisons requises par les données ont déjà été traitées.

Crystal Reports Guide de l’utilisateur 91


scr8.book Page 92 Monday, April 2, 2001 12:29 PM

Création d'un nouvel état

Pour ajouter et lier plusieurs tables


1 Choisissez la commande Ajouter une base de données à l’état du menu Base
de données.
La boîte de dialogue Explorateur de données apparaît.
2 Sélectionnez la nouvelle base de données que vous voulez utiliser dans l'état.
Voir “Sélection de la source de données” à la page 90.
3 Cliquez sur Fermer lorsque vous en avez terminé avec l'Explorateur de données.
L'Expert Liaison visuelle s'affiche et montre les bases de données actuellement
disponibles pour la liaison.
Remarque : si l'option Liaison intell. auto est activée dans l'onglet Base de
données de la boîte de dialogue Options, vous n'aurez pas besoin de créer des
liaisons manuellement entre les tables. Voir “Liaisons entre tables” à la page 543.

4 Pour créer des liaisons manuellement, faites glisser un champ d'une table vers
un champ d'une autre table. En cas de succès, une ligne de liaison est créée. En
cas d'échec, un message s'affiche.
Remarque : vous pouvez lier les tables par leur nom ou par des informations
de clé étrangères.
5 Pour lier des bases de données automatiquement, cliquez sur Liaison.
6 Pour spécifier les tables, cliquez sur Tables.
7 Cliquez sur OK lorsque vous avez terminé.
Remarque : lorsque vous créez des liaisons manuellement, le champ auquel
vous faites “ aboutir ” la liaison doit être un champ indexé. Pour avoir plus

92 Crystal Reports Guide de l’utilisateur


scr8.book Page 93 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

d'informations sur les champs indexés et les tables, reportez-vous à la section


“Tables indexées” à la page 542.
L'Expert Liaison visuelle se ferme, et vous revenez à votre état. Les bases de
données liées peuvent maintenant être utilisées dans votre état. Si la liaison ne
vous convient pas, vous pouvez la modifier à l'aide de l'Expert Liaison visuelle.

Sujets connexes
“Bases de données” à la page 537.
“Types de jointures SQL (sources de données ODBC)” à la page 556.

Placement des données dans l'état


Le placement des données dans l'état est une tâche très importante. Vous devez
connaître le type des données à placer et leur emplacement prévu dans l'état.

Champs de base de données


La plupart des données placées dans un état sont des champs de base de données
qui affichent les données lorsqu'elles sont stockées dans la base de données. Par
exemple, dans la section “Démarrage rapide pour les nouveaux utilisateurs” à la
page 40, les champs Nom du client, Ville et Pays sont placés dans l'état.
Normalement, les champs de base de données seront placés dans la section Détails,
mais dans certains cas, ils seront placés dans d'autres sections de l'état.

Pour insérer un champ de base de données


1 Cliquez sur le bouton Insérer des champs de la barre d'outils standard.
La boîte de dialogue Explorateur de champs apparaît avec “ Champs de la base
de données ” activé. Tous les champs de la (des) base(s) de données choisie(s)
sont énumérés. Pour accélérer le processus de création de l'état, cette boîte de
dialogue reste à l'écran jusqu'à ce vous cliquiez sur Fermer. Vous pouvez
déplacer cette boîte de dialogue vers l'emplacement de votre choix.

2 Sélectionnez le champ que vous voulez voir apparaître dans l'état.

Crystal Reports Guide de l’utilisateur 93


scr8.book Page 94 Monday, April 2, 2001 12:29 PM

Création d'un nouvel état

3 Cliquez sur Parcourir pour passer en revue les valeurs contenues dans le
champ sélectionné.
4 Cliquez sur Insérer pour le placer dans l'état.

Objets texte
Les objets texte sont utilisés dans les états dans un grand nombre de cas. Ils
constituent un moyen puissant pour insérer des titres, étiqueter des résumés et
d'autres données sur votre état, et combiner facilement des champs de base de
données. Par exemple, dans la section “Démarrage rapide pour les nouveaux
utilisateurs” à la page 40, les objets texte sont utilisés pour afficher facilement les
deux champs de base de données nom de contact sous la forme d'un seul objet,
pour insérer un titre de colonne pour le nom de contact concaténé et pour insérer
un titre dans votre état.

Pour insérer un objet texte


1 Cliquez le bouton Insérer un objet texte de la barre d'outils standard. Une
trame d'objet vide apparaît.

2 Positionnez l'objet texte à l'endroit de votre choix dans l'état.


Cliquez une fois sur la bordure de l'objet texte pour le déplacer et/ou le
redimensionner.
Cliquez deux fois à l'intérieur de l’objet texte en vue d'en modifier le contenu.
La règle de l’onglet Conception se transforme en règle objet texte qui s’adapte
à la dimension de l’objet texte sélectionné. Un indicateur de tabulation apparaît
à gauche. En cliquant sur l’indicateur de tabulation, vous pouvez vous servir
des quatre options de tabulation disponibles.
Tirez pour placer Tirez pour placer la
Alignée à gauche. marge droite.
la marge gauche.
Alignée à droite.

Centrée.
Une fois l'option de tabulation choisie, cliquez
Alignée sur le point dans la règle sur la position d'insertion désirée.
décimal.

La règle vous permet d’ajouter des retraits et aussi d’aligner un texte à l’intérieur
d’un objet texte.

94 Crystal Reports Guide de l’utilisateur


scr8.book Page 95 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

Remarque : lorsque vous insérez l’objet texte dans l’état pour la première fois,
l’objet est automatiquement sélectionné pour l’édition.

Comment utiliser un champ de base de données dans un objet texte


La fonction principale d'un objet texte est d'abriter du texte. Cependant, il peut
également contenir des champs de base de données.
1 C'est pourquoi les objets texte sont idéaux pour la création de lettres type
personnalisées.

2 Insérez un objet texte dans votre état. Tapez le texte à afficher avant le premier
champ (y compris les espaces).
3 Cliquez sur le bouton Insérer des champs de la barre d'outils standard.
La boîte de dialogue Explorateur de champs apparaît avec “ Champs de la base
de données ” activé.
4 Sélectionnez le champ à insérer et faites-le glisser dans l'objet texte. Le point
d'insertion dans le texte suit le déplacement du cadre du champ.

5 Faites glisser l'objet vers l'endroit où vous souhaitez que le champ de base de
données apparaisse et relâchez le bouton de souris.

Champs spéciaux
Crystal Reports vous permet d’insérer très facilement dans votre état des champs
Numéro de page, Numéro d'enregistrement, Numéro de groupe, Date
d'impression et Nombre total de pages, etc.

Crystal Reports Guide de l’utilisateur 95


scr8.book Page 96 Monday, April 2, 2001 12:29 PM

Création d'un nouvel état

Pour insérer un champ spécial


Crystal Reports vous permet d'insérer facilement les champs Numéro de page,
Numéro d'enregistrement, Numéro de groupe, Date d'impression et Nombre total
de pages, entre autres, dans votre état.
1 Choisissez la commande Objet champ du menu Insérer.
La boîte de dialogue Explorateur de champs apparaît avec “ Champs de la base
de données ” activé.
2 Faites défiler l'arborescence jusqu'à Champs spéciaux et développez cet
élément en cliquant dessus.

3 Dans la liste Champs spéciaux, choisissez un élément à insérer dans l'état.


Chaque champ spécial est inséré dans l’état en tant qu’objet. Un cadre de
positionnement apparaît. Vous pouvez maintenant l’insérer dans l’état.
Remarque : si vous souhaitez modifier la mise en forme des objets insérés, cliquez
sur l'objet de votre choix, puis sur le bouton Format de la barre d’outils
supplémentaire. L’Editeur de format apparaît et vous pouvez faire les
modifications nécessaires. Voir “Mise en forme” à la page 209.

Champs de formule
Certaines données ne peuvent être extraites directement de la base de données et
doivent être calculées. Vous devrez alors créer un champ de formule et l’insérer
dans l’état. Ainsi, par exemple, si votre base de données n’enregistre que les dates
de commande et d’expédition, et si vous souhaitez afficher le délai de livraison,
vous devrez créer un champ de formule qui calcule le nombre de jours entre la date
de la commande et la date de livraison. Cet exemple illustre simplement
l’utilisation des champs de formule. Pour une introduction aux formules, voir
“Utilisation des formules” à la page 399.

96 Crystal Reports Guide de l’utilisateur


scr8.book Page 97 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

Champs total cumulé


Pour afficher un total qui évalue chaque enregistrement et offre une somme
cumulée de toutes les valeurs dans un champ (ou de toutes les valeurs dans
certains ensembles de valeurs), vous devez créer un champ Total cumulé et
l’insérer dans l’état. Si les trois premières valeurs dans un champ étaient 2, 4 et 6,
un total cumulé imprimerait 2, suivi par 6 (la somme de 2 + 4), et puis 12 (la somme
de 2 + 4 + 6). Voir “Totaux cumulés” à la page 177, pour une présentation des
totaux cumulés.

Champs image
Lors de la conception d'un rapport, il s'avère parfois nécessaire d'insérer une image.
Ainsi, vous pouvez souhaiter faire apparaître le logo d'une entreprise dans l'en-tête.

Pour insérer une image


1 Cliquez sur le bouton Insérer une image de la barre d'outils supplémentaire.
La boîte de dialogue Ouvrir apparaît.
2 Sélectionnez le fichier de l'image à insérer et cliquez sur Ouvrir pour revenir à
l'état.
Un cadre contenant l'image indiquée apparaît prêt à être positionné

3 Positionnez l'objet image à l'endroit de votre choix dans l'état et cliquez avec le
bouton droit de la souris une fois.

Champs Instruction SQL


Un champ Instruction SQL utilise la syntaxe SQL au lieu du langage de formule
Crystal Reports utilisé dans un champ de formule. Les instructions SQL permettent
d'extraire de la base de données des ensembles de données spécifiques. Il est
possible de trier, grouper et baser la sélection d’enregistrements sur eux. Voir “Le
Crystal SQL Designer” à la page 651, pour une présentation des instructions SQL.
Lorsqu’une source de données SQL/ODBC est utilisée dans la conception d’un
état, le logiciel ajoute un sixième onglet à la boîte de dialogue Insérer des champs
dans l’onglet Instructions SQL. Ce nouvel onglet vous permet d’entrer les
instructions SQL dans la boîte de dialogue Insérer des champs, puis de les insérer
rapidement et efficacement dans un état.

Crystal Reports Guide de l’utilisateur 97


scr8.book Page 98 Monday, April 2, 2001 12:29 PM

Création d'un nouvel état

Pour créer un champ Instruction SQL


1 Choisissez la commande Objet champ du menu Insérer.
La boîte de dialogue Explorateur de champs apparaît avec “ Champs de la base
de données ” activé.
2 Faites défiler l'arborescence jusqu'à Champ Instruction SQL et sélectionnez-le.
Cliquez sur Nouveau.
La boîte de dialogue Nom d'instruction SQL s'affiche.
3 Entrez un nom dans la zone Nom, puis cliquez sur OK.
L'Editeur d'instruction SQL s'affiche.

Remarque : l'Editeur d'instruction SQL fonctionne de la même manière que


l'Editeur de formule. Pour avoir plus de renseignements sur ces outils,
reportez-vous à la section“Syntaxe et composants de formules” à la page 402.
4 Saisissez l'instruction dans l'Editeur d'instruction SQL.
5 Cliquez sur OK.

Champs hyperliens
Vous pouvez sélectionner un objet dans l'onglet Conception ou dans l'onglet
Aperçu et créer un lien hypertexte vers un site Web, un fichier local HTML, une
valeur de champ, une adresse e-mail ou un autre fichier Crystal Report.
Le lien hypertexte est enregistré avec votre état et donne aux autres utilisateurs un
moyen d'afficher des informations supplémentaires.
Remarque : Crystal Reports vous permet également de créer des liens hypertexte
avec des adresses URL relatives. Vos états sur le Web restent ainsi indépendants

98 Crystal Reports Guide de l’utilisateur


scr8.book Page 99 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

de leur emplacement sur un serveur donné. Pour utiliser une adresse URL
relative, sélectionnez “ Un fichier ” comme type de lien hypertexte, puis
supprimez la valeur d’invite par défaut (fichier:///) dans le champ Nom du
fichier et remplacez-la par l’adresse URL relative.

Pour créer un champ Lien hypertexte


1 Sélectionnez un objet état dans l'onglet Conception ou dans l'onglet Aperçu.
Remarque : Si vous voulez créer un lien hypertexte vers un autre fichier
Crystal Report, ne sélectionnez pas un objet d’état.
2 Dans le menu Insérer, cliquez sur Lien hypertexte.
L'onglet lien hypertexte de la boîte de dialogue Editeur de format s'affiche.

3 Cliquez sur le type de lien hypertexte que vous voulez créer. Les types
disponibles sont :
 pas de lien hypertexte ;
 site Web sur Internet ;
 valeur du champ en cours ;
 adresse e-mail ;
 fichier ;
 autre fichier Crystal Report.
Remarque : Tous les types de liens hypertexte ne sont pas disponibles à tout
moment. L'objet que vous sélectionnez et son emplacement dans l'état
déterminent les types qui sont disponibles.

Crystal Reports Guide de l’utilisateur 99


scr8.book Page 100 Monday, April 2, 2001 12:29 PM

Création d'un nouvel état

4 Une fois le type de lien hypertexte choisi, entrez les informations appropriées
le concernant (l'URL d'un site web, par exemple).
5 Cliquez sur OK lorsque vous avez terminé.
Le lien hypertexte est correctement inséré. Cliquez dessus dans l'état pour aller sur
le site, l'adresse e-mail ou l'autre état correspondant.
Remarque : Si vous sélectionnez “ Autre fichier Crystal Report ” comme type de
lien hypertexte, vous créez un sous-état à la demande (reportez-vous à la section
“Sous-états” à la page 521). Étant donné qu'un sous-état ne peut pas contenir un
autre sous-état, vous ne pouvez pas créer un lien hypertexte entre deux sous-états.

Champs BLOB (Binary Large Object)


Un champ BLOB est un champ de base de données dont les données
correspondent à des objets numériques volumineux (Binary Large Objects) tels
que les graphiques bitmap, images, objets OLE, métafichiers, etc. L'insertion d'un
champ BLOB dans un état vous permet d'accéder à ces objets de la même manière
qu'à d'autres types de données.
En règle générale, Crystal Reports autorise l'accès à des champs BLOB qui
contiennent :
 des DIB (Device Independent Bitmap),
 des images JPEG, TIFF ou PNG.
Par ailleurs, si les données sont stockées dans une base de données Microsoft
Access, Crystal Reports permet d'extraire des données de champs BLOB qui
contiennent des objets OLE 1 et 2 ainsi que des métafichiers.
Pour insérer des champs BLOB, utilisez la même procédure que pour les autres
champs de base de données. Pour plus d'informations, reportez-vous à “Pour
insérer un champ de base de données” à la page 93.
Un objet champ BLOB se distingue des autres objets de champs de base de données
du fait qu'il offre des possibilités de contrôle du découpage, de la mise à l'échelle
et du dimensionnement, exactement comme une image ou un objet OLE. Pour
accéder à ces options, cliquez sur l'objet champ BLOB avec le bouton droit de la
souris, sélectionnez la mise en forme du graphique dans le menu contextuel, puis
cliquez sur l'onglet Image.
Remarque : si vous souhaitez avoir la possibilité d'activer et de modifier un objet
OLE avec son application serveur, il est préférable de l'insérer dans l'état
indépendamment, par liaison ou par incorporation, au lieu de le placer dans un
champ BLOB. Pour plus d'informations sur l'insertion des objets OLE liés et
incorporés, reportez-vous à “Insertion des objets OLE dans vos états” à la page 308.

100 Crystal Reports Guide de l’utilisateur


scr8.book Page 101 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

Mise en forme des données


A ce stade de la création d'état, il peut s'avérer utile de procéder à une mise en
forme de base. Peut-être souhaitez-vous modifier la taille et le style de la police
pour l'objet texte qui servira de titre. Vous pouvez également avoir besoin
d'ajouter un symbole de devise dans un champ numérique ou de modifier le
nombre de décimales qui s'affichent.
Par exemple, dans le “Démarrage rapide pour les nouveaux utilisateurs” à la
page 40, vous mettez en forme le titre, puis vous y ajoutez un objet texte pour
définir les informations du nom de contact et enfin vous y insérez le logo de
l’entreprise. Voir “Mise en forme” à la page 209.

Sélection d'enregistrements
La sélection d’enregistrements, qui consiste à limiter les données à inclure dans un
état aux seules données nécessaires, constitue une étape cruciale dans la création
d’états. Vous avez rarement besoin de mettre sur une liste toutes les informations
contenues dans une base de données. La plupart du temps, seuls vous
intéresseront les chiffres de ventes de certains produits sur une certaine période,
etc. Ainsi, un état des ventes peut être conçu de manière à n’inclure que les
données de ventes d’une ligne de produit donnée au cours d’un mois donné.
Les données des exemples figurant dans le “Démarrage rapide pour les nouveaux
utilisateurs” à la page 40, ne représentent que les clients internationaux ou
domiciliés aux Etats-Unis. La sélection d’enregistrements est utilisée dans cet
exemple pour créer un état dans lequel seuls les clients habitant aux Etats-Unis
sont mentionnés. Voir “Sélection d'enregistrements” à la page 129 et “Groupement
des données” à la page 146.

Groupement, tri et résumé des données


Une fois votre état de base créé, vous pouvez organiser l’information en
constituant des groupements thématiques, en triant les différents enregistrements,
et en effectuant des résumés, des sous-totaux et des totaux généraux.

Groupement d'enregistrements
Pour organiser vos données, vous avez la possibilité de les grouper. Ainsi, après
un groupement des clients par région dans le “Démarrage rapide pour les
nouveaux utilisateurs” à la page 40, la liste des clients peut être répartie en groupes
régionaux. Ceci permet à un directeur des ventes pour la Californie d’accéder
rapidement au groupe Californie et de ne consulter que la liste des clients de cette
région. Voir “Groupement des données” à la page 146.

Crystal Reports Guide de l’utilisateur 101


scr8.book Page 102 Monday, April 2, 2001 12:29 PM

Création d'un nouvel état

Tri d’enregistrements
Crystal Reports permet de spécifier l'ordre des enregistrements dans l’état. Par
exemple, après le groupement effectué dans le “Démarrage rapide pour les
nouveaux utilisateurs” à la page 40, vous avez classé les enregistrements
alphabétiquement par région à l’aide du champ Nom du client. En fait, vous
procéderez à un tri dans la plupart de vos états. En fonction de l’état, vous trierez
les enregistrements dans une liste ou fonction du groupement. Voir “Tri sur champ
unique et sur plusieurs champs” à la page 145 et “Comment trier des
enregistrements dans des groupes” à la page 150.

Résumés, Sous-totaux, et Totaux généraux


Le même type de totalisation est utilisé pour de nombreux états. Par exemple, dans
un compte-rendu des ventes pour l'Amérique du nord, groupées par état, vous
souhaitez calculer le total des ventes effectuées dans chaque état. Pour cela, vous
créez un sous-total sur le champ Ventes. Les résumés sont également utilisés au
niveau du groupe, ce qui vous permet de calculer des moyennes, des comptes et
d'autres valeurs de groupe (résumées). Par exemple, dans un compte-rendu de
ventes, vous pouvez souhaiter calculer une moyenne des ventes par état (résumé
moyen du champ Ventes) et calculer le nombre de produits vendus dans l'état
(compte distinct du champ Nom de produit).

Comment explorer des données résumées


Vous pouvez explorer vos données à l’aide du curseur Exploration (de manière à
afficher les données derrière les groupes individuels). Voir “Tris, groupements et
calculs de totaux” à la page 143.

Curseur Exploration
Crystal Reports vous permet d’explorer un groupe ou des résumés à partir de l’onglet
Aperçu, en utilisant à la fois l’Affichage standard et l’Affichage d’arborescence de
groupe (voir “Affichage standard” à la page 87et “Affichage de l’arborescence de
groupe” à la page 88). Lorsque vous placez le curseur sur une valeur de résumé que
vous voulez explorer, le programme affiche le curseur d’exploration.
Truc : les en-têtes de groupe s'affichent dans l'onglet Explorer comme dans l'état
principal.

102 Crystal Reports Guide de l’utilisateur


scr8.book Page 103 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

Si vous cliquez deux fois, le logiciel affichera les détails de ces valeurs. Par
exemple, si le curseur d’exploration devient actif sur le résumé de ville, vous
pouvez cliquer deux fois pour voir les détails derrière ce résumé.
 Si votre état ne contient qu'une seule valeur de résumé, vous pouvez examiner
cette valeur ou examiner les enregistrements à partir desquels elle a été obtenue.
 Si vous avez plusieurs valeurs de résumé, vous pouvez voir les résumés derrière
les résumés (les résumés de ville qui font les résumés de Région par exemple) ou
les données des enregistrements individuels lorsqu’ils sont résumés.

Comment effectuer un zoom avant ou arrière sur un état


Il est très facile d'effectuer un zoom sur un état. Vous disposez d'une fourchette
d'agrandissement de 25 % à 400 %. Cette option est disponible à la fois dans
l'onglet Conception et dans l'onglet Aperçu.
Pour agrandir ou réduire l’affichage d'un état, cliquez sur l’option Contrôle du
zoom de la barre d'outils standard.

25%

50%

100%

Utilisez les taux d'agrandissement les plus faibles lorsque vous souhaitez obtenir
une vue d'ensemble de la présentation d'un état. Agrandissez l'image si vous
souhaitez vous concentrer sur un point de détail.

Crystal Reports Guide de l’utilisateur 103


scr8.book Page 104 Monday, April 2, 2001 12:29 PM

Création d'un nouvel état

Comment insérer un en-tête et un pied de page


Pour créer des en-têtes et des pieds de page, il vous suffit de saisir les informations
dans les sections En-tête de page et Pied de page de l'onglet Conception.

 Insérez les informations dans l’en-tête de l’état, si ces informations ne doivent


apparaître que sur la première page de l’état.
 Insérez les informations dans le pied de page de l’état, si ces informations ne
doivent apparaître que sur la dernière page de l’état.
 Insérez des informations dans l’en-tête de page, si ces informations ne doivent
apparaître que sur le haut de chaque page de l’état.
 Insérez des informations dans le pied de page, si ces informations ne doivent
apparaître que sur le bas de chaque page de l’état.
Vous pouvez insérer dans ces sections du texte, des champs et des formules,
comme dans les sections Détails.

Sujets connexes
“Création d'un pied de page à partir de la deuxième page” à la page 253.

Comment ajouter une page titre à votre état


Crystal Reports vous permet d’ajouter une page titre à votre état à l’aide de la
commande Titre d’état du menu Insérer|Objet champ. Pour pouvoir utiliser cette
commande, vous devez auparavant taper un titre dans l’onglet Résumé de la boîte
de dialogue Propriétés de document. Voir “Ajout d'informations de résumé à
l'état” à la page 106.

Pour ajouter un titre à un état


1 Choisissez la commande Objet champ du menu Insérer.
La boîte de dialogue Explorateur de champs apparaît avec “ Champs de la base
de données ” activé.

104 Crystal Reports Guide de l’utilisateur


scr8.book Page 105 Monday, April 2, 2001 12:29 PM

6 : Présentation des états

2 Faites défiler l'arborescence jusqu'à Champs spéciaux et développez cet


élément en cliquant dessus.
3 Sélectionnez Titre d’état et cliquez sur Insérer. Un cadre apparaît lorsque vous
déplacez le curseur sur votre état.

4 Déplacez le cadre d’objet dans la section En-tête de l’état et cliquez une fois
pour le placer.
5 Avec le titre en surbrillance, cliquez sur le bouton Expert Section de la barre
d’outils standard.
L'Expert Section s'affiche.

6 Lorsque la section En-tête de l’état est mise en surbrillance, activez l’option


Nouvelle page après.
Le titre apparaîtra sur la première page et l’état lui-même commencera sur la
deuxième page.

Crystal Reports Guide de l’utilisateur 105


scr8.book Page 106 Monday, April 2, 2001 12:29 PM

Au-delà des états de base

Ajout d'informations de résumé à l'état


Vous voudrez peut-être inclure des commentaires non imprimables dans un état
(un message personnel à l'attention du destinataire de l'état, une note donnant des
explications plus approfondies sur les données sur lesquelles repose l'état, un titre
d'état, un commentaire sur des données particulières de l'état, etc.).
L'option Résumé du menu Fichier vous permet d'inclure à peu près n'importe quoi
dans votre état, qu'il s'agisse d'une note brève ou de centaines de lignes de texte. Les
commentaires ne s'impriment pas avec l'état; ils restent dans l'onglet Résumé de la
boîte de dialogue Propriétés de document où ils peuvent être consultés à la demande.
Lorsque vous choisissez l'option Résumé, la boîte de dialogue Propriétés de
document s'affiche avec l'onglet Résumé actif.

Entrez les informations souhaitées et cliquez sur OK lorsque vous avez terminé
pour revenir à votre état.

Au-delà des états de base


Une fois que vous serez familiarisé avec les bases de la création d'états, vous serez
prêt à étudier les fonctionnalités de création d'état plus puissantes offertes par
Crystal Reports, notamment:
 les graphes (reportez-vous à la section “Création de graphes” à la page 259)
 les objets OLE (reportez-vous à la section “OLE” à la page 305)
 les lettres type (reportez-vous à la section “Les lettres types” à la page 200)
 les sous-états (reportez-vous à la section “Sous-états” à la page 521)
 les tables croisées (reportez-vous à la section “Objets tables croisées” à la
page 315)
 les états comportant plusieurs sections (reportez-vous à la section “Etats à
plusieurs sections” à la page 189).

106 Crystal Reports Guide de l’utilisateur


scr8.book Page 107 Monday, April 2, 2001 12:29 PM

Conception d'états web optimisés 7

Ce chapitre vous propose des méthodes pour optimiser vos


états en leur faisant bénéficier des améliorations apportées
à Crystal Reports en matière de performances. Bien que les
propositions faites ici soient plus particulièrement adaptées à
l’optimisation des performances des états diffusés dans un
environment câble fin pour le Web, la plupart des directives
et des procédures sont applicables à tous vos états.

Crystal Reports Guide de l’utilisateur 107


scr8.book Page 108 Monday, April 2, 2001 12:29 PM

Aperçu

Aperçu
Que vous diffusiez vos états d'entreprise sur un réseau local, sur un intranet
d’entreprise ou sur le Web, vous pouvez utiliser les fonctionnalités puissantes,
intégrées à Crystal Reports, pour accélérer la création d’états sur le web.
Crystal Reports vous fournit automatiquement ces principaux avantages de
performance, même si vous n'appliquez aucune des stratégies définies dans ce
chapitre :
 Technologie des pages sur demande
L'accès aux pages des états sur demande permet aux utilisateurs de
télécharger uniquement les pages qu'ils souhaitent voir, ce qui permet
d’améliorer le temps de réponse et de réduire le trafic sur le web. En outre, les
paramètres substituables et la technologie des pages partielles vous permet
d'afficher immédiatement des pages d'états et des données sur le web, sans
avoir à attendre pour le traitement d'objets plus volumineux, par exemple des
graphiques et des sous-états.
 Moteur d'état optimisé à traitement simultané
Les fonctionnalités de traitement simultané améliorées du moteur de Crystal
Report et les pilotes de base de données à unité d'exécution sécurisée vous
permettent de continuer à travailler sur des tâches importantes, tout en traitant
d'autres opérations en arrière-plan. Le moteur d'état réduit également le
nombre de passages effectués dans les données, accélère le traitement par une
gestion améliorée de la mémoire et gère les sous-états et les paramètres aussi
efficacement que possible.
Outre ces fonctionnalités intégrées, les “Stratégies clés pour l'optimisation des états
sur le web” examinées dans les sections suivantes apportent des avantages
supplémentaires souvent importants. Lorsque vous concevez de nouveaux états (ou
que vous améliorez vos anciens états) selon ces stratégies, les états s'exécutent plus
rapidement et mobilisent moins de ressources de traitement. Les utilisateurs d'états
peuvent donc accéder facilement, et plus vite, aux données dont ils ont besoin.
Truc : Si vous débutez dans la création d'états web ou dans la création d'états en
général, la lecture de ce chapitre vous préparera aux futures tâches de création
d'états : vous y trouverez des informations importantes sur la conception rapide
d'états améliorés.
Remarque : La compréhension des bases de données et de leur fonctionnement
est un élément primordial en matière de performance. Voir “Généralités sur les
bases de données” à la page 538 pour des informations générales.

108 Crystal Reports Guide de l’utilisateur


scr8.book Page 109 Monday, April 2, 2001 12:29 PM

7 : Conception d'états web optimisés

Stratégies clés pour l'optimisation des états sur le web


 Crystal Reports et Crystal Enteprise suivent l'expansion de votre société. Pour
plus d'informations, reportez-vous à “Capacités d’évolution avec Crystal
Enterprise” à la page 109.
 Pour des astuces et des remarques sur la création d'états rapides et interactifs,
voir “Faire les bons choix de conception” à la page 110.
 Pour savoir comment tirer le meilleur parti de votre base de données existante,
voir “Rationalisation de votre environnement de création d'états” à la
page 115.
 Pour réduire le transfert de données et améliorer les performances des états,
voir “Utilisation des formules de sélection d'enregistrement améliorées” à la
page 118.
 Pour réduire les temps de traitement et de transfert de données des états
groupés, triés ou cumulés, voir “Amélioration du groupement, du tri et du
cumul” à la page 125.
En général, les questions relatives à la perfomance des états sont similaires, quelle
que soit la manière dont vous diffusez vos états. En respectant ces stratégies, vous
noterez d'importantes améliorations dans les environnements web, dans les
situations à un comme à plusieurs utilisateurs.

Capacités d’évolution avec Crystal Enterprise


Crystal Enterprise augmente la valeur et les capacités d’évolution de Crystal
Reports. Il offre, dans un environnement de commerce électronique, une solution
modulable basée sur le Web pour la gestion de l'accès et de l’expédition de
centaines ou de milliers d'états Crystal à chaque décisionnaire, dans le cadre ou en
dehors de l’entreprise.
Crystal Enterprise propose une solution souple et gérée de création d'états. Il vous
permet de fournir la puissance de conception d'état de Crystal Reports sur une
infrastructure modulable basée sur le web pour la gestion d'un référentiel central
d'états, de la sécurité utilisateur et de la planification et du traitement des états.
Si vous avez acquis la version Professional ou Developper de Crystal Reports, vous
avez également reçu Crystal Enterprise Standard sur CD-ROM. Cette édition de
Crystal Enterprise fonctionne sur une seule machine et fournit un accès utilisateur
anonyme aux états sur le Web. Avec le CD-ROM, vous recevez cinq licences à accès
simultané gratuites.
Au fur et à mesure de l'expansion de vos besoins de création d'états, vous pouvez
facilement équiper votre système avec Crystal Enterprise Professional en
l’installant sur autant de machines qu’il est nécessaire. En outre, avec Crystal
Enterprise Professional, vous pouvez préciser les parties du serveur à faire
fonctionner sur chaque machine.

Crystal Reports Guide de l’utilisateur 109


scr8.book Page 110 Monday, April 2, 2001 12:29 PM

Faire les bons choix de conception

Installation, configuration et mise à niveau


Pour installer et configurer Crystal Enterprise Standard, consultez la documentation
qui accompagne le CD-ROM. La documentation Crystal Enterprise explique
également comment ajouter des licences à accès simultané supplémentaires à votre
système et comment le faire évoluer avec Crystal Enterprise Professional.
Le CD Crystal Enterprise Standard (livré avec Crystal Reports 8.5) contient un
code clé de licence temporaire du produit, qui permet aux utilisateurs d'installer et
d'utiliser le système Crystal Enterprise pendant 30 jours. Pour obtenir un code clé
d'activation de licence produit, gratuit et sans date limite d'utilisation, vous devez
inscrire votre exemplaire de Crystal Enterprise Standard. Utilisez l’Assistant
d’inscription Crystal situé dans le groupe de programmes Crystal Enterprise pour
effectuer votre inscription.

Faire les bons choix de conception


Cette section présente des options et des observations liées à la conception pour
vous aider à améliorer les performances de vos états. Les sujets abordés vont des
suggestions élémentaires, comme la mise à jour d'états plus anciens au format de
fichier le plus rapide, aux décisions plus importantes comme l'utilisation de
données dynamiques ou enregistrées et l'utilisation efficace des sous-états.
Lorsque vous concevez vos états et en particulier lorsque vous concevez des états
pour le Web, votre objectif est de permettre aux utilisateurs de ces états de manipuler
les données qu'ils voient. En d'autres termes, d'afficher les informations sous forme
résumée, pour que chaque utilisateur puisse naviguer dans l'état rapidement puis
l’explorer pour accéder à des données supplémentaires. De cette manière, le trafic
sur le web et les temps de réponse sont réduits, car seules les données demandées
par l'utilisateur sont transférées depuis le serveur de base de données.
Ce ne sont là que quelques-uns des avantages de la conception d'états contrôlée
par l'utilisateur :
 Les utilisateurs des états disposent d’un contrôle interactif sur le type et la
quantité d'informations qu'ils affichent sur le Web.
 Le transfert de données et le trafic du réseau diminuent car seules les
informations demandées par les utilisateurs sont renvoyées par le serveur de
base de données.
 Lorsque les utilisateurs nécessitent une création d'états en temps réel avec des
données dynamiques sur le Web, les états conçus pour répondre aux besoins
des utilisateurs répondent rapidement et communiquent efficacement avec le
serveur de base de données.
 Les états deviennent plus utiles, car chaque utilisateur personnalise le contenu
de l'état, créant de ce fait une solution de conception d'états spécifique à son
problème particulier de prise de décision.

110 Crystal Reports Guide de l’utilisateur


scr8.book Page 111 Monday, April 2, 2001 12:29 PM

7 : Conception d'états web optimisés

Utilisation de formats d'états plus rapides


Le moyen le plus rapide d'améliorer les performances de vos anciens états consiste
à les enregistrer au format Crystal Reports le plus récent. Crystal Reports a été
amélioré pour traiter les états de la version 8 encore plus vite : mettez à jour vos
anciens états pour profiter de ces améliorations.
Pour mettre à jour le format d'un état ancien, ouvrez-le dans Crystal Reports et
sélectionnez Enregistrer dans le menu Fichier. La version la plus ancienne de l'état
sera remplacée par un état de version 8.5.
Remarque : Si pour une raison quelconque, vous devez conserver un ancien état
dans son format d’origine, utilisez la commande Enregistrer sous (au lieu
d'Enregistrer) et entrez un nouveau nom pour l'état de version 8.5.

Choisir entre les données dynamiques et les données enregistrées


Lorsque vous créez des états sur le Web, le choix entre les données dynamiques et
les données enregistrées est une des décisions les plus importantes à prendre. Quel
que soit le choix effectué, Crystal Reports affiche la première page aussi
rapidement que possible, de façon à ce que vous puissiez voir votre état tandis que
le reste des données est traité.

Données dynamiques
La création d'états dynamique permet aux utilisateurs un accès en temps réel aux
données dynamiques, directement à partir du serveur de base de données. Utilisez
les données dynamiques pour garder les utilisateurs toujours informés des
données en constante évolution, afin qu'ils puissent accéder à des informations
exactes à la seconde près. Par exemple, si les gestionnaires d'un gros centre de
distribution doivent garder la trace d’articles de stock expédiés de manière
régulière, la création d'états dynamiques vous permet de leur fournir les
informations dont ils ont besoin.
Lorsqu’il est associé avec Crystal Enterprise, Crystal Reports prend en charge la
création d'états dynamique. Toutefois, vous devez d'abord décider si vous voulez
ou non que tous vos utilisateurs puissent consulter le serveur de base de données
de manière continue. Si les données ne changent pas rapidement ou
continuellement, les requêtes transmises à la base de données ne font qu'accroître
le trafic sur le réseau et limiter les ressources serveur. Dans ce cas, il est préférable
d'utiliser des états avec des données enregistrées.
Pour assurer l'efficacité de la création d'états en temps réel, lisez toutes les
suggestions contenues dans ce chapitre. Les rubriques suivantes sont plus
particulièrement importantes :
 “Comment profiter des sous-états sur demande” à la page 113.
 “Groupement sur le serveur” à la page 125.
 “Incorporation de champs de paramètres dans les formules de sélection
d'enregistrements” à la page 122.

Crystal Reports Guide de l’utilisateur 111


scr8.book Page 112 Monday, April 2, 2001 12:29 PM

Faire les bons choix de conception

Données enregistrées
Les états contenant des données enregistrées sont utilisés lorsque qu’il n’est pas
nécessaire de travailler avec des données continuellement mises à jour. Lorsque les
utilisateurs naviguent dans des états contenant des données enregistrées qu’ils
explorent pour obtenir des détails sur des colonnes ou des graphiques, ils n'ont pas
directement accès au serveur de base de données : ils accèdent aux données
enregistrées. Par conséquent, les états avec des données enregistrées permettent
non seulement de réduire le transfert des données sur le réseau mais libèrent
également le serveur de base de données d’une partie de la charge de travail.
Vous pouvez planifier ces états dans Crystal Enterprise afin qu'ils soient
automatiquement actualisés à partir de la base de données sur une base
prédéterminée. Par exemple, si votre base de données des ventes est mise à jour
une fois par jour ou une fois par semaine seulement, vous pouvez exécuter l'état
selon un calendrier similaire et l'enregistrer avec les données. Les représentants ont
alors toujours accès aux données concernant les ventes en cours, mais ils ne
n’accèdent pas à la base de données chaque fois qu'ils ouvrent un état. Vous pouvez
aussi actualiser vos états avec des données enregistrées en fonction de vos besoins.
Si vous utilisez des états avec des données enregistrées, suivez les autres
suggestions de ce chapitre pour vous assurer que vos états sont conçus en vue
d'une performance optimale.
Pour enregistrer un état avec des données, vérifiez d'abord que l'option Enregistrer les
données avec l'état est sélectionnée dans le menu Fichier, puis enregistrez votre état.

Conception d'états résumés


La conception et la diffusion d'états résumés est un moyen relativement rapide de
vous assurer que les utilisateurs trouvent rapidement les données dont ils ont
besoin sur le Web. Un état résumé peut inclure autant de données que n'importe
quel autre état. Toutefois, en masquant la section Détails d'un état résumé, vous
évitez d'encombrer les utilisateurs de données dont ils n'ont peut-être pas besoin
dans l’immédiat.
Lorsque la section Détails est masquée, les utilisateurs naviguent d'abord avec
l'arborescence Groupe pour trouver les données désirées. Ensuite, en explorant
l'état, ils peuvent demander des données spécifiques qui sont rapidement
renvoyées sans enregistrements superflus. Ceci est particulièrement important
pour améliorer la navigation d'états résumés longs qui peuvent comporter des
centaines, des milliers voire des dizaines de milliers de pages.
Pour faciliter ainsi la navigation, vous devez d'abord regrouper les données et
insérer les champs résumés que vous voulez inclure dans votre état. Pour des
informations et des instructions détaillées, voir “Groupement des données” à la
page 146 et “Résumé de données groupées” à la page 163.

112 Crystal Reports Guide de l’utilisateur


scr8.book Page 113 Monday, April 2, 2001 12:29 PM

7 : Conception d'états web optimisés

Dès que vous avez groupé et résumé vos données d'état, masquez la section Détails
(et toutes les autres sections états importantes) pour que les utilisateurs puissent
facilement accéder aux données qui les intéressent.

Masquage des détails dans un état résumé


1 Ouvrez votre état dans Crystal Reports.
Si vous n'avez pas déjà créé un état groupé et résumé, ouvrez “ summary
group.rpt ” dans le dossier Feature Examples.
2 Dans le menu Mettre en forme, cliquez sur Section pour ouvrir l'Expert
Section.
3 Dans la liste Sections, cliquez sur Détails.
4 Dans l'onglet Commun de l'Expert Section, sélectionnez la case à cocher
Masquer (avec exploration).
5 Cliquez sur OK.
Remarquez que les détails sont désormais masqués. Pour afficher les détails,
naviguez dans l'état en utilisant l'arborescence Groupe puis explorez la zone
appropriée de l'état.
Remarque : Pour de plus amples informations sur la réduction du transfert des
données avec des états résumés, voir “Groupement sur le serveur” à la page 125.

Utilisation prudente des sous-états


Pour des informations générales sur la création de sous-états, voir “Sous-états” à
la page 521.

Comment profiter des sous-états sur demande


Si votre état contient une section qui gère un grand nombre d'enregistrements,
vous pouvez placer cette section dans un sous-état sur demande. Un sous-état sur
demande apparaît sous la forme d'un hyperlien dans l'état principal. Lorsque vous
ouvrez l'état principal, aucune donnée n'est extraite pour le sous-état sur demande
tant que vous n'explorez pas l'hyperlien.
Par exemple, supposons que lorsque vous concevez un état qui affiche les ventes
trimestrielles de chaque employé pour chaque produit et chaque type de produit,
vous souhaitez aussi suivre les résultats de chaque employé en incluant des
informations sur les ventes hebdomadaires. Ces données supplémentaires peuvent
intéresser de nombreux utilisateurs visualisant l'état. Dans ce cas, extrayez la portion
ventes hebdomadaires de l'état et attachez-la sous forme de sous-état sur demande.
Les informations détaillées sur les ventes hebdomadaires sont récupérées de la base
de données uniquement lorsqu'un utilisateur explore le sous-état sur demande.

Crystal Reports Guide de l’utilisateur 113


scr8.book Page 114 Monday, April 2, 2001 12:29 PM

Faire les bons choix de conception

Plusieurs objets d'état—par exemple de grandes tables croisées, des graphiques


évolués et des cartes—sont des candidats idéaux à inclure dans des sous-états sur
demande, de telle sorte que l'objet ne soit pas traité avant exploration.
Pour insérer un sous-état sur demande, voir “Insertion d'un sous-état” à la
page 525 et “Création d'un sous-état à la demande” à la page 534.
Truc : Vous pouvez aussi placer ces objets d'état dans une section Détails masquée
d'un état qui utilise l'option Grouper sur le serveur. Lorsque vous effectuez cette
opération, le serveur de base de données effectue la plus grande partie du
traitement et seul un sous-ensemble des enregistrements est transféré du serveur
sur la machine locale.

Liaison de tables plutôt que de sous-états


Chaque fois que c’est possible, coordonnez vos données d'état en liant les tables de
la base de données à l'Expert Liaison visuelle, plutôt qu'en liant des sous-états
standard, c'est-à-dire les sous-états qui ne sont pas des sous-états sur demande, à
l'état principal. Comme chaque sous-état est exécuté comme un état séparé, les
tables liées présentent souvent un avantage en matière de performance.

Sujets connexes
Pour d'autres instructions générales, voir “Liaisons entre bases de données et sous-
états dans des situations un-à-plusieurs” à la page 524.
Pour plus d'informations, reportez-vous à “Amélioration des performances dans
les liaisons un-à-plusieurs” à la page 545.

Utilisation de sous-états liés


Lorsqu'un sous-état est lié, Crystal Reports coordonne les données dans le sous-
état aux enregistrements correspondants dans l'état principal. Si vous devez
utiliser des sous-états standard liés, c'est-à-dire des sous-états liés qui ne sont pas
des sous-états sur demande, suivez les instructions ci-dessous :
 Si les données supplémentaires fournies par un sous-état standard lié ne sont
utiles qu'à un nombre relativement faible d'utilisateurs, créez plutôt un sous-
état sur demande. Les utilisateurs qui doivent voir les données
supplémentaires cliquent sur un hyperlien pour afficher le sous-état ; les
utilisateurs qui n'ont pas besoin de voir les données supplémentaires n'ont pas
à les télécharger du serveur de base de données.
 Dans certains cas, l'utilisation de sous-états standard liés dans la section Détails
d'un état principal peut perturber le fonctionnement, en particulier lorsque
votre état principal contient plusieurs enregistrements. (Ceci s'explique par le
fait que vous créez un sous-état séparé pour chaque enregistrement et une
requête séparée doit être lancée pour chaque enregistrement de la base de
données dans l'état principal.) Sinon, vous pouvez utiliser des sous-états liés
sur demande dans la section Détails de votre état principal.

114 Crystal Reports Guide de l’utilisateur


scr8.book Page 115 Monday, April 2, 2001 12:29 PM

7 : Conception d'états web optimisés

Rationalisation de votre environnement de création


d'états
L'évaluation de votre environnement de création d'états est une étape de plus pour
vous assurer que les utilisateurs des états reçoivent rapidement leurs informations.
Quel type de base de données utilisez-vous ? Comment les données sont-elles
organisées dans la base de données ? Comment vous connectez-vous aux données
qui serviront à la constitution de votre état ? Comment liez-vous les tables de votre
base de données ? En prenant en compte ces remarques importantes, vous pouvez
réduire de façon significative la quantité de données qui doivent physiquement
transiter sur le réseau.

Sélection de la base de données et de la connexion la plus rapide


Pour améliorer les performances de la création d'états, utilisez tout le potentiel de
votre base de données en lui confiant l’essentiel du traitement de votre état. Dans
l'idéal, les bases de données SQL (Structured Query Language, language de
requête structuré) sont les plus efficaces pour effectuer cette tâche.
Pour de plus amples renseignements sur les bases de données SQL, voir
“Utilisation de SQL et des bases de données SQL” à la page 564.

Utilisation des index de tables


Vous pouvez également améliorer la façon dont vos données sont organisées dans
la base de données. Pour une vitesse de traitement optimum, constituez des états
sur les champs indexés dans votre base de données SQL. L'utilisation d'index de
tables est un moyen simple d'augmenter la vitesse d'accès aux données et de
réduire le temps d'évaluation des données nécessaire à Crystal Reports.
Pour une description complète du fonctionnement de l'indexage des tables, voir
“Tables indexées” à la page 542.

Amélioration des choix de liaison de tables


Lorsque vous ajoutez plusieurs tables de bases de données à votre état, vous liez
les tables dans un champ commun de telle sorte que les états d'une table
correspondent aux états liés d'une autre table. (La liaison de tables fonctionne
mieux si les tables de votre base de données sont indexées.) La liaison des tables de
votre base de données selon ce procédé est en général beaucoup plus rapide que
l'intégration de sous-états liés dans votre état principal.
Lorsque vous liez deux ou plusieurs tables, vous voulez que votre état traite le
moins d'enregistrements possibles tout en trouvant tous les enregistrements
appropriés. La meilleure façon de respecter ces instructions est d'évaluer vos
besoins de création d'états et de planifier votre stratégie avant de créer votre état.

Crystal Reports Guide de l’utilisateur 115


scr8.book Page 116 Monday, April 2, 2001 12:29 PM

Rationalisation de votre environnement de création d'états

Lorsque vous savez exactement ce dont vous avez besoin dans votre source de
données, Crystal Reports facilite l'obtention de ces informations.
D'autres questions spécifiques sont à considérer lors de la liaison de tables. Ces
considérations supplémentaires dépendent toutefois largement de votre
environnement de création d'états. En d'autres termes, les étapes vers une
performance optimale de liaison des tables dépendent du type de la base de
données, de la possibilité d'indexation des tables et du type de jointure nécessaire
entre les tables. Vous trouverez des descriptions complètes de différents scénarios
de création d'états dans la section intitulée “Liaisons entre tables” à la page 543.
Dans la majorité des scénarios de création d'états, les procédures générales
suivantes doivent garantir la liaison de vos tables pour une performance améliorée
voire optimale.

Pour lier efficacement les tables


1 Vérifiez que chaque table de la base de données est indexée sur le champ que
vous allez utiliser.
2 Ajoutez les tables de la base de données à votre état puis créez une jointure de
la table principale à la table de consultation sur un champ commun. (Effectuez
cette opération plutôt que d'insérer un sous-état lié et de le lier aux données
dans votre état principal).
3 Utilisez une formule de sélection d'enregistrements qui définit des limites de
plages sur le champ indexé dans la table principale. Ceci réduit le nombre
d'enregistrements dans la table principale pour lesquels Crystal Reports doit
trouver des enregistrements correspondants dans la table de consultation.

Sujets connexes
Pour des informations complètes sur les scénarios de liaison de tables, voir
“Liaisons entre tables” à la page 543
Pour des informations générales sur les formules de sélection d'enregistrements,
voir “Sélection des enregistrements” à la page 130.
Pour des stratégies de sélection d'enregistrements plus évoluées, voir “Utilisation
des formules de sélection d'enregistrement améliorées” à la page 118.

116 Crystal Reports Guide de l’utilisateur


scr8.book Page 117 Monday, April 2, 2001 12:29 PM

7 : Conception d'états web optimisés

Utilisation de pilotes de bases de données avec unité d'exécution


sécurisée
Si vous partagez et actualisez des états sur le web, ouvrez-les en utilisant des pilotes
de bases de données avec unité d'exécution sécurisée chaque fois que possible. Le
Crystal Report Engine prend en charge plusieurs unités d'exécution. Ainsi, lorsque
vous effectuez plusieurs demandes de données via des pilotes de bases de données
avec unité d'exécution sécurisée, le moteur d'état peut traiter simultanément toutes
les demandes. En conséquence, vous pourrez voir vos états plus vite.
A l'heure actuelle, les pilotes ODBC suivants pour SQL Server et Informix
comportent une unité d'exécution sécurisée :
 Sqlsrv32.dll (Serveur MS SQL)
 Crinf13.dll, Crinf14.dll, Crinf913.dll, Crinf914.dll (pilotes Merant pour Informix).
En outre, les pilotes de bases de données natifs suivants comportent une unité
d'exécution sécurisée :
 p2smon.dll (ADO)
 p2soledb.dll (OLE DB)
 p2sora7.dll (Oracle)
 p2ssyb10.dll (Sybase)
 p2sdb2.dll (DB2)

Utilisation des procédures stockées pour un traitement plus rapide


Une procédure stockée est un programme SQL compilé, comprenant une ou
plusieurs déclarations SQL et qui se trouve et s'exécute sur votre serveur SQL.
Bien qu'une configuration correcte des procédures stockées puisse prendre du
temps, celles-ci peuvent se révéler incroyablement puissantes.
Il est plus intéressant d'utiliser les procédures stockées dans le cas de création de
grands ensembles de données ou de lancement d'états qui demandent des calculs
longs et complexes. Dans ces cas-là, vous devez dans l'idéal utiliser une procédure
stockée prédéfinie qui effectue à votre place le travail complexe sur le serveur de
base de données.
Comme les procédures stockées se trouvent sur votre serveur SQL, vous pouvez
demander à votre administrateur comment accéder à une procédure stockée ou
la définir.

Sujets connexes
Pour de plus amples informations sur les procédures stockées, voir “Procédures
stockées” à la page 567.
Pour sélectionner une procédure stockée, voir “Procédures stockées SQL” à la
page 594.

Crystal Reports Guide de l’utilisateur 117


scr8.book Page 118 Monday, April 2, 2001 12:29 PM

Utilisation des formules de sélection d'enregistrement améliorées

Utilisation des formules de sélection d'enregistrement


améliorées
Si vous voulez accélérer le traitement des états, vous devez en premier lieu limiter
le nombre de données renvoyées par la base de données. La formule de sélection
d'enregistrements est pour cela votre outil principal.
Crystal Reports analyse votre formule de sélection d'enregistrements et génère une
requête SQL. Cette requête SQL est ensuite traitée par la base de données qui
renvoie les enregistrements obtenus à Crystal Reports. Crystal Reports évalue
ensuite localement la formule de sélection d'enregistrements pour chacun des
enregistrements récupérés dans la base de données, calculant ainsi le jeu
d'enregistrements utilisé pour générer l'état.
Les enregistrements superflus sont éliminés à deux niveaux : dans la base de
données avec la requête SQL et dans Crystal Reports par la formule de sélection
d'enregistrements. Pour obtenir de meilleurs temps de réponse, vous souhaitez
éliminer autant d'enregistrements que possible dans le premier niveau. En concevant
de manière efficace votre formule de sélection d'enregistrements, le serveur de base
de données effectuera l’essentiel du traitement, éliminant ainsi les enregistrements
superflus avant de les renvoyer à Crystal Reports. Nous désignons ceci par “ empiler
la sélection d'enregistrements vers le serveur de base de données ”.
Cette section vous propose plusieurs astuces pour faire en sorte que vos formules de
sélection d'enregistrements puissent être empilées vers le serveur de base de données.

Empilement de la sélection d'enregistrements, exemple


Cet exemple vous démontre l'avantage qu'il y a à écrire des formules de sélection
d'enregistrements qui peuvent être empilées vers le serveur de base de données.
Dans la table Commandes de la base de données échantillon Xtreme, il existe
2.001 enregistrements, dont 169 ont des dates de commande antérieures à 1997.
Supposons que vous vouliez créer des états sur ces enregistrements uniquement.
D'une part, vous pouvez utiliser cette formule de sélection d'enregistrements :
Year ({Commandes.Date de commande}) < 1997
La requête SQL générée enverra les 2001 enregistrements à Crystal Reports puis la
formule de sélection d'enregistrements réduira cela à 169. Pour le voir, cliquez sur
Afficher requête SQL dans le menu Base de données ; vous observez que la requête
SQL ne comporte pas de clause WHERE. La raison en est que Crystal Reports ne
peut pas réduire la fonction Year ( ) dans la clause WHERE.
D'autre part, cette formule de sélection d'enregistrements génère le même état :
{Commandes.Date de commande} < #Jan 1, 1997#
Cette deuxième formule peut être exécutée sur le serveur de base de données, donc
empilée. La requête SQL générée n'enverra que 169 enregistrements à Crystal

118 Crystal Reports Guide de l’utilisateur


scr8.book Page 119 Monday, April 2, 2001 12:29 PM

7 : Conception d'états web optimisés

Reports. Ainsi, lorsque la formule de sélection d'enregistrements est évaluée par


Crystal Reports, aucun enregistrement supplémentaire n'a besoin d'être éliminé.
Cliquez sur Afficher requête SQL dans le menu Base de données et notez que la
requête SQL résultante comporte une clause WHERE.
Comme le montre cet exemple, la vitesse de traitement de votre état s'améliore
lorsque vous améliorez la formule de sélection d'enregistrements. Dans ce cas, les
deux formules génèrent le même état, mais la deuxième profite de la puissance et
des optimisations que le serveur de base de données peut utiliser lorsqu'il gère ses
propres données.
Remarque : Si vous débutez dans les formules de sélection d'enregistrements,
vous préfèrerez sans doute commencer avec l'Expert Sélection ou les modèles de
formules de sélection d'enregistrements. Pour de plus amples détails et une
introduction à la sélection d'enregistrements, voir “Tri des données” à la page 144.

Astuces de performance pour la sélection d'enregistrements


Pour améliorer les performances des demandes de sélection, notez les points suivants :

Généralités
 Pour réduire la sélection d'enregistrements, vous devez sélectionner “ Utiliser
les index ou serveur pour rapidité ” dans la boîte de dialogue Options d'état
(disponible dans le menu Fichier).
 Dans les formules de sélection d'enregistrements, évitez les conversions de
types de données sur des champs qui ne sont pas des champs de paramètres.
Par exemple, évitez d'utiliser ToText( ) pour convertir un champ de base de
données numérique en champ de base de données de chaînes.
 Vous pouvez réduire des formules de sélection d'enregistrements qui utilisent
des expressions de type constante.

Bases de données PC
 Vous pouvez empiler une sélection d'enregistrements uniquement sur les
champs indexés.
 Vous pouvez empiler uniquement les clauses AND (non OR).

Bases de données SQL


 Vous pouvez empiler la sélection d'enregistrements sur les champs indexés ou
non indexés.
Remarque : Votre serveur SQL répondra plus vite si vous utilisez des champs
indexés.
 Vous pouvez empiler les clauses AND et OR.

Crystal Reports Guide de l’utilisateur 119


scr8.book Page 120 Monday, April 2, 2001 12:29 PM

Utilisation des formules de sélection d'enregistrement améliorées

 Les formules de sélection d'enregistrements contenant certains types de


formules intégrées peuvent être empilées.
 Vous devez incorporer des champs d'instruction SQL pour empiler les calculs
de formules nécessaires à la sélection d'enregistrements.
Par exemple, une sélection d'enregistrements de {@Prixétendu > 1000} où
@Prixétendu = (Commandes * Quantité) ne peut pas être empilée. Toutefois, si
le @Prixétendu est remplacé par un champ d'expression SQL, il sera empilé.
 Dans le menu Base de données, cliquez sur Afficher requête SQL pour afficher
le SQL qui sera envoyé au serveur de base de données.

Stratégies d'écriture de formules de sélection d'enregistrements efficaces


Remarque : Dans cette section, nous supposons que vous êtes familiarisé avec
l'Expert Sélection et que votre état exploite une base de données SQL.
Prenez en compte les points suivants lors de la création de formules de sélection
d'enregistrements:

Considération n°1
Toute formule de sélection d'enregistrements que vous générez intégralement
avec l'Expert Sélection, sans écrire vous-même des parties de la formule, peut être
empilée.
En fait, ce cas découle des points ci-dessous. Vous pouvez toutefois écrire plus de
types de formules de sélection d'enregistrements en utilisant les conseils ci-
dessous qu’il ne serait possible d’en obtenir avec l'Expert Sélection. Pour cela, vous
devez modifier la formule de sélection d'enregistrements directement avec
l'Editeur de formule ou à partir de la grande fenêtre de texte de l'Expert Sélection.
Pour ouvrir l'Editeur de formule de sélection d'enregistrements, cliquez sur le
menu Etat, pointez sur Modifier une formule de sélection puis sélectionnez
Enregistrement dans le sous-menu.

Considération n°2
Toute formule de sélection ayant la forme : Champbasededonnées
Opérateurprisencharge Expressionconstanteouparamétrique peut être empilée.
Bien entendu Champbasededonnées est un champ de base de données.
Opérateurprisencharge correspond à l'un des opérateurs suivants =,<>, <, <=, >, >=,
StartsWith, Like ou In.
Expressionconstanteouparamétrique est une expression qui implique des valeurs
constantes, des opérateurs, des fonctions et des champs de paramètres. Elle ne peut
pas impliquer de variables, de structures de contrôle ou des champs autres que les
champs de paramètre. Par leur définition même, les expressions constantes et
paramétriques peuvent être évaluées sans accéder à la base de données.

120 Crystal Reports Guide de l’utilisateur


scr8.book Page 121 Monday, April 2, 2001 12:29 PM

7 : Conception d'états web optimisés

Remarque : Une expression constante ou paramétrique peut se réduire à une


simple valeur, une valeur de plage, une valeur de tableau ou un tableau de
valeurs de plages. On trouvera ci-après de telles expressions :
{?paramètre numérique} - 3
Year ({?date d'exécution})
CurrentDate + 5
DateDiff ("q", CurrentDate, CDate("Jan 1, 1996"))
Month (Maximum ({?paramètre de plage de dates}) + 15)
["Canada", "Mexique", "USA", {?entrez un pays}]
1000 To 5000
[5000 To 10000, 20000 To 30000, 50000 To 60000]
Exemple complet :
{Commandes.} >= CurrentDate - 3
Le programme peut aussi empiler une expression qui contient uniquement un
champ Booléen (sans l'opérateur et les parties constantes).
{Commandes.Livré}
Not {Commandes.Livré}

Considération n°3
IsNull (Champbasededonnées) peut être empilée.

Considération n°4
InstructionSQLOpérateurprisencharge Expressionconstanteouparamétrique peut être
empilée.
Par exemple, la formule de sélection {@Prixétendu} > 1000 ne peut pas être
empilée si {@Prixétendu} = (Quantité * Prix). Toutefois, si la formule
@Prixétendu est remplacée par l'expression SQL équivalente, votre formule de
sélection d'enregistrements sera empilée.

Considération n°2
Lorsque vous utilisez plusieurs expressions qui respectent les considérations ci-
dessus, séparez-les par des opérateurs AND et OR. Vous pouvez en avoir
plusieurs et vous pouvez utiliser des parenthèses pour définir les priorités. Vous
pouvez aussi utiliser NOT. Par exemple :
{Commandes.ID Commande} < Minimum({?plage de nombres}) Or
{Commandes.Montant de commande} >= 1000
(IsNull({Client.Région}) Or
{Client.Région} = "BC") And
{Clients.Ventes de l'année précédente} > 2000

Sujets connexes
Si votre formule de sélection d'enregistrements ne répond pas comme prévu, voir
“Dépannage des formules de sélection d'enregistrements” à la page 139.

Crystal Reports Guide de l’utilisateur 121


scr8.book Page 122 Monday, April 2, 2001 12:29 PM

Utilisation des formules de sélection d'enregistrement améliorées

Incorporation de champs de paramètres dans les formules de


sélection d'enregistrements
Pour éviter d'afficher toutes les données d’un état chaque fois qu’il est ouvert, vous
pouvez créer des champs de paramètres qui invitent les utilisateurs à préciser les
données qu'ils souhaitent voir. Pour diminuer la quantité de données transférées
du serveur de base de données, intégrez ces champs de paramètres dans votre
formule de sélection d'enregistrements.
En général, les champs de paramètres fournissent une interactivité pour les
utilisateurs qui répondent aux invites de paramètres pour préciser les données qu'ils
veulent voir. Toutefois, en intégrant vos champs de paramètres dans votre formule
de sélection d'enregistrements, non seulement vous permettez l'interactivité mais
vous réduisez aussi le transfert de données et améliorez les performances.
Vous pouvez ajouter un champ de paramètre à votre formule de sélection
d'enregistrements en utilisant l'Expert Sélection ou l'Editeur de formule de
sélection d'enregistrements. Lorsque vous utilisez l'Editeur de formule de
sélection d'enregistrements, vous traitez le champ paramètre comme vous
traiteriez n'importe quel champ.
Dans l'exemple suivant, vous créez un champ de paramètre puis vous l'ajoutez à
la formule de sélection d'enregistrements avec l'Expert Sélection. Pour de plus
amples détails sur la sélection et la création de champs de paramètres, voir
“Champs de paramètres” à la page 505.

Pour ajouter un champ de paramètre à votre formule de sélection


d'enregistrements
1 Ouvrez l’état example group by intervals.rpt (situé dans le dossier Feature
Examples) dans l'onglet Aperçu.
Prenez un moment pour naviguer vers l'arborescence Groupe et notez
comment sont organisées les données : notez également, en bas à droite de la
fenêtre Crystal Reports, que 270 enregistrements ont été renvoyés pour cet état.
Cliquez maintenant sur l'onglet Conception.
2 Dans le menu Inssérer, cliquez sur Objet Champ
3 Dans l'Explorateur de champ, cliquez avec le bouton droit de la souris sur
Champs de paramètre et sélectionnez Nouveau dans le menu contextuel. La
boîte de dialogue Créer un champ de paramètre apparaît.
4 Pour le Nom du paramètre, tapez QuotaVentes.
5 Pour le texte d'invite, tapez Quel était le quota de ventes de l'année
dernière ?
6 Cliquez sur la liste Type de valeur et sélectionnez Numéro.
7 Vérifiez que Valeur(s) discrète(s) est sélectionné puis cliquez sur OK.

122 Crystal Reports Guide de l’utilisateur


scr8.book Page 123 Monday, April 2, 2001 12:29 PM

7 : Conception d'états web optimisés

Remarque : Vous avez maintenant créé le champ paramètre. Le reste de ces


procédures décrit comment ajouter le champ à la formule de sélection
d'enregistrements avec l'Expert Sélection.
8 Dans le menu Etat, cliquez sur Expert Sélection. La boîte de dialogue Choisir
un champ apparaît.
9 Sélectionnez le champ Client.Ventes de l’année précédente et cliquez sur
OK. L’Expert Sélection apparaît.
10 Dans l'onglet Client.Ventes de l’année précédente , cliquez sur la liste
déroulante et sélectionnez est supérieur à. Une nouvelle liste déroulante apparaît.
11 Cliquez sur cette deuxième liste et sélectionnez {?QuotaVentes}.
Truc : Cliquez sur le bouton Afficher formule pour visualiser la nouvelle
formule de sélection d'enregistrements, qui apparaît sous: {Client.Ventes de
l’année précédente} > {?QuotaVentes}. Au lieu d'utiliser l'Expert Sélection,
vous pouvez aussi créé cette formule vous-même dans l'Editeur de formule de
sélection d'enregistrements. (Pour ouvrir l'éditeur, cliquez sur Etat > Modifier
la formule de sélection > Enregistrement.)
12 Cliquez sur OK dans l'Expert Sélection.
Vous avez maintenant ajouté votre champ de paramètre à la formule de sélection
d'enregistrements. Lorsque vous passez en mode Aperçu ou que vous cliquez sur
le bouton Actualiser, un écran vous invitera à entrer de nouvelles valeurs de
paramètres. Vous pouvez alors entrer une valeur numérique représentant le quota
de ventes de l'année dernière. L'état résultant n'affichera que les clients dont les
ventes de l'année dernière ont dépassé la valeur numérique que vous avez précisée.
Par exemple, si vous répondez au paramètre en entrant 40.000, l'état n'affichera
que les clients dont les ventes ont dépassé 40.000 $ l'année dernière. Notez
également, en bas à droite de la fenêtre Crystal Reports, que seuls 59
enregistrements sont renvoyés pour votre état au lieu des 270 enregistrements
renvoyés avant que vous n'ayez placé le champ paramètre dans une formule de
sélection d'enregistrements.
En améliorant cet état, vous avez récupéré toutes les informations dont vous aviez
besoin et vous avez fait en sorte que seul le plus petit nombre d'enregistrements
nécessaires soit transféré du serveur de base de données.

Sujets connexes
Pour créer des paramètres améliorés, voir “Fonctionnalités avancées des
paramètres” à la page 513.
Pour des informations générales sur les champs de paramètres, voir “Généralités
sur les paramètres” à la page 506.
Pour des renseignements généraux concernant les formules de sélection
d'enregistrements, voir “Sélection d'enregistrements” à la page 129.

Crystal Reports Guide de l’utilisateur 123


scr8.book Page 124 Monday, April 2, 2001 12:29 PM

Utilisation des formules de sélection d'enregistrement améliorées

Utilisation des instructions SQL le cas échéant


Les instructions SQL ressemblent à des formules, mais elles sont écrites en
Structured Query Language (SQL). Elles sont utiles dans l'optimisation des
performances d'états parce que les tâches qu'elles exécutent sont normalement
effectuées sur le serveur de base de données (par opposition à une formule
standard, qui est parfois exécutée sur la machine locale).
N'utilisez pas exclusivement les instructions SQL, car Crystal Reports inclut son
propre language de formule qui est beaucoup plus puissant que le langage SQL
standard. Crystal Syntax et Basic Syntax vous permettent tous deux d'améliorer et
d'affiner vos formules ce qui est difficile voire impossible avec SQL. Dans certaines
circonstances, toutefois, la création et l'utilisation de champs d'instructions SQL
peut accélérer le traitement de vos états.

Utilisations clés des champs Instruction SQL


Pour conserver des vitesses de traitement d'états optimum, évitez d'utiliser des
formules (que ce soit la syntaxe Crystal ou Basic) dans les formules de sélection
d'enregistrements. Remplacez plutôt la formule originale par un champ Instruction
SQL équivalent puis intégrez le champ Instruction SQL équivalent dans votre
formule de sélection d'enregistrements. Vous améliorerez ainsi de façon importante
la probabilité d'empilement de votre sélection d'enregistrements vers le serveur.
En outre, évitez de trier, de grouper ou de cumuler sur un champ de formule (que
ce soit la syntaxe Crystal ou Basic). Remplacez plutôt le champ de formule original
par une Instruction SQL équivalente puis triez, groupez ou cumulez sur le champ
Instruction SQL. Une fois de plus, ceci améliorera les chances d'un traitement
effectué par le serveur.
Enfin, si votre base de données prend en charge Case Logic et si votre état doit
résumer un calcul de formule If-Then-Else, remplacez la formule par un champ
Instruction SQL. Dans de tels cas, les champs Instruction SQL permettent à Crystal
Reports de grouper l'état sur le serveur. Pour de plus amples renseignements, voir
“Utilisation des instructions SQL pour Case Logic” à la page 126.

Sujets connexes
Pour une introduction à SQL, voir “Définition de SQL” à la page 564 et “Langage
SQL” à la page 568.
Pour des instructions sur la création d'un champ Instruction SQL, voir “Champs
Instruction SQL” à la page 97.
Pour plus de conseils sur l'amélioration de votre formule de sélection
d'enregistrements, voir “Utilisation des formules de sélection d'enregistrement
améliorées” à la page 118.
Pour des procédures générales de sélection d'enregistrements, voir “Sélection
d'enregistrements” à la page 129.

124 Crystal Reports Guide de l’utilisateur


scr8.book Page 125 Monday, April 2, 2001 12:29 PM

7 : Conception d'états web optimisés

Amélioration du groupement, du tri et du cumul


Groupement sur le serveur
Si vous créez des états en temps réel de données dynamiques sur le Web, réduisez
la quantité de données transférées du serveur de base de données en utilisant
l'option Grouper sur le serveur. Avec cette option, le serveur de base de données
effectue l'essentiel du traitemnt et seul un sous-ensemble de données est
initialement traité. Des données détaillées sont renvoyées de la base de données
seulement si vous explorez un état.
Remarque : Le traitement côté serveur ne fonctionne que pour les états triés et
groupés qui reposent sur des sources de données SQL.

Pour activer le traitement côté serveur


1 Dans le menu Fichier, cliquez sur Options d'état.
2 Sélectionnez Grouper sur le serveur dans la boîte de dialogue des options d'état.
Cette case à cocher est désactivée si l'option Utiliser les index ou serveur pour
rapidité n'est pas sélectionnée.
Truc : Lorsque l'option Utiliser les index ou serveur pour rapidité est
sélectionnée, vous pouvez rapidement activer Grouper sur le serveur dans le
menu Base de données.
3 Cliquez sur OK.

Avantages du groupement sur le serveur, exemple


L'exemple suivant décrit un scénario type de création d'états où le groupement sur
le serveur peut considérablement réduire la quantité de données superflues
transférées du serveur de base de données.

Pour diminuer le transfert de données par groupement sur le serveur


1 Ouvrez l'état exemple group.rpt (situé dans le dossier Feature Examples).
Regardez dans l'angle inférieur droit de la fenêtre Crystal Reports et notez que
270 enregistrements sont renvoyés pour cet état.
2 Dans le menu Mettre en forme, cliquez sur Section pour accéder à l'Expert
Section.
3 Dans la liste Sections, sélectionnez Détails.
4 Dans l'onglet Commun, sélectionnez Masquer (avec exploration). Ceci
masque la section Détails de l'état, de telle sorte que seul l'en-tête de groupe
s'affiche dans l'état. (Dans ce cas, l'état est groupé par Pays.)

Crystal Reports Guide de l’utilisateur 125


scr8.book Page 126 Monday, April 2, 2001 12:29 PM

Amélioration du groupement, du tri et du cumul

5 Cliquez sur OK dans l'Expert Section. Les enregistrements de détail


disparaîtront de l'état.
6 Appuyez sur F5 pour mettre les données de l'état à jour (ou cliquez sur le
bouton Actualiser dans la barre d'outils).
Notez que 270 enregistrements sont encore renvoyés pour l'état, même si les
enregistrements de détail sont masqués dans l'affichage.
7 Dans le menu Base de données, cliquez sur Grouper sur le serveur.
Remarquez maintenant que seuls 72 enregistrements sont renvoyés pour l'état.
Le groupement (par Pays) a été effectué sur le serveur de base de données et un
nombre inférieur d'enregistrements a été transféré vers l'état.
8 Explorez un pays en cliquant deux fois sur l'état. Crystal Reports récupère les
enregistrements de détail appropriés selon vos besoins.
Par exemple, si vous explorez l'Australie, Crystal Reports récupère rapidement
les enregistrements qui constituent le groupe.
En masquant la section Détails de cet état, vous avez créé un état résumé dans lequel
les utilisateurs peuvent facilement naviguer. Chaque utilisateur peut d'abord
repérer le pays qui l’intéresse puis l'explorer pour récupérer des détails précieux.
En outre, en activant l'option Grouper sur le serveur, vous avez fait en sorte que le
traitement initial s'effectue sur le serveur de base de données. En conséquence,
seuls les enregistrements nécessaires sont transférés vers l'état.
Pour de plus amples informations sur le traitement côté serveur, voir “Traitement
côté serveur” à la page 571.

Utilisation d'instructions SQL pour des groupes, des tris et des totaux
Pour les états utilisant Grouper sur le serveur, évitez de trier, de grouper ou
d’effectuer un total sur un champ formule (que ce soit la syntaxe Crystal ou Basic).
Remplacez plutôt le champ formule original par un champ Instruction SQL
existant puis triez, groupez ou effectuez un total sur le champ Instruction SQL.
Ceci améliore beaucoup la probabilité de traitement sur le serveur.
Pour des détails sur les autres utilisations des Instructions SQL, voir “Utilisation
des instructions SQL le cas échéant” à la page 124.

Utilisation des instructions SQL pour Case Logic


Si votre base de données prend en charge Case Logic et si votre état doit résumer
un calcul de formule If-Then-Else, remplacez la formule par un champ Instruction
SQL. Dans de tels cas, les champs Instruction SQL permettent à Crystal Reports de
grouper l'état sur le serveur.
Par exemple, supposons que votre état exploite une base de données MS SQL
Server 7 qui prend en charge Case Logic. Vous devez inclure un calcul If-Then-Else

126 Crystal Reports Guide de l’utilisateur


scr8.book Page 127 Monday, April 2, 2001 12:29 PM

7 : Conception d'états web optimisés

dans votre état et vous devez résumer ce calcul pour chaque groupe de l'état. En
effectuant le calcul avec un champ Instruction SQL de la forme suivante, vous
utilisez la capacité de votre base de données à traiter Case Logic :
CASE Tablebasededonnées.”Champbasededonnées”
WHEN 'Valeurspécifiée' THEN Calcul1
ELSE Calcul2
END
Si la valeur d'un enregistrement Champbasededonnées est égale à Valeurspécifiée,
Calcul1 est effectué. Pour tous les autres enregistrements, Calcul2 est effectué. En
incorporant le champ Instruction SQL, vous profitez de la capacité du serveur de
base de données à traiter Case Logic. Le groupement de votre état a donc lieu sur le
serveur, même lorsque vous résumez le champ Instruction SQL ailleurs dans l'état.
Remarque : La syntaxe SQL dans cet exemple est spécifique à MS SQL Server 7.
Vous devrez peut-être consulter la documentation relative à votre base de
données ou votre administrateur pour déterminer la syntaxe appropriée à votre
base de données.

Insertion de champs résumés et totaux cumulés chaque fois que c’est


possible
Si possible, évitez de créer des formules avec des variables globales pour calculer
les résumés ou les totaux cumulés.
Créez plutôt des résumés en cliquant sur le menu Insérer puis en sélectionnant la
commande appropriée (Sous-total, Total général ou Résumé). Créez des champs
totaux cumulés en ouvrant l'Explorateur de champ, en cliquant avec le bouton
droit de la souris sur Champs totaux cumulés et en sélectionnant Nouveau dans le
menu contextuel.
Pour des détails généraux sur le résumé de données, voir “Tris, groupements et
calculs de totaux” à la page 143 et “Totaux cumulés” à la page 177.

Crystal Reports Guide de l’utilisateur 127


scr8.book Page 128 Monday, April 2, 2001 12:29 PM

Amélioration du groupement, du tri et du cumul

128 Crystal Reports Guide de l’utilisateur


scr8.book Page 129 Monday, April 2, 2001 12:29 PM

Sélection d'enregistrements 8

Ce chapitre vous montre comment filtrer les


enregistrements que vous voulez inclure dans un état. En
utilisant les outils de sélection d'enregistrement, par
exemple, vous pouvez limiter les enregistrements dans
votre état à ceux qui ne contiennent qu'un groupe
spécifique de clients, une plage spécifique de numéros de
compte ou une plage de dates particulière.

Crystal Reports Guide de l’utilisateur 129


scr8.book Page 130 Monday, April 2, 2001 12:29 PM

Sélection des enregistrements

Sélection des enregistrements


Lorsque vous sélectionnez un champ, le logiciel imprime par défaut les valeurs du
champ de tous les enregistrements de la table active. Mais, il arrive fréquemment
que vous ne soyez intéressé que par un sous-ensemble de ces enregistrements.
Vous pouvez par exemple inclure :
 les enregistrements pour un groupe spécifique de clients,
 les enregistrements pour une série de comptes spécifiques et non le total des
enregistrements dans une base de données, ou
 les valeurs d’enregistrements datant d’une période de temps spécifique.

Options pour sélectionner les enregistrements


Crystal Reports comprend un langage de formule très sophistiqué que vous
pouvez utiliser pour spécifier à peu près n'importe quel type de sélection
d'enregistrements. Toutefois, il se peut que vous n'ayez pas toujours besoin de la
souplesse du langage de formule pour la sélection d'enregistrements. L'Expert
Sélection est prévu dans cas là.
Vous pouvez sélectionner des enregistrements de deux façons:
 “Utilisation de l'Expert Sélection” à la page 131
 “Utilisation des formules” à la page 132.
Lorsque vous vous sentirez à l'aise avec l’Expert Sélection et les formules, vous
pourrez mettre à profit les techniques de sélection d'enregistrements pour
améliorer les performances de vos états. Pour des conseils supplémentaires et des
stratégies avancées de sélection d'enregistrements, reportez-vous à “Utilisation
des formules de sélection d'enregistrement améliorées” à la page 118.

Choix des champs à utiliser


Lorsque vous sélectionnez des enregistrements, l'état est basé uniquement sur les
enregistrements qui remplissent les conditions que vous avez définies. Ces conditions
dépendent du type d'informations que vous souhaitez inclure dans l'état final.
Supposons que vous ne vous intéressiez qu'aux enregistrements concernant la
Californie. Il faut déterminer comment sélectionner seulement les enregistrements
voulus.
 Si l'un des champs de la table contient directement l'indication de la région, le
plus simple est de ne garder que les enregistrements dont la valeur, pour le
champ concerné, est “ la région est égale à Californie ”.
 Si ce n’est pas le cas, vous n’avez pas de champs région et si vous voulez
quand même faire un état seulement pour la Californie, il y a peut-être
d’autres moyens de sélectionner les enregistrements.

130 Crystal Reports Guide de l’utilisateur


scr8.book Page 131 Monday, April 2, 2001 12:29 PM

8 : Sélection d'enregistrements

 Vous pourrez, par exemple, travailler d'après le code postal et baser la


sélection sur les codes postaux relatifs à la Californie (Code postal entre n et
N), ou
 si la table contient un champ indicatif téléphonique, vous pourrez baser la
sélection sur les indicatifs téléphoniques de Californie (indicatif x, y, ....z).
Remarque :
 Si l'indicatif téléphonique fait partie du champ contenant le numéro de
téléphone, l'expert ne peut pas s'en servir comme critère de sélection. Vous
devez créer une formule pour extraire l'indicatif du numéro de téléphone et
baser sur celui-ci la sélection.
 Si, comme dans notre exemple, vous pouvez baser la sélection sur différents
champs, choisissez un champ indexé de préférence à un champ non indexé.

Utilisation de l'Expert Sélection


L'Expert Sélection vous permet de spécifier, d'une manière simple, les
enregistrements que vous voulez faire figurer dans l'état. Vous n'avez qu'à
indiquer le champ sur lequel sera basée la sélection puis à fixer le critère.
L'Expert Sélection permet également de baser la sélection sur plusieurs champs et
critères. Par exemple :
 clients résidant en Arizona,
 commandes du premier trimestre, ou
 ventes de plus de 10.000$.
Avec l'expert, vous pouvez aussi préparer des demandes plus élaborées :
 clients dont les noms commencent par “A”, “M”, ou “S”, ou
 clients de Californie ou de Floride ayant commandé en juillet.
Ce sont tous des critères portant sur des plages limitées. Une ou plusieurs
constantes définissent la plage. Pour chaque enregistrement, L'Expert compare la
valeur du champ aux constantes et rejette les enregistrements non conformes, qui
ne figureront pas dans l'état. L'état est limité aux valeurs comprises dans la plage
déterminée. Vous pouvez élaborer ces types de requêtes sans connaissance
préalable du langage des formules.
Remarque : l'Expert Sélection permet de définir des requêtes de sélection
d'enregistrements et de sélection de groupes. Il n'est pas nécessaire de connaître le
langage de formule de Crystal Reports pour définir ce genre de critères de
sélection d'enregistrements. Dans tous les autres cas, le programme reconnaît la
mise en place d'une sélection d'enregistrements.

Crystal Reports Guide de l’utilisateur 131


scr8.book Page 132 Monday, April 2, 2001 12:29 PM

Sélection des enregistrements

Pour mettre en place une sélection d'enregistrements à l'aide de


l'Expert Sélection
1 Dans le menu Etat, cliquez sur Expert Sélection.
La boîte de dialogue Expert Sélection s'affiche.

Remarque : Si vous cliquez sur le bouton Expert Sélection sans avoir au


préalable mis un champ en surbrillance dans votre état, la boîte de dialogue
Sélectionner un champ s'affiche. Mettez en surbrillance le champ dans lequel
vous voulez baser la sélection d'enregistrements et cliquez sur OK. L’Expert
Sélection apparaît.
2 Utilisez les listes déroulantes pour entrer vos critères de sélection pour le
champ indiqué.
3 Cliquez sur OK lorsque vous avez terminé.
Truc : Pour effectuer la sélection d'enregistrements sur plus d'un champ,
cliquez sur l'onglet Nouveau. Sélectionnez le champ suivant dans la boîte de
dialogue Sélectionner un champ.
Une formule de sélection est créée en fonction de vos spécifications, en limitant
l'état aux enregistrements que vous avez indiqués.
Remarque : Pour afficher la formule de sélection, cliquez sur le bouton
Afficher formule. L'Expert Sélection se développe pour afficher la formule.
Cliquez sur le bouton Editeur de formule pour modifier la formule.

Utilisation des formules


Pour mettre en place une sélection d'enregistrements à l'aide d'une
formule
1 Dans le menu Etat, pointez sur Modifier une formule de sélection et cliquez
sur Enregistrement.
2 Entrez la formule en tapant ses composants ou en les sélectionnant depuis les
arborescences de composants.

132 Crystal Reports Guide de l’utilisateur


scr8.book Page 133 Monday, April 2, 2001 12:29 PM

8 : Sélection d'enregistrements

Remarque : La formule résultante doit être Booléenne; c'est-à-dire qu'elle ne


doit renvoyer que la valeur True (vrai) ou False (faux).
3 Cliquez sur Vérifier pour identifier les éventuelles erreurs dans la formule.
4 Résolvez les erreurs de syntaxe que le Vérificateur de Formule a trouvées.
5 Une fois que la syntaxe de la formule est correcte, cliquez sur Enregistrer et
Fermer.

Sujets connexes
Pour avoir des exemples d'enregistrements et des modèles de sélection de groupes,
reportez-vous à la section “Utilisation de modèles de formules” à la page 134.
Pour avoir des instructions complètes sur la création des formules, reportez-vous
à la section “Utilisation des formules” à la page 399.
Pour des conseils supplémentaires et des stratégies avancées de sélection
d'enregistrements, reportez-vous à “Utilisation des formules de sélection
d'enregistrement améliorées” à la page 118.

Interaction entre l'Expert Sélection et l’Editeur de formule de sélection


L'Expert Sélection et l’Editeur de formule de sélection interagissent l'un sur l'autre.
L'entrée dans l'Expert Sélection d'un critère de sélection d'enregistrements génère
automatiquement une formule que vous pouvez réviser et modifier. Inversement,
si vous entrez ou modifiez des formules de sélection, les critères de l'Expert
Sélection sont automatiquement mis à jour.
Vous pouvez donc utiliser simultanément ces deux moyens pour apprendre à vous
servir du langage de formule de Crystal Reports.

Pour afficher la formule de l'Expert Sélection


1 Cliquez avec le bouton droit sur le champ dans lequel vous voulez afficher la
sélection d'enregistrements.
2 Cliquez sur Expert Sélection.
3 Cliquez sur le bouton Afficher formule.
L'Expert Sélection se développe pour que vous puissiez examiner la formule
que le programme a générée d'après vos critères de sélection.

Crystal Reports Guide de l’utilisateur 133


scr8.book Page 134 Monday, April 2, 2001 12:29 PM

Utilisation de modèles de formules

4 Cliquez sur le bouton Masquer formule lorsque vous ne souhaitez plus


l'afficher.
5 Utilisez l'Expert Sélection pour modifier votre formule de sélection.
6 Examinez la formule mise à jour en cliquant de nouveau sur le bouton
Afficher formule.
7 Pour apporter des modifications à la formule, cliquez sur le bouton Editeur de
formule dans l'Expert Sélection développé et utilisez les outils de l'Editeur de
formule de sélection d'enregistrements.
Remarque : Les éléments des formules de sélection qui n'ont pas d'équivalent
dans l'Expert Sélection ne sont pas traduits. Par exemple, si une partie de la
formule permet d'extraire les quatre derniers chiffres du numéro du client, elle ne
sera pas transformée en critères de sélection de l’Expert Sélection.

Utilisation de modèles de formules


Sélection d’enregistrements à l’aide de modèles de formules
Vous pouvez utiliser les exemples de formules suivants pour vous aider à créer vos
propres formules de sélection à l’aide de l’Editeur de formule de sélection
d’enregistrements. Attention, il ne s'agit que d'exemples de ce que vous pouvez faire,
les formules proposées ne sont pas forcément les mieux adaptées à vos besoins.

134 Crystal Reports Guide de l’utilisateur


scr8.book Page 135 Monday, April 2, 2001 12:29 PM

8 : Sélection d'enregistrements

Sélection d'enregistrements à l'aide de chaînes de caractères


{fichier.CHAMP} startswith "C"
Sélectionne les enregistrements dont la valeur du champ {fichier.CHAMP}
commence par la lettre “ C ” (c’est-à-dire Cyclope S.A. et Chambon père et
fils, mais pas Automatique générale ni Sirius, Corp.).
Not ({fichier.CHAMP} startswith "C")
Sélectionne les enregistrements dont la valeur du champ {fichier.CHAMP}
ne commence pas par la lettre “ C ” (c’est-à-dire Automatique générale et
Sirius, Corp., mais pas Cyclope S.A. ni Chambon père et fils).
"999" in {fichier.CHAMP}[3 to 5]
Sélectionne les enregistrements dont les troisième, quatrième et cinquième
caractères dans le champ {fichier.CHAMP} sont “ 999 ” (c’est-à-dire des
valeurs comme 10999, 70999, et 00999, mais pas 99901 ni 19990).
"Cycle" in {fichier.CHAMP}
Sélectionne les enregistrements dont le champ {fichier.CHAMP} contient la
chaîne de caractères “ Cycle ” (c’est-à-dire des valeurs comme CycleAmoi
& Co. et CycleSporin mais pas Autour du vélo ni Cycl’amène).

Sélection d'enregistrements à l'aide de nombres

Valeurs uniques

{fichier.CHAMP} > 99999


Sélectionne les enregistrements dont la valeur du champ {fichier.CHAMP}
est strictement supérieure à 99 999.
{fichier.CHAMP} < 99999
Sélectionne les enregistrements dont la valeur du champ {fichier.CHAMP}
est strictement inférieure à 99 999.

Plages de valeurs
{fichier.CHAMP} > 11111 and {fichier.CHAMP} < 99999
Sélectionne les enregistrements dont la valeur du champ {fichier.CHAMP}
est strictement supérieure à 11 111 et strictement inférieure à 99 999.
{fichier.CHAMP} > 11111 et
{fichier.CHAMP} < 99999
Sélectionne les enregistrements dont la valeur du champ {fichier.CHAMP}
est supérieure ou égale à 11 111 et strictement inférieure égale à 99 999.

Crystal Reports Guide de l’utilisateur 135


scr8.book Page 136 Monday, April 2, 2001 12:29 PM

Utilisation de modèles de formules

Sélection d'enregistrements à l'aide de dates


Vous pouvez également utiliser les fonctions MONTH, DAY, et YEAR
(respectivement mois, jour, année) :
YEAR ({fichier.DATE}) < 1999
Sélectionne les enregistrements dont l'année (champ {fichier.DATE}) est
strictement antérieure à 1999.
YEAR ({fichier.DATE}) > 1992 and
YEAR ({fichier.DATE}) < 1996
Sélectionne les enregistrements dont l'année (champ {fichier.DATE}) est
postérieure à 1992 et antérieure à 1996.
YEAR ({fichier.DATE}) >= 1992 and
YEAR ({fichier.DATE}) <= 1996
Sélectionne les enregistrements dont l'année (champ {fichier.DATE}) est
postérieure ou égale à 1992 et antérieure ou égale à 1996.
MONTH({fichier.DATE}) in 1 to 4
Sélectionne les enregistrements dont le mois du champ (champ
{fichier.DATE}) est l'un des quatre premiers de l'année (janvier à avril).
MONTH({fichier.DATE}) in [1,4]
Sélectionne les enregistrements dans lesquels le mois du champ
{fichier.DATE} est le premier ou le quatrième mois de l'année (janvier ou
avril, mais ni février ni mars).

Sélection d'enregistrements à l'aide de plages de dates prédéfinies


Les plages de dates prédéfinies permettent de créer des formules de sélection du
type :
{fichier.DATE} in LastFullMonth
Sélectionne les enregistrements dont le champ {fichier.CHAMP} contient
une date appartenant au mois précédent. (Si le mois courant est le mois de
mai, tous les enregistrements datés du mois d'avril sont sélectionnés.)
Not({fichier.DATE} in LastFullMonth)
“Sélectionne tous les enregistrements sauf ceux du mois précédent (si nous
sommes en mai, tous les enregistrements sauf ceux d'avril).”
{fichier.DATE} < CurrentDate
Sélectionne tous les enregistrements dont le champ {fichier.CHAMP}
contient une date antérieure de la date courante.

136 Crystal Reports Guide de l’utilisateur


scr8.book Page 137 Monday, April 2, 2001 12:29 PM

8 : Sélection d'enregistrements

Sélection d'enregistrements à l'aide de combinaisons date/


nombres/caractères
Ces formules combinent tous les types décrits plus haut.
"C" in {fichier.CHAMP}[1] and MONTH({fichier.DATE}) in [1,4]
Sélectionne les enregistrements dont la valeur du champ {fichier.DATE}
commence par “ C ” et dont le mois est janvier ou avril. Vous utiliserez une
formule de ce genre si, à partir d'une base de données de commandes, vous
cherchez à obtenir la liste des clients dont le nom commence par “ C ” et qui
ont passé des commandes en janvier et en avril.
"TOM" in {fichier.HISTOIRE}[3 to 5] and {fichier.CREDIT} >= 5000
Sélectionne les fichiers dont le champ {fichier.HISTOIRE} contient les
caractères “ TOM ” en troisième, quatrième et cinquième positions et dont
la valeur du champ {fichier.CREDIT} est supérieure ou égale à 5 000.
Vous pouvez utiliser ces modèles tels quels (avec vos propres données, bien sûr),
ou les combiner pour créer des formules plus complexes.

Choix d'un modèle de formule


Pour choisir un modèle de formule
1 Sélectionnez le modèle que vous voulez utiliser.
Vous pouvez le faire de deux façons :
 passer la liste en revue dans “Sélection d’enregistrements à l’aide de
modèles de formules” à la page 134, et prendre note de la formule qui vous
intéresse
 rechercher la rubrique Modèles de formule de sélection d'enregistrements
dans l'aide en ligne et copier la formule qui vous intéresse dans le Presse-
papiers.
2 Sélectionnez Modifier une formule de sélection dans le menu Etat.
3 Sélectionnez Enregistrement pour créer une formule de sélection
d'enregistrements.
L'Editeur de formule de sélection d'enregistrements s'affiche.
- ou -
Sélectionnez Groupe pour créer une formule de sélection de groupe.
L'Editeur de formule de sélection de groupe s'affiche.
4 Dans la zone de texte Formule, tapez la formule que vous avez notée à l'étape
1 ou collez celle copiée dans le Presse-papiers.

Crystal Reports Guide de l’utilisateur 137


scr8.book Page 138 Monday, April 2, 2001 12:29 PM

Empilage de la sélection des enregistrements vers le serveur de la base de données

5 Remplacez les valeurs (champs, texte, etc.) de la formule par les valeurs de
votre choix. Par exemple, si l'exemple de formule est:
{fichier.CHAMP} > 99999
et que vous voulez limiter votre état aux enregistrements pour lesquels la
valeur du champ {Détails de commande.QUANTITE} est supérieure à 25,
remplacez les valeurs existantes par les valeurs de votre choix, pour que votre
formule de sélection devienne :
{Détails de commande.QUANTITE} > 25
6 Cliquez sur le bouton Enregistrer et fermer lorsque vous avez terminé pour
quitter l'Editeur de formule de sélection.
- ou -
Cliquez sur Actualiser dans la barre d'outils standard pour avoir un aperçu des
résultats.

Empilage de la sélection des enregistrements vers le


serveur de la base de données
Les pilotes fournis avec Crystal Reports pour les sources de données SQL
permettent "l'empilage" de la sélection d'enregistrements vers le serveur de la base
de données. Lorsque vous définissez une formule de sélection d'enregistrements
dans un état basé sur une source de données SQL, Crystal Reports l'analyse, génère
la requête SQL correspondante et transmet cette requête au serveur de la base de
données. La sélection s'effectue ensuite en deux étapes :
 la première étape correspond au traitement de la requête SQL par le serveur de
la base de données et le renvoi d'un ensemble d'enregistrements à Crystal
Reports,
 la seconde étape consiste en l'évaluation locale dans Crystal Reports de la
formule de sélection des enregistrements pour les données reçues du serveur.
Comme les serveurs de base de données sont généralement plus rapides que les
postes de travail, nous vous recommandons de définir des formules de sélection
dont la première étape du traitement peut s'effectuer sur le serveur. Vous limitez
ainsi la sélection des enregistrements sur votre machine lors de la seconde étape.
Cette façon de procéder est couramment appelée empilage de la sélection
d'enregistrements sur le serveur de base de données. Vous pouvez empiler sur le
serveur les types de sélection d'enregistrements suivants :
 sélections avec champs indexés ou non indexés (le temps de réponse est plus
court pour les champs indexés) ;
 requêtes SQL avec clauses AND (et) et OR (ou) ;
 champs d'instructions SQL qui exécutent des calculs basés sur des formules
pour la sélection d'enregistrements. (Pour connaître les types d'instructions SQL
pris en charge par votre serveur SQL, consultez la documentation appropriée.)

138 Crystal Reports Guide de l’utilisateur


scr8.book Page 139 Monday, April 2, 2001 12:29 PM

8 : Sélection d'enregistrements

Pour plus d'informations sur l'empilage des formules de sélection


d'enregistrements sur le serveur de la base de données, reportez-vous à
“Utilisation des formules de sélection d'enregistrement améliorées” à la page 118.

Dépannage des formules de sélection d'enregistrements


Pour dépanner votre formule de sélection, vous devez d'abord vous assurer que
tous les champs auxquels la formule de sélection fait référence se trouvent sur
l'état. Supprimez ensuite la formule de sélection et testez-la pas à pas
lors de la reformulation.

Pour dépanner des formules de sélection d’enregistrements


1 Ecrivez la formule de sélection sur papier. Cette copie écrite vous aidera à
reconstruire la formule à chaque étape.
2 Enlevez la formule de sélection d’enregistrements de votre état en supprimant
la formule située dans la zone modifiable Texte de la formule dans l’Editeur de
formule.
3 Cliquez sur Enregistrer et Fermer lorsque vous avez terminé.
4 Vérifiez que les champs référencés dans la formule de sélection
d’enregistrements (les sélecteurs) sont vraiment dans l’état et pas cachés.
Par exemple, si un des sélecteurs est :
{client.CODE POSTAL} > “80000”
mais votre état n’utilise pas le champ {client.CODE POSTAL} (comme dans le
cas de l’état des ventes qui utilise le code postal pour définir les territoires mais
n’inclut pas le code postal dans les données de l’état), alors insérez le champ
{client.CODE POSTAL} dans un endroit visible dans l’état.
Ou, si un des champs référencés dans la formule de sélection est bien dans l’état
mais est masqué, démasquez-le en désactivant l’option Cacher lors de
l’impression dans l’Editeur de format pour ce champ.
5 Imprimez l’état et vérifiez que les données dans les champs sont celles
référencées par la formule de sélection et sont bien imprimées. Vérifiez aussi
que toutes les données sont imprimées. Par exemple, si vous avez un nombre x
d’enregistrements dans la base de données, un nombre x d’enregistrements
seront imprimés pour chaque champ référencé. Cela établit une base avec
laquelle vous pouvez comparer les résultats de l’impression par rapport à la
formule de sélection.
6 Lorsque vous êtes sûr que vos résultats sont corrects sans la formule de
sélection, saisissez la formule de sélection en utilisant un seul sélecteur.

Crystal Reports Guide de l’utilisateur 139


scr8.book Page 140 Monday, April 2, 2001 12:29 PM

Dépannage des formules de sélection d'enregistrements

Par exemple, si vous vouliez utiliser ceci comme formule de sélection finale :
{client.CODE POSTAL} > “80000” et {client.NOM DU CONTACT}[1] = “C” et
{client.VENTES DE L’ANNEE PRECEDENTE} >= 5000
Cette formule sélectionnera tous les enregistrements qui possèdent un code
postal supérieur à 80000, une valeur commençant avec “ C ” dans le champ
{client.NOM DU CONTACT} et une valeur supérieure ou égale à 5000 dans le
champ {client.VENTES DE L’ANNEE PRECEDENTE}.
Vous pourriez commencer avec cette formule comme la première formule de
sélection du test :
{client.CODE POSTAL} > “80000”
Imprimez l’état et évaluez les données qui sont imprimées avec un seul
sélecteur actif. Est-ce que le champ affiche seulement les codes postaux
supérieurs à 80000 ?
 Si c’est le cas, vous savez donc que cette partie de la formule de sélection
fonctionne.
 Si ce n’est pas le cas, vérifiez l’exactitude de cette partie de la formule de
sélection.
7 Une fois que la formule de sélection avec un sélecteur actif fonctionne, ajoutez
un deuxième sélecteur. Dans votre exemple, la nouvelle formule de sélection
pourrait ressembler à :
{client.CODE POSTAL} > “80000” et {client.NOM DU CONTACT}[1] = “C”
8 Imprimez l’état et évaluez les données qui sont imprimées avec les deux
sélecteurs actifs. Dans votre exemple, évaluez les données dans le champ
{client.NOM DU CONTACT} (vous avez déjà évalué {client.CODE POSTAL}
dans l’étape précédente).
Est-ce que le champ {client.NOM DU CONTACT} affiche seulement des
chaînes de caractères qui commencent avec la lettre “ C ” ?
 Si c’est le cas, vous savez donc que cette partie de la formule de sélection
fonctionne.
 Si ce n’est pas le cas, vérifiez l’exactitude de cette partie de la formule de
sélection.
9 Une fois que la formule de sélection fonctionne avec deux sélecteurs actifs,
ajoutez en un troisième, suivi par un quatrième, etc. jusqu’à ce que vous ayez
vérifié chaque sélecteur dans la formule de sélection.

140 Crystal Reports Guide de l’utilisateur


scr8.book Page 141 Monday, April 2, 2001 12:29 PM

8 : Sélection d'enregistrements

Correction des sélections qui ne génèrent pas de données


Peut-être avez vous créé une formule de sélection d’enregistrements et, les
informations de l’en-tête de page et du pied de page d’état ont été imprimés, mais
aucune information de détail apparaît. Le problème est que la formule de sélection
rejette tous les enregistrements. Cela se passe généralement à cause d’une erreur
lors de la création de la formule de sélection.
Il existe plusieurs sources où trouver la cause possible de cette erreur dans la
formule de sélection :
 Voir “ Des incohérences avec les majuscules/minuscules ” page 141.
 Voir “ Des espaces indésirables apparaissent dans la formule de sélection ”
page 142.

Des incohérences avec les majuscules/minuscules


Les formules de sélection d'enregistrements sont sensibles à la casse. Par
conséquent, “Bob” ne correspond qu’à “ Bob ”. Il ne correspond pas à “ bob ”,
“ BOB ”, “ BoB ”, “ bOB ”, “ boB ” ou “ Bob ”. Si votre formule de sélection est
configurée pour n’inclure que les enregistrements avec “ BOB ” dans le champ
{client.PRENOM DU CONTACT} mais que la casse des valeurs de ce champ est
mélangée (“ Bob ” par exemple), la formule de sélection ne trouve aucune
correspondance et n’imprime aucun détail pour l’état.
Vous pouvez résoudre ce problème en utilisant les fonctions UpperCase (chn)
(Majuscule) ou LowerCase (chn) (Minuscule) dans votre formule de sélection pour
convertir les données du champ à une casse identique avant que le logiciel
commence sa sélection. Par exemple, si vous utilisiez cette formule :
{client.PRENOM DU CONTACT} = “BOB”
vous pouvez changer cette formule en celle-ci :
UpperCase ({client.PRENOM DU CONTACT}) = “BOB”
Cette dernière formule convertit la valeur du champ {client.PRENOM DU
CONTACT} à la casse majuscule et puis vérifie que la valeur du champ est égal à
“ BOB ”. En utilisant cette formule, les trois lettres “ b ”, “ o ”, “ b ” correspondent,
quel que soit la casse, car les lettres seront converties en majuscule par cohérence
pour avoir des correspondances correctes.
Vous pourriez utiliser la fonction LowerCase de la même manière pour avoir des
correspondances avec “ bob ”.
Vérifiez votre formule de sélection et vérifiez que vous avez la casse correcte dans
tous les textes que vous essayez de faire correspondre. En cas de doute, utilisez la
fonction UpperCase (majuscule) (ou LowerCase (minuscule)) pour vérifier la
cohérence et l’exactitude des correspondances.
Une autre formule qui fait presque la même chose que celle du dessus est :
“BOB” in UpperCase ({client.PRENOM DU CONTACT})

Crystal Reports Guide de l’utilisateur 141


scr8.book Page 142 Monday, April 2, 2001 12:29 PM

Dépannage des formules de sélection d'enregistrements

Des espaces indésirables apparaissent dans la formule de sélection


Les espaces sont des caractères, et lorsque vous mettez des espaces dans la clé de
recherche d’une formule de sélection, la formule cherche des enregistrements avec
une correspondance exacte dans le champ sélectionné, y compris les espaces et tout
autre caractère. Par exemple, la formule suivante :
“ M . ” " in {client.FONCTION}
ne trouvera aucune correspondance avec la forme d’adresse “ M. ” car il existe un
espace de plus dans la clé de recherche entre la lettre “ M ” et le point. De même,
“ Ph D ” ne correspondra pas à “ Ph.D ”.
Vérifiez votre formule de sélection minutieusement et vérifiez que les espaces dans
la formule de sélection correspondent aux espaces dans les champs que vous
essayez de faire correspondre.

142 Crystal Reports Guide de l’utilisateur


scr8.book Page 143 Monday, April 2, 2001 12:29 PM

Tris, groupements et calculs de totaux 9

Le tri, le groupement et le calcul de totaux sont les étapes qui


transforment des données désorganisées en informations
utiles dans un état. Ce chapitre décrit les types de tri, de
groupement et de calcul de totaux que vous pouvez faire
dans un état.

Crystal Reports Guide de l’utilisateur 143


scr8.book Page 144 Monday, April 2, 2001 12:29 PM

Tri des données

Tri des données


Le tri est le placement des données dans un certain ordre pour faciliter vos
recherches et vos évaluations.
Quand vous insérez tout d'abord un champ de base de données dans votre état, les
données contenues dans les champs s'affichent dans l'ordre dans lequel elles ont
été entrées initialement dans la base de données. Il est difficile de localiser des
informations dans ce type d'état. Il est beaucoup plus facile de passer en revue ou
de trouver des informations lorsque vous pouvez les voir dans un format logique.
Par exemple, vous pouvez souhaiter trier alphabétiquement une liste de clients par
nom ou par pays.

Comprendre les options de tri


Avant de trier, Crystal Reports vous demande deux informations :
 sur quels champs vous désirez que le tri s’effectue (le champ de tri),
 dans quel sens effectuer ce tri.

Champ de tri
C'est le champ de tri qui détermine l'ordre dans lequel les données apparaissent
dans l’état. Tout champ peut être utilisé comme champ de tri, y compris les champs
de formule. Le type de champ détermine la méthode de tri.
Remarque : Vous ne pouvez pas effectuer de tri sur des champs mémo ou BLOB.

Type de champ Ordre de tri


Champs chaîne d'un seul caractère blancs
ponctuation
données numériques
lettres majuscules
lettres minuscules
Champs chaîne de plusieurs deux lettres
caractères trois lettres
quatre lettres, etc.

Par exemple :
 "BOB" vient avant "bob"
 "123" vient avant "124"
 " " (blanc) vient avant "a"
 "aa" vient avant "aaa"
Champs monétaires ordre numérique
Champs numériques ordre numérique
Champs date ordre chronologique

144 Crystal Reports Guide de l’utilisateur


scr8.book Page 145 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

Type de champ Ordre de tri


Champs DateHeure ordre chronologique
valeurs de même date triées par heure
Champs Heure ordre chronologique
Champs de comparaison valeurs False (0)
Booléenne valeurs True (1)
Valeurs Null valeurs nulles
valeurs non nulles

Sens du tri
Le mot “ sens ” désigne l'ordre d'affichage, une fois le tri effectué.
 Croissant
Par ordre croissant signifie du plus petit au plus grand, de 1 à 9, de A à Z, de
False à True. Le logiciel trie les enregistrements par ordre croissant sur la base
des valeurs dans le champ à trier et de groupe que vous sélectionnez et ensuite
il commence un nouveau groupe chaque fois que la valeur change.
 Décroissant
Par ordre décroissant signifie du plus grand au plus petit, de 9 à 1, de Z à A,
True à False. Le logiciel trie les enregistrements par ordre décroissant sur une
base des valeurs dans le champ à trier et de groupe que vous sélectionnez.

Tri sur champ unique et sur plusieurs champs


Les tris sur champ unique sont des tris dont tous les enregistrements utilisés dans
l’état sont triés sur une base des valeurs dans un seul champ. Trier des articles en
stock par numéro de stock ou trier une liste des clients par numéro de client sont
des exemples d'un tri sur champ unique.
Lorsque vous choisissez de trier sur plusieurs champs, le Report Designer trie
d’abord les enregistrements sur la base des valeurs du premier champ choisi et les
met en ordre croissant ou décroissant selon vos instructions. Lorsque deux
enregistrements ou plus ont la même valeur de champ dans le premier champ à
trier, Crystal Reports trie ces enregistrements sur une base de la valeur dans le
deuxième champ à trier.
Par exemple, si vous décidiez de trier d'abord sur le champ {client.PAYS} puis sur
le champ {client.REGION}, les deux en ordre croissant, l'état s'afficherait avec les
pays répertoriés par ordre alphabétique et les régions de chaque pays répertoriées
par ordre alphabétique. Tous les autres champs, tels que le code postal de chaque
région, resteraient non triés.
Vous créez des tris sur un seul ou sur plusieurs champs à l'aide de la même procédure.

Crystal Reports Guide de l’utilisateur 145


scr8.book Page 146 Monday, April 2, 2001 12:29 PM

Groupement des données

Pour trier vos données


1 Dans le menu Etat, cliquez sur Trier des enregistrements.
La boîte de dialogue Ordre de tri des enregistrements apparaît.

2 Mettez en surbrillance le champ à trier dans la zone de liste Champs d’état.


3 Cliquez sur le bouton Ajouter.
Le champ sélectionné sera ajouté à la zone de liste Champs à trier.
4 Spécifiez le sens du tri.
5 Si le tri est effectué sur plus d'un champ, mettez en surbrillance le deuxième
champ sur lequel vous voulez trier les données pour l'ajouter à la liste champs
de tri.
Truc : L'ordre des champs énumérés dans la zone Champs de tri est l'ordre
selon lequel les données seront triées.
6 Au fur et à mesure que vous ajoutez chaque champ à la liste Champs de tri,
précisez la direction du tri.
7 Cliquez sur OK lorsque vous avez terminé.
Les enregistrements sont classés selon les valeurs dans le champ à trier.

Groupement des données


Des données groupées sont des données qui sont triées et subdivisées en groupes
ayant une signification. Dans une liste de clients par exemple, il est possible de
définir un groupe de clients ayant le même code postal ou habitant la même région.
Dans un état des ventes, un groupe pourrait être composé de toutes les
commandes passées par un même client, ou de toutes les commandes obtenues par
un représentant particulier.

Sens de groupement et de tri


Lorsque les données sont groupées, quatre sens de tri et de groupement sont
disponibles. Le sens se rapporte à l'ordre dans lequel les valeurs sont affichées.

146 Crystal Reports Guide de l’utilisateur


scr8.book Page 147 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

 Croissant
Par ordre croissant signifie du plus petit au plus grand, de 1 à 9, de A à Z, de
False à True. Le logiciel trie les enregistrements par ordre croissant et ensuite il
commence un nouveau groupe chaque fois que la valeur change.
 Décroissant
Par ordre décroissant signifie du plus grand au plus petit, de 9 à 1, de Z à A,
True à False. Le logiciel trie les enregistrements par ordre décroissant sur une
base des valeurs dans le champ à trier et de groupe que vous sélectionnez et il
commence un nouveau groupe chaque fois que la valeur change.
 Par ordre d’origine
Par ordre d’origine signifie dans l’ordre d’origine par lequel les données ont
été sauvegardées dans la base de données. Le logiciel laisse les
enregistrements dans le même ordre tels qu’ils apparaissent dans la base de
données d’origine et il commence un nouveau groupe chaque fois que la
valeur change dans le champ à trier et de groupe que vous sélectionnez.
 Par ordre spécifié
Par ordre spécifié signifie dans l’ordre défini par l’utilisateur. Le logiciel met
tout enregistrement dans le groupe personnalisé que vous spécifiez, et il laisse
les enregistrements dans chaque groupe par ordre d’origine ou il les trie en
ordre croissant ou décroissant, selon vos instructions. Voir “Création de
groupes personnalisés” à la page 148.

Pour grouper des données


1 Dans le menu Insérer, cliquez sur Groupe.
La boîte de dialogue Insérer un groupe s'affiche.

Crystal Reports Guide de l’utilisateur 147


scr8.book Page 148 Monday, April 2, 2001 12:29 PM

Groupement des données

2 Sélectionnez le champ sur lequel vous voulez trier les données dans la liste
déroulante supérieure.
3 Dans la deuxième liste déroulante, sélectionnez le sens du tri.
4 Sélectionnez la case à cocher Personnaliser le champ Nom de groupe si vous
voulez faire afficher une valeur différente dans l'en-tête de groupe.
Remarque : Par défaut, l'en-tête de groupe de l'état affichera la valeur du
champ sur lequel vous effectuez le groupement.
Par exemple, si vous procédez à un groupement par {Client.ID Client}, à chaque
changement de groupe, vous verrez l'ID Client correspondant. Si vous voulez
afficher une valeur différente (ID Client ou Nom du client), personnalisez le
champ Nom de groupe en choisissant un autre champ de données ou en créant
une formule.
Truc : Pour masquer le nom de l'en-tête du groupe, cliquez sur l'en-tête avec le
bouton droit de la souris, sélectionnez Format du champ, puis cliquez sur
Supprimer dans l'onglet Commun de l'Editeur de format.
5 Cliquez sur OK.
Si vos enregistrements au sein de chaque groupe ne sont pas triés, vous devez
les trier. Voir “Comment trier des enregistrements dans des groupes” à la
page 150.

Sujets connexes
“Comment grouper des données en intervalle” à la page 154.
“Création d'en-têtes de groupe” à la page 172.

Création de groupes personnalisés


Vous souhaiterez, en général, trier et grouper les données d'après les valeurs d’un
certain champ dans l’état. Parfois, vous ne voulez pas faire un groupement basé
sur les valeurs d’un champ dans l’état. Par exemple :
 Il se peut que l’état ne comporte pas le champ sur lequel vous groupez les
données.
Par exemple, l’état contient un champ Ville et un champ Région, mais aucun
champ Pays, mais vous voulez grouper par pays.
 Le champ devant servir au groupement se trouve dans l’état, mais sous une
forme qui ne vous convient pas.
Supposons qu'il existe un champ Couleur comportant des noms de couleurs
spécifiques (vert bouteille, bleu ciel, vert émeraude, bleu nuit, etc.). Ou, vous
désirez créer des groupes incluant toutes les nuances des couleurs principales
(les bleus, les verts, les rouges etc.). Dans ce cas, vous pouvez créer les groupes
correspondants et leur assigner manuellement les enregistrements voulus.

148 Crystal Reports Guide de l’utilisateur


scr8.book Page 149 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

 Le champ à grouper se trouve effectivement dans l’état, mais vous voulez


créer des groupes basés sur des valeurs ou des plages de valeurs particulières.
Supposons que vous souhaitiez créer trois groupes dans l'état des ventes : un
premier groupe où les ventes sont inférieures à un certain seuil, un second où
les ventes sont supérieures à une autre valeur, et un troisième où les ventes se
situent entre les deux. Vous pouvez le faire à l'aide des outils de sélection dont
vous disposez déjà pour la construction de requêtes.
L'option de groupement par ordre spécifié vous permet ces tris et ces groupements
personnalisés. Vous créez les groupes qui apparaîtront dans l’état et y placez les
enregistrements requis. La seule contrainte est qu'un même enregistrement ne
peut pas figurer dans plus d’un groupe.
Un didacticiel qui permet de créer des groupes personnalisés afin de classer les
clients selon le montant des affaires réalisées l'année précédente est à votre
disposition. Reportez-vous à “Comment grouper des données en intervalle” à la
page 154.

Pour créer un groupe personnalisé


1 Dans le menu Insérer, cliquez sur Groupe.
La boîte de dialogue Insérer un groupe s'affiche.
2 Sélectionnez le champ sur lequel vous voulez trier les données dans la liste
déroulante supérieure.

3 Sélectionnez l'option de tri par ordre spécifié dans la deuxième liste


déroulante.

Crystal Reports Guide de l’utilisateur 149


scr8.book Page 150 Monday, April 2, 2001 12:29 PM

Groupement des données

4 Dans l'onglet Ordre spécifié, entrez le nom du groupe dans le champ Groupe
nommé.
5 Cliquez sur Nouveau.
6 Dans la boîte de dialogue Groupes nommés définis, utilisez la liste déroulante
pour sélectionner les données devant faire partie du groupe.
7 Cliquez sur l'onglet <Nouveau> pour ajouter d'autres critères de sélection à
votre groupe spécifié, si nécessaire.
8 Cliquez sur OK.
9 Cliquez sur Nouveau pour créer d'autres groupes personnalisés si nécessaire.
10 Cliquez sur l'onglet Autres pour préciser comment vous voulez organiser les
données qui ne font pas partie du (des) groupe(s) que vous avez défini(s).
11 Cliquez sur OK.

Comment trier des enregistrements dans des groupes


Une fois que vos données sont groupées, vous pouvez simplement trier les
enregistrements dans les groupes pour mieux organiser les données.

Trier des enregistrements dans des groupes


1 Une fois que vos données sont groupées, dans le menu Etat, cliquez sur Trier
des enregistrements.
La boîte de dialogue Ordre de tri des enregistrements apparaît.

Remarque : Les champs de tri qui commencent par “Groupe” spécifient le tri
effectué automatiquement lors du groupement des données.
2 Mettez en surbrillance le champ sur lequel vous voulez trier les
enregistrements au sein des groupes et cliquez sur le bouton Ajouter pour
l'ajouter à la liste Champs de tri.
Truc : L'ordre des champs dans la zone Champs de tri est l'ordre selon lequel
les données seront triées.

150 Crystal Reports Guide de l’utilisateur


scr8.book Page 151 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

3 Spécifiez le sens du tri.


4 Cliquez sur OK lorsque vous avez terminé.

Grouper une sélection


Si vous créez des groupes ou des résumés de données, le logiciel les inclut tous
dans l’état par défaut. Vous pouvez toutefois ne désirer inclure que certains
groupes. Par exemple :
 vous ne souhaitez inclure que les groupes portant un nom spécifique ou ceux
dont les résumés correspondent à une certaine condition.
 vous voudriez voir uniquement les groupes dont la valeur est la plus élevée ou
la plus basse.
Vous pouvez sélectionner les groupes de deux manières.
 Voir “ Utilisation de l'Expert Sélection ” page 151.
 Voir “ Utilisation de formules de sélection ” page 152.
Remarque : Pour améliorer les temps de réponse, limitez le nombre
d'enregistrements en effectuant une sélection d'enregistrements avant de créer
des groupes. Voir “Sélection des enregistrements” à la page 130.

Utilisation de l'Expert Sélection


Vous pouvez, à l'aide de l'Expert Sélection, sélectionner des groupes
d'enregistrements comme s'il s'agissait d'enregistrements individuels.
Lorsque vous définissez des critères de sélection de groupe, au lieu de baser les
critères de sélection sur des champs standards, comme pour la sélection
d'enregistrements, vous faites appel à des champs Nom de groupe ou de résumé.
 Si vous avez simplement groupé les données sans les résumés, vous ne
pourrez définir la sélection de groupes que sur le champ Nom de groupe. Par
exemple, vous voudriez sélectionner seuls les groupes dont la région est
Bretagne :
GroupName ({client.REGION}) = "BR"
 Si vous avez résumé vos données, vous pouvez mettre en place une sélection
de groupes basée soit sur le champ Nom de groupe, soit sur le champ de
résumé. Par exemple :
Sum({Client.VENTES DE L’ANNEE PRECEDENTE}, {Client.REGION}) > 10000
Remarque : L'Expert Sélection permet de définir des requêtes de sélection
d'enregistrements et de sélection de groupes. Il n'est pas nécessaire de connaître le
langage de formule de Crystal Reports pour définir ce genre de critères de
sélection d'enregistrements. Dans tous les autres cas, le programme reconnaît la
mise en place d'une sélection d'enregistrements.

Crystal Reports Guide de l’utilisateur 151


scr8.book Page 152 Monday, April 2, 2001 12:29 PM

Groupement des données

Comment définir une sélection de groupes à l'aide de l'Expert


Sélection
1 Cliquez avec le bouton droit de la souris sur le champ de résumé sur lequel
vous voulez baser la sélection de groupe et sélectionnez ensuite Expert
Sélection depuis le menu contextuel,
La boîte de dialogue Expert Sélection s'affiche.
Remarque : Si vous cliquez sur le bouton Expert Sélection sans avoir d’abord
sélectionné un champ de résumé dans votre état, la boîte de dialogue
Sélectionner un champ apparaît.

2 Utilisez les zones de liste déroulantes pour entrer le critère de sélection du


champ indiqué.
3 Si vous voulez baser votre sélection de groupe sur plusieurs champs cliquez
sur l'onglet Nouveau et choisissez le champ suivant à partir de la boîte de
dialogue Sélectionner un champ lorsqu’elle apparaît.
Remarque : Si vous n'avez pas déjà prévisualisé l'état ou mis à jour les
données, ces dernières ne sont pas encore sauvegardées avec l'état. Le
programme ne pouvant calculer les valeurs de groupes sans elles, aucune
valeur n'apparaîtra dans la liste déroulante de droite. Dans ce cas, vous devrez
les entrer au clavier. Il est nécessaire de visualiser l’état pour obtenir les
véritables valeurs. La visualisation calcule les valeurs récapitulatives réelles
sur lesquelles vous pouvez ensuite travailler.
4 Cliquez sur OK dans l’Expert Sélection lorsque vous avez terminé pour
revenir à l'état.

Utilisation de formules de sélection


L'Editeur de formules permet de définir la requête de sélection de groupes à l'aide
de champs de groupes, de champs de noms de groupes et d'autres formules. Comme
pour les formules de sélection d'enregistrements, la seule restriction est l'obligation
de créer une formule booléenne (c'est-à-dire qui retourne une valeur Vrai ou Faux).

152 Crystal Reports Guide de l’utilisateur


scr8.book Page 153 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

Pour créer un enregistrement ou une formule de sélection de groupe


1 Dans le menu Etat, pointez sur Modifier une formule de sélection.
2 Cliquez sur Enregistrement pour créer une formule de sélection
d'enregistrements.
L'Editeur de formule de sélection d'enregistrements s'affiche.
- ou -
Sélectionnez Groupe pour créer une formule de sélection de groupe.
L'Editeur de formule de sélection de groupe s'affiche.
3 Entrez votre formule de sélection dans la zone de texte de formule.
Remarque : La formule résultante doit être Booléenne; c'est-à-dire qu'elle ne
doit renvoyer que la valeur True (vrai) ou False (faux).
4 Cliquez sur Vérifier pour identifier les éventuelles erreurs dans la formule.
5 Résolvez les erreurs de syntaxe que le Vérificateur de Formule a trouvées.
6 Une fois que la syntaxe de la formule est correcte, cliquez sur Enregistrer et
Fermer.
Lorsque le programme exécute l'état, il ne prend en compte que les
enregistrements ou groupes d'enregistrements que vous avez spécifiés.

Dépannage de formules de sélection de groupes


Dans certains cas, aucune valeur ne s'imprimera lors de l'utilisation d'une formule
de sélection de groupe, même si des valeurs correspondent aux critères de
sélection. Cela se produit habituellement dans les cas suivants :
 la formule de sélection de groupe fait référence à une autre formule
 la formule à laquelle il fait référence est une formule qui calcule la valeur de
chaque groupe en tant que pourcentage de la valeur totale de tous les groupes
(c'est-à-dire un sous-total en tant que pourcentage d'un total général).

Pour corriger une formule de sélection de groupe


1 Utilisez Xtreme.mdb pour créer un état qui comprend les champs suivants:
{Client.NOM DU CLIENT}
{client.REGION}
{commandes.ID COMMANDE}
{commandes.MONTANT DE LA COMMANDE}
Pour chaque commande, l'état affiche le client qui l'a passée, la région dans laquelle
ce client est situé, le numéro de la commande et le montant de la commande.
2 Calculez un sous-total du champ {commandes.MONTANT DE LA
COMMANDE} en utilisant le champ {client.REGION} en tant que champ de tri
et de groupement.

Crystal Reports Guide de l’utilisateur 153


scr8.book Page 154 Monday, April 2, 2001 12:29 PM

Groupement des données

Le programme trie les données par état et calcule un sous-total dans le champ
{commandes.MONTANT DE LA COMMANDE} à chaque changement d'état .
Voir “Calcul de sous-totaux des données” à la page 167.
3 Insérez un total général sur le champ {commandes.MONTANT DE LA
COMMANDE} pour voir la valeur totale de toutes les commandes passées.
4 Créez une formule nommée Percent qui calcule chaque sous-total en tant que
pourcentage du total général pour voir la valeur des commandes pour chaque
groupe de région en tant que pourcentage de toutes les commandes passées.
Sum({commandes.MONTANT DE LA COMMANDE}, {client.REGION}) %
Sum({commandes.MONTANT DE LA COMMANDE})
5 Placez la formule dans la section Pied de groupe de l'état.
6 Faites référence à la formule (@Percent) dans une formule de sélection de
groupe qui ne sélectionne que les groupes pour lesquels le pourcentage (sous-
total du total général) est inférieur à 5% afin de trouver les régions dont la
contribution individuelle aux ventes totales est inférieure à 5%:
{@Percent} < 5
Quand vous cliquez sur Enregistrer et fermer, vous obtenez le message
d'erreur suivant:
Cette formule ne peut être utilisée car elle doit être évaluée plus tard.
7 Au lieu d'utiliser le nom de la formule (dans ce cas @Percent) dans la formule
de sélection de groupe, entrez la formule elle-même (la formule nommée
@Percent). Ainsi, au lieu d'utiliser la formule de sélection de groupe
{@Percent} < 5
utilisez la formule de sélection de groupe suivante:
Sum({commandes.MONTANT DE LA COMMANDE}, {client.REGION} %
Sum({commandes.MONTANT DE LA COMMANDE}) < 5
Désormais, lorsque vous lancerez une impression, seules les régions dont la
contribution est inférieure à 5% s'imprimeront.

Comment grouper des données en intervalle


Vous voulez peut-être grouper vos données en intervalles. Groupes d’âge, périodes
du temps et catégories de ventes sont des exemples du groupement en intervalle
que vous pouvez créer à l’aide du processus ci-dessous. Dans cet exemple, vous
classerez des clients selon le volume de leurs achats pendant l’année précédente.
Il utilise le regroupement dans un ordre spécifique. Ce type de regroupement
permet de préciser les enregistrements qui seront inclus dans chaque groupe. Vous
définissez les intervalles que vous voulez et le logiciel se charge du reste.

154 Crystal Reports Guide de l’utilisateur


scr8.book Page 155 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

Pour grouper des données en intervalle


1 Créez un état en utilisant la table Détails de commandes dans le fichier
Xtreme.mdb et puis insérez les champs suivants de gauche à droite dans la
section Détails :
{Client.NOM DU CLIENT}
{client.REGION}
{client.CODE POSTAL}
{client.PAYS}
{client.VENTES DE L’ANNEE PRECEDENTE}
2 Cliquez avec le bouton droit sur le champ de données Ventes de l’année
précédente et sélectionnez la commande Insérer un sous-total.
La boîte de dialogue Insérer un sous-total s'affiche.

3 Sélectionnez Ventes de l’année précédente comme champ à grouper et à trier


pour établir les intervalles basés sur les ventes de l’année précédente (la zone
de liste déroulante supérieure).
4 Choisissez l’option dans l'ordre spécifié dans la zone de liste Ordre de tri.
Le logiciel crée un nouvel onglet, l’onglet Ordre spécifié, dans la boîte de
dialogue Insérer un sous-total.

Crystal Reports Guide de l’utilisateur 155


scr8.book Page 156 Monday, April 2, 2001 12:29 PM

Groupement des données

5 Cliquez sur le bouton Nouveau.


La boîte de dialogue Définir un groupe nommé apparaît.

6 Saisissez “ inférieur à 10.000$ ” dans la zone modifiable Nom de groupe.


Ceci est le nom qui servira comme valeur du champ Nom de groupe pour le
groupe.
7 Indiquez la condition d'appartenance à ce premier groupe (les ventes doivent
être inférieures à 10 000). Pour cela, faites les sélections dans les trois premières
zones de listes déroulantes de manière à ce que la condition suivante
apparaisse :
est inférieur à 10000
8 Cliquez sur OK pour revenir à l'onglet Ordre spécifié.
9 Cliquez sur Nouveau.
La boîte de dialogue Définir un groupe nommé apparaît de nouveau.

156 Crystal Reports Guide de l’utilisateur


scr8.book Page 157 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

10 Définissez un deuxième groupe pour qu'il contienne les valeurs comprises


entre 10.000$ et 25.000$.
 Tapez “ 10.000$ à 25.000$ ” dans le champ Nom de groupe.
 Réglez le premier champ pour obtenir la condition: est compris entre
 Spécifiez une plage de valeurs:
 tapez “ 10000 ” dans le champ du haut
 tapez “ 25000 ” dans le champ du bas
Le groupe est désormais configuré pour contenir toutes les valeurs comprises
entre 10.000$ et 25.000$.
11 Cliquez sur OK pour revenir à l'onglet Ordre spécifié.
12 Cliquez sur Nouveau.
La boîte de dialogue Définir un groupe nommé apparaît de nouveau.
13 Réglez le groupe final pour qu'il contienne toutes les valeurs supérieures à
25.000$.
 Tapez “ Plus de 25.000$ ” dans le champ Nom de groupe.
 Réglez le premier champ pour obtenir la condition : est supérieur à
 Tapez “ 25000 ”.
14 Cliquez sur OK pour revenir à l'onglet Ordre spécifié.
15 Cliquez sur OK. L'état est groupé par intervalle dans un ordre spécifié. Votre
état devrait ressembler à celui présenté ci-dessous :

Crystal Reports Guide de l’utilisateur 157


scr8.book Page 158 Monday, April 2, 2001 12:29 PM

Groupement des données

Grouper sur la base de la première lettre du nom d’entreprise


Il peut s'avérer utile de répartir les données dans des groupes en fonction de la
première lettre du nom de la société. Supposons que vous vouliez grouper tous les
clients dont le nom commence par “ A ”, puis tous ceux dont le nom commence par
“ B ”, etc. Il n’est pas suffisant de sélectionner des options dans une boîte de
dialogue. Vous devez élaborer une formule.
Ne vous inquiétez pas si vous manquez encore d’expérience en matière de
formules. Vous allez l’acquérir peu à peu.
Pour de plus amples informations sur la création et modification de formules,
consultez “Généralités sur les formules” à la page 400.
Vous allez créer une formule qui extrait la première lettre du nom de chaque client.
Le champ de formule correspondant servira ensuite de champ de tri et de
groupement pour le classement des données. Lors de l'exécution, le logiciel trie les
enregistrements et crée un nouveau groupe chaque fois que la première lettre change.

Pour grouper des données selon la première lettre du nom de société


1 Créez un état en utilisant la table Détails de commandes dans le fichier
Xtreme.mdb et puis insérez les champs suivants de gauche à droite dans la
section Détails :
{Client.NOM DU CLIENT}
{client.REGION}
{client.CODE POSTAL}
{client.PAYS}
2 Choisissez la commande Objet champ du menu Insérer.
La boîte de dialogue Explorateur de champs apparaît.

3 Sélectionnez Champs de Formule, puis cliquez sur Nouveau.


4 Dans la boîte de dialogue Nom de formule, entrez le nom sous lequel vous
voulez identifier la formule, par exemple “ Première lettre ”.
5 Cliquez sur OK.
La boîte de dialogue Modifier la formule s’affiche.

158 Crystal Reports Guide de l’utilisateur


scr8.book Page 159 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

6 Sélectionnez Syntaxe Crystal dans la liste déroulante de l'angle supérieur droit.


7 Tapez la formule suivante dans la zone de texte Formule :
{Client.Nom du client}[1]
8 Cliquez sur le bouton Enregistrer et fermer.
Vous revenez alors à la boîte de dialogue de l'Explorateur de champs. Le nom
de la formule s'affiche dans le répertoire Objets champs.
9 Dans le menu Insérer, cliquez sur Groupe.
La boîte de dialogue Insérer un groupe s'affiche.

10 Dans la première liste déroulante, sélectionnez le champ de formule comme


champ sur lequel vous voulez grouper vos données.
11 Dans la deuxième liste déroulante, sélectionnez le sens du tri.
12 Cliquez sur OK.
Vous revenez à votre état avec les données groupées selon le champ de formule
spécifié. Les données sont décomposées en groupes en fonction de la première
lettre du nom de client. La formule fournit un en-tête dynamique pour chaque
groupe.
Pour avoir plus d'informations sur les en-têtes dynamiques, reportez-vous à la
section “En-têtes dynamiques” à la page 173.

Crystal Reports Guide de l’utilisateur 159


scr8.book Page 160 Monday, April 2, 2001 12:29 PM

Groupement des données

Votre état devrait ressembler à celui présenté ci-dessous:

Sujets connexes
“Généralités sur les formules” à la page 400.
“Groupement des données” à la page 146.
“Comment grouper des données en intervalle” à la page 154.
“Création d'en-têtes de groupe” à la page 172.

Groupement des données de façon hiérarchique


Vous avez la possibilité de grouper les données dans un état pour afficher des
relations hiérarchiques. Quand vous groupez les données hiérarchiquement, vous
effectuez un tri des informations en fonction des relations existant entre deux champs.
Par exemple, si vous voulez montrer la structure hiérarchique d'un service, vous
pouvez grouper les données par ID Employé et spécifier les relations hiérarchiques
avec les champs de données contenant les supérieurs hiérarchiques des employés.

160 Crystal Reports Guide de l’utilisateur


scr8.book Page 161 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

Pour grouper les données hiérarchiquement


1 Dans le menu Insérer, cliquez sur Groupe.
2 Dans la boîte de dialogue Insérer un groupe, sélectionnez le champ sur lequel
sera basée votre hiérarchie.
Par exemple, si vous voulez afficher la structure hiérarchique des employés
d'une société, sélectionnez le champ de données ID Employé. Si vous voulez
afficher la structure hiérarchique des bureaux de vente régionaux, sélectionnez
les noms de bureaux.
3 Sélectionnez par ordre croissant.
4 Par défaut, l'en-tête de groupe de l'état affichera la valeur du champ sur lequel
vous effectuez le groupement. Sélectionnez la case à cocher Personnaliser le
champ Nom de groupe si vous voulez faire afficher une valeur différente dans
l'en-tête de groupe.
Par exemple, si vous procédez à un groupement par {Employé.ID Employé}, à
chaque changement de groupe, vous verrez l'ID Employé correspondant. Si
vous voulez afficher une valeur différente (Nom de l'employé au lieu de ID
Employé), personnalisez le champ Nom de groupe en choisissant un autre
champ de données ou en créant une formule.
5 Cliquez sur OK.
Le groupe que vous avez créé est ajouté à l'état.
6 Dans le menu Etat, cliquez sur Options de groupement hiérarchique.
La boîte de dialogue Options hiérarchiques s'affiche.

7 Dans la liste Groupes disponibles, sélectionnez le groupe que vous voulez


organiser hiérarchiquement.
Si vous avez créé un seul groupe dans votre état, celui-ci sera automatiquement
sélectionné dans la liste Groupes disponibles.

Crystal Reports Guide de l’utilisateur 161


scr8.book Page 162 Monday, April 2, 2001 12:29 PM

Groupement des données

8 Sélectionnez la case à cocher Tri hiérarchique des données.


9 Dans la zone de liste Champ ID parent, sélectionnez le champ selon lequel
vous voulez organiser le Champ ID d’instance.
Par exemple, dans le cas d’un état sur la hiérarchie de l’entreprise, vous pouvez
sélectionner le champ de données contenant le supérieur hiérarchique de
l’employé.
Remarque : Les champs ID d’instance et ID parent doivent avoir le même
type. Par exemple, si le champ ID d’instance contient des données de chaîne,
alors le champ ID parent doit également contenir des données de chaîne.
10 Dans le champ Retrait d’un groupe, entrez la valeur de l'indentation souhaitée
pour chaque sous-groupe.
11 Cliquez sur OK.
Les données de l'état sont désormais groupées hiérarchiquement. Si nécessaire,
vous pouvez maintenant calculer des champs résumés dans le nouveau
groupement hiérarchique. Lors de l’insertion d’un sous-total, d’un total général ou
d’un résumé avec la méthode habituelle, sélectionnez l’option Somme sur
hiérarchie. Reportez-vous aux sections “Résumé de données groupées” à la
page 163 et “Sous-totaux” à la page 167.
Truc : Si vous voulez supprimer l'en-tête de groupe, sélectionnez l'en-tête de groupe.
Dans le menu Mettre en forme, cliquez sur Mise en forme du paragraphe. Cliquez sur
la case à cocher Supprimer.
Remarque :
 Le plus haut niveau de la hiérarchie est déterminé par les groupes qui
correspondent à ID d'instance et ID parent.
 Si une instance de groupe n'est reliée à aucun ID parent, elle s'affiche en haut
de la hiérarchie.

Modification des groupes


Pour modifier un groupe
1 Dans le menu Etat, cliquez sur Expert Modification de groupe.
2 Dans la boîte de dialogue Modifier un groupe, sélectionnez le groupe que vous
voulez modifier.
3 Cliquez sur le bouton Options.
4 Dans la boîte de dialogue Modifier les options de groupe, modifiez le groupe
selon les besoins.
5 Cliquez sur OK.
L'état reflète les modifications que vous avez apportées au groupe.

162 Crystal Reports Guide de l’utilisateur


scr8.book Page 163 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

Résumé de données groupées


Le principal objectif de la répartition des données dans des groupes est l'exécution
de calculs séparés pour les enregistrements de chaque groupe.
Lorsque le programme récapitule les données, celles-ci sont triées puis réparties
par groupes et le résumé des valeurs s'effectue groupe par groupe. Il s'agit d'une
procédure automatique.
Le programme propose plusieurs options de résumé. Selon le type de données du
champ que vous souhaitez résumer, vous pouvez :
 calculer le total des valeurs dans chaque groupe,
 compter toutes les valeurs ou seulement celles qui diffèrent les unes des autres,
 déterminer la valeur maximale, minimale, moyenne ou la Nième plus grande
valeur,
 calculer jusqu'à deux types d'écarts ou de variations.
Par exemple :
 Liste des clients : déterminer le nombre de clients dans chaque région. Le
résumé calcule le nombre de clients différents dans chaque groupe Région.
 Commandes : déterminer la commande moyenne passée par mois. Le résumé
calcule le volume de la commande moyenne pour chaque groupe
correspondant à un mois.
 Ventes : déterminer le total des ventes par commercial. Le résumé calcule le
total ou le sous-total des montants des commandes réalisées par chaque
groupe de commerciaux.
Remarque : Vous pouvez également calculer des champs résumés dans les groupes
hiérarchiques. Pour ce faire, sélectionnez “ Somme sur hiérarchie ” dans la boîte de
dialogue Insérer un sous-total, Insérer un total général ou Insérer un résumé.

Pour résumer des données groupées


1 Dans le menu Insérer, cliquez sur Résumé.
La boîte de dialogue Insérer un résumé s'affiche.
2 Sélectionnez l’opération de résumé souhaitée dans la zone de liste déroulante
en haut.
3 Sélectionnez le champ sur lequel vous voulez trier les données dans la
deuxième liste déroulante.
4 Dans la troisième liste déroulante, sélectionnez le sens du tri.
5 Cliquez sur OK lorsque vous avez terminé.

Crystal Reports Guide de l’utilisateur 163


scr8.book Page 164 Monday, April 2, 2001 12:29 PM

Résumé de données groupées

Par exemple, si vous vouliez compter le nombre de clients que vous avez dans
chaque pays, vous créeriez un champ compteur basé sur le client et vous feriez
un groupement par pays :

Les données
sont groupées
par pays.

Cette opération
comptera les
enregistrements
dans chaque
groupe.

164 Crystal Reports Guide de l’utilisateur


scr8.book Page 165 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

Sujets connexes
“Calcul de sous-totaux des données” à la page 167.

Tri de valeurs de groupe après résumé


Vous avez la possibilité de trier les groupes par ordre croissant ou décroissant des
résumés. Vous voulez, par exemple, imprimer les sous-totaux des commandes de
vos clients par pays. Vous pourriez commencer par le pays ayant :
 le plus faible sous-total (puis passer au suivant et continuer dans l'ordre
croissant), ou
 le sous-total le plus élevé (puis continuer dans l'ordre décroissant).
Vous accédez à cette fonction à l'aide de la commande Expert groupes N Sup/tri
du menu Etat.

Trier sur la base de valeurs de groupe résumées


1 Cliquez sur le bouton N Sup de la barre d’outils supplémentaire.
L’Expert Groupes N Sup/Tri s’affiche avec un onglet pour chaque groupe dans
l’état.
2 Sélectionnez l'onglet correspondant au groupe à trier.
3 Sélectionnez l’option Tout de la zone de liste déroulante gauche.
4 Choisissez le résumé sur lequel vous voulez baser votre sélection dans la zone
de liste déroulante des résumés (à droite).
La zone de liste déroulante des résumés concerne les cas de plusieurs résumés
dans une seule section de groupe. Par exemple, dans un état des commandes,
vous pouvez totaliser les commandes de chaque client et en faire la moyenne,
puis afficher le total et la moyenne dans la même section de groupe. Vous
sélectionnerez alors le total ou la moyenne dans cette zone de liste déroulante.
5 Spécifiez le sens du tri.
6 Si vous souhaitez trier un autre groupe, répétez les étapes 2 à 5.
Lorsque vous exécutez l’état, le logiciel va trier les données en fonction de l'ordre
des groupes spécifié.

Sélectionner des groupes N Sup ou N Inf


Il peut arriver que vous ayez besoin d'afficher uniquement les groupes
“ supérieurs ” ou “ inférieurs ” dans un état : les gammes de produits les plus
vendues, les secteurs de vente les moins productifs, les régions dont proviennent
le plus de commandes, etc. Le logiciel propose l'Expert Groupes N Sup/Tri qui
permet de mettre en place sans difficulté ce type de sélection très apprécié.

Crystal Reports Guide de l’utilisateur 165


scr8.book Page 166 Monday, April 2, 2001 12:29 PM

Résumé de données groupées

Lorsque vous paramétrez la sélection N Sup, vous devez tenir compte du point
suivant : qu'adviendra-t-il des enregistrements appartenant à des groupes qui ne
répondent pas aux critères définis pour N Sup ou N Inf ? Souhaitez-vous les
éliminer totalement de vos états ou les rassembler tous dans un groupe unique ?
Le logiciel vous permet de choisir entre ces deux options.
Remarque : Votre état doit contenir une valeur résumée pour être capable
d’accomplir une sélection N Sup ou N Inf. Voir “Résumé de données groupées” à
la page 163.

Pour sélectionner la partie supérieure ou inférieure du groupe


1 Créez un état et calculez les résumés des données comme désiré. Lorsque les
résumés sont calculés, le logiciel scinde les données en groupes et calcule un
résumé pour chacun d'entre eux.
 Avec le groupement N supérieur le logiciel montre les groupes qui ont les
valeurs de résumé les plus élevées (N Sup).
 Avec le groupement N inférieur, le logiciel montre les groupes qui ont des
valeurs de résumé les plus basses (N Inf).
2 Cliquez sur le bouton Expert N Sup de la barre d’outils supplémentaire.
L'Expert Groupes N Sup/Tri s’affiche avec un onglet pour le groupe.
Remarque : Si vous avez plusieurs sections de groupes, le logiciel affichera un
onglet pour chaque groupe.

3 Choisissez NSup, NInf ou Tous dans la première zone de liste déroulante (à


gauche).
4 Choisissez le résumé sur lequel vous voulez baser votre sélection dans la zone
de liste déroulante des résumés (à droite).
La zone de liste déroulante des résumés concerne les cas de plusieurs résumés
dans une seule section de groupe. Par exemple, dans un état des commandes,

166 Crystal Reports Guide de l’utilisateur


scr8.book Page 167 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

vous pouvez totaliser les commandes de chaque client et en faire la moyenne,


puis afficher le total et la moyenne dans la même section de groupe. Vous
sélectionnerez alors le total ou la moyenne dans cette zone de liste déroulante.
5 Dans la zone modifiable Où N est saisissez le nombre de groupes que vous
voulez afficher. Par exemple :
 si vous souhaitez un état relatif aux trois lignes de produits qui se vendent
le plus, sélectionnez l’option N Sup dans l’Expert Groupes N Sup/Tri et
entrez 3 comme valeur de N, ou
 si vous voulez un état des cinq régions les moins productives, sélectionnez
l’option N Inf dans l’Expert Groupes N Sup/Tri et entrez 5 comme valeur
de N.
6 Activez la case à cocher inclure les Autres, avec le nom et donnez un nom au
groupe si vous voulez réunir tous les autres enregistrements dans un groupe
unique.
7 Cliquez sur OK lorsque vous avez terminé.
Lorsque le logiciel exécutera l'état, désormais seuls les groupes que vous avez
spécifiés seront inclus.

Sous-totaux
Un sous-total est un type de résumé particulier qui cumule ou additionne les
valeurs numériques d'un groupe. Crystal Reports procède aux groupements et aux
calculs de sous-totaux en une seule opération.
Remarque : Si vous êtes en train de créer un sous-total en utilisant des tables de
base de données reliées par des relations de type un à plusieurs, vous pourrez
avoir besoin d'utiliser un total cumulé au lieu d'un sous-total. Voir “Créer un total
cumulé dans une relation de liaison un-à-plusieurs” à la page 184.

Calcul de sous-totaux des données


Dans cet exemple, vous grouperez les données par Pays et calculerez un sous-total
des ventes de l’année précédente par Pays.

Pour effectuer un sous-total des données


1 Créez un état en utilisant la table Détails de commandes dans le fichier
Xtreme.mdb et puis insérez les champs suivants de gauche à droite dans la
section Détails :
{Client.NOM DU CLIENT}
{client.REGION}
{client.CODE POSTAL}
{client.PAYS}
{client.VENTES DE L’ANNEE PRECEDENTE}

Crystal Reports Guide de l’utilisateur 167


scr8.book Page 168 Monday, April 2, 2001 12:29 PM

Sous-totaux

2 Cliquez avec le bouton droit de la souris sur le champ Ventes de l’année


précédente, sélectionnez la commande Insérer, puis Sous-total dans le menu
contextuel.
La boîte de dialogue Insérer un sous-total apparaît avec le champ sélectionné
en haut de la boîte de dialogue.

Le champ
sélectionné
sur lequel
effectuer un
sous-total.

Les données sont


divisées en
groupes de pays.

Un sous-total
est effectué
pour les
valeurs de
chaque
groupe.

3 Choisissez le champ à trier et à grouper, spécifiez l’ordre de tri, puis cliquez


OK. Un sous-total est effectué pour les valeurs de chaque groupe.

168 Crystal Reports Guide de l’utilisateur


scr8.book Page 169 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

Etendre les calculs sur les prix et calculer un sous-total des extensions
Dans un état de commandes ou de facturation, vous pourriez étendre les calculs
sur les prix pour des articles individuels et puis calculer un sous-total des
extensions. Vous pouvez le faire à l’aide d’une formule très simple pour accroître
les prix, puis calculer un sous-total du champ de formule.

Pour étendre les calculs sur les prix et calculer un sous-total des
extensions
1 Créez un état en utilisant la table Détails de commandes dans le fichier
Xtreme.mdb et puis insérez les champs suivants de gauche à droite dans la
section Détails :
{client.ID CLIENT}
{détails de commande.ID PRODUIT}
{détails de commande.QUANTITE}
{détails de commande.PRIX UNITAIRE}
2 Pour créer la formule relative à l'extension des prix, sélectionnez Insérer dans
le menu principal et sélectionnez Objet champ.
La boîte de dialogue de l'Explorateur de champs apparaît.
3 Sélectionnez Champs de Formule, puis cliquez sur Nouveau.
La boîte de dialogue Nom de formule apparaît.
4 Entrez le nom choisi pour la formule.
5 Cliquez sur OK.
La boîte de dialogue Modifier la formule s’affiche.
6 Saisissez le texte de la formule dans la zone modifiable Texte de la formule :
{Détails_commande.Quantité} * {détails de commande.Prix unitaire}
7 Cliquez sur le bouton Enregistrer et fermer lorsque vous avez terminé.
Vous revenez à la boîte de dialogue Explorateur de champs avec le nom de
votre formule énuméré dans le répertoire Champ de formules.
8 Cliquez deux fois sur votre formule et placez le champ de formule à droite du
champ Prix unitaire dans la section Détails de l'état.
9 Cliquez sur Fermer pour fermer la boîte de dialogue de l'Explorateur de champs.
10 Pour calculer un sous-total de la formule d’extensions, cliquez avec le bouton
droit de la souris sur le champ de formule, sélectionnez Insérer, puis Sous-
total dans le menu contextuel.
La boîte de dialogue Insérer un sous-total s'affiche.
11 Pour créer un sous-total des ventes hebdomadaires, sélectionnez
{commandes.DATE DE COMMANDE} en tant que champ de tri et de

Crystal Reports Guide de l’utilisateur 169


scr8.book Page 170 Monday, April 2, 2001 12:29 PM

Sous-totaux

groupement et choisissez pour chaque semaine en tant qu'intervalle de


groupe de l'état.
Remarque : La zone déroulante “ La section est imprimée ” sera désactivée
tant que vous n'aurez pas choisi le champ Date de la commande.

12 Cliquez sur OK pour insérer le sous-total.


Vos données seront triées par date et groupées dans des intervalles d'une semaine.
Votre état devrait ressembler à celui présenté ci-dessous :

170 Crystal Reports Guide de l’utilisateur


scr8.book Page 171 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

Pourcentages
Calcul d'un pourcentage
Vous pouvez calculer le pourcentage d'un groupe au sein d'un groupement plus
large. Par exemple, vous pouvez afficher le pourcentage des ventes dans chaque ville
par rapport aux ventes totales de chaque pays. Vous pouvez également voir, sous
forme de pourcentage, la contribution de chaque pays au total général des ventes.

Pour calculer un pourcentage


1 Dans le menu Insérer, cliquez sur Résumé.
Truc : Vous pouvez également ajouter des champs de pourcentage dans
l’onglet Total de la boîte de dialogue de l'Expert Etat.
La boîte de dialogue Insérer un résumé s'affiche.

2 Sélectionnez somme dans la première liste déroulante.


3 Sélectionnez le champ pour lequel vous voulez calculer la somme.
Par exemple, vous pouvez vouloir insérer un champ qui calcule la somme des
ventes de l'année dernière.
4 Sélectionnez le mode de groupement des données que vous souhaitez.
5 Cliquez sur la case à cocher Afficher sous forme de pourcentage de.
6 Sélectionnez le groupe sur lequel vous voulez baser le pourcentage.
Vous pouvez décider d'afficher un pourcentage d'un groupe au sein d'un autre
groupe ou d'afficher un pourcentage du total général.
7 Cliquez sur OK. Le champ pourcentage de résumé est ajouté à votre état.

Crystal Reports Guide de l’utilisateur 171


scr8.book Page 172 Monday, April 2, 2001 12:29 PM

En-têtes de groupe

En-têtes de groupe
Création d'en-têtes de groupe
Chaque fois que vous créez un groupe, un sous-total ou un résumé, le programme
crée une section Pied de groupe (PG) (dans laquelle il place toute valeur de sous-
total ou de résumé), et une section En-tête de groupe (EG) (dans laquelle il place
automatiquement le nom ou l'en-tête du groupe). Les en-têtes de groupe sont
utiles, voire nécessaires, si vous voulez que les données de votre état soient claires
et facilement comprises. Bien que le programme crée automatiquement un en-tête
de groupe, il se peut que vous souhaitiez le remplacer ou le modifier pour qu'il
réponde au mieux à vos besoins. Vous apprendrez à créer les quatre types d'en-
têtes de groupe les plus courants :
 “En-têtes standard” à la page 172
 “En-têtes dynamiques” à la page 173
 “En-têtes dynamiques pour groupes basés sur une formule” à la page 174
 “En-têtes pour groupes personnalisés” à la page 175.

En-têtes standard
Un en-tête standard est un bloc de texte qui est utilisé pour identifier chaque
groupe d'une façon plutôt générique. “ Client ”, “ Etat ” et “ Commandes
mensuelles ” sont des exemples de ce type d'en-tête.

Bien que l'en-tête soit quelque peu descriptif (“ Chiffres des ventes régionales ”
signifie qu'il s'agit d'un groupe régional), vous ne connaissez jamais les régions
incluses dans le groupe sans d'abord regarder les détails du groupe.

Pour créer un en-tête standard


1 Cliquez sur le bouton Insérer un champ de texte dans la barre d'outils standard.
2 Lorsque le pointeur d'objet s'affiche, déplacez le cadre de l'objet sur la section
En-tête de groupe.
3 Entrez le texte que vous voulez utiliser pour l'en-tête.

172 Crystal Reports Guide de l’utilisateur


scr8.book Page 173 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

4 Cliquez à l'extérieur du cadre pour terminer le processus. Maintenant, lorsque


vous exécutez l'état, le même en-tête s'affichera au début de chaque groupe.

En-têtes dynamiques
Un en-tête dynamique est un en-tête qui change en fonction du contenu du groupe.
Si un sous-total des données était calculé par région, par exemple, un en-tête
dynamique permettrait habituellement d'identifier la région détaillée dans chaque
groupe. Ainsi, le groupe Arizona posséderait un en-tête identifiant le groupe
comme contenant des données sur l'Arizona, de même pour le groupe Californie,
et ainsi de suite.
Remarque : Lors de la création d'un groupe, le programme insère
automatiquement un champ Nom de groupe dans la section En-tête de groupe,
sauf si vous avez désactivé cette option à l'aide de la commande Options du menu
Fichier. Les informations qui suivent donnent des détails sur la façon d'insérer
manuellement une telle section (si le programme ne l'a pas fait automatiquement)
et sur la façon de créer différentes sortes d'en-têtes dynamiques adaptés à divers
besoins.

Nom de groupe seul


L'en-tête dynamique le plus facile à créer est celui qui repose sur l'identification de
la valeur du champ de groupe.

Pour créer un en-tête dynamique par nom de groupe seul


1 Choisissez la commande Objet champ du menu Insérer.
2 Dans la boîte de dialogue Explorateur de champs, développez le dossier
Champs Nom de groupe.
3 Cliquez deux fois sur le Champ Nom de groupe qui correspond au groupe sur
lequel vous travaillez et faites-le glisser dans la section En-tête de groupe de ce
groupe.
Quand vous exécutez l'état, l'identificateur de valeur du champ de groupe
s'affiche en tant qu'en-tête de groupe pour chaque groupe régional.

Nom de groupe avec texte


Un type d'en-tête dynamique plus complexe combine une valeur de champ et du
texte. Un en-tête de groupe représentatif de cette sorte pour des données
subdivisées par région pourrait être “ Ventes pour la Californie ” ou “ Clients dont
le code postal est 60606 ”. La création de ces en-têtes implique trois étapes:
 Insérer un objet texte dans la section En-tête de groupe.
 Taper le texte que vous voulez voir apparaître.
 Entrer le champ Nom de groupe dans le champ de texte dans lequel vous
voulez qu'il s'affiche dans l'en-tête de groupe.

Crystal Reports Guide de l’utilisateur 173


scr8.book Page 174 Monday, April 2, 2001 12:29 PM

En-têtes de groupe

Par exemple, si vous voulez que votre en-tête affiche “ Ventes pour ” puis le nom
de la région du groupe actuel (Ventes pour AZ, Ventes pour CA, etc.), suivez ces
quelques étapes :

Pour créer un en-tête dynamique avec un nom de groupe utilisant


du texte
1 Cliquez sur le bouton Insérer un champ de texte dans la barre d'outils
standard.
2 Placez le cadre de l'objet dans la section En-tête de groupe du groupe.
3 Tapez le texte désiré en le terminant par un espace.
4 Cliquez sur le bouton Insérer des champs dans la barre d'outils standard.
5 Dans la boîte de dialogue Explorateur de champs, développez le dossier
Champs Nom de groupe.
6 Cliquez deux fois sur le champ Nom de groupe correspondant au groupe sur
lequel vous êtes en train de travailler et faites-le glisser dans l'objet texte,
immédiatement après le texte et l'espace que vous avez entré.
Truc : Agrandissez la taille de la zone de texte pour qu'elle puisse contenir à la
fois le texte et le champ de groupe.
7 Donnez à l'objet texte la mise en forme de votre choix.
Lorsque vous exécuterez l'état, le programme créera un en-tête dynamique (avec
texte) pour chacun de vos groupes.

En-têtes dynamiques pour groupes basés sur une formule


Lorsque vous créez un groupe et utilisez un champ de formule en tant que champ
de tri et de groupement, le programme crée automatiquement un champ Nom de
groupe basé sur la valeur renvoyée par la formule.
Si, par exemple, vous créez la formule suivante :
{Client.NOM DU CLIENT}[1]
et que vous effectuez un groupement sur la formule, le programme groupe vos
données selon la première lettre du champ Nom de client.
Pour créer un en-tête de groupe dynamique pour un groupe basé sur une formule,
insérez simplement le champ Nom de groupe dans la section En-tête de groupe.
Quand vous exécutez l'état, l'en-tête du groupe “ A ” est “ A ”, l'en-tête du groupe
“ B ” est “ B ”, et ainsi de suite. Reportez-vous aux sections “Grouper sur la base de
la première lettre du nom d’entreprise” à la page 158 et “Comment grouper des
données en intervalle” à la page 154.
Pour créer un en-tête plus parlant, tel que “ Clients dont le nom commence par la
lettre B ”, reportez-vous à la section “Nom de groupe avec texte” à la page 173.

174 Crystal Reports Guide de l’utilisateur


scr8.book Page 175 Monday, April 2, 2001 12:29 PM

9 : Tris, groupements et calculs de totaux

En-têtes pour groupes personnalisés


Le dernier type d'en-tête est un en-tête pour les types de groupes personnalisés
créés lorsque les données sont groupées dans un ordre spécifique. Lorsqu'on
utilise un groupement selon un ordre spécifique, le nom de chaque groupe et les
enregistrements qui lui appartiennent sont spécifiés. Comme dans les autres
situations de groupement, le programme crée un champ Nom de groupe pour
chaque groupe en fonction des noms de groupe spécifiés.

Pour créer un en-tête pour des groupes personnalisés


1 Choisissez la commande Objet champ du menu Insérer.
2 Dans la boîte de dialogue Explorateur de champs, développez le dossier
Champs Nom de groupe.
3 Cliquez deux fois sur le champ Nom de groupe pour le groupe personnalisé et
faites-le glisser dans la section En-tête de groupe pour ce groupe.
Le programme applique automatiquement chacun des noms de groupe que vous
avez affectés aux groupes appropriés.
Remarque : Assurez-vous que, lorsque vous affectez les noms aux groupes à
l'aide de la boîte de dialogue Définir un groupe nommé, les noms que vous
affectez sont ceux que vous voulez voir s'afficher en tant qu'en-têtes de groupe.

Suppression d'en-têtes de groupes


Vous avez la possibilité de masquer les en-têtes de groupe dans votre état.

Pour supprimer des en-têtes de groupe


1 Cliquez avec le bouton droit sur l'en-tête de groupe et sélectionnez Format du
champ.
2 Dans l'onglet Commun de l'Editeur de format, cochez la case Supprimer.

Crystal Reports Guide de l’utilisateur 175


scr8.book Page 176 Monday, April 2, 2001 12:29 PM

En-têtes de groupe

3 Cliquez sur OK.


Truc : Pour afficher de nouveau l'en-tête de groupe, désactivez la case à cocher
Supprimer.

Exploration des en-têtes de groupes


Pour améliorer la lisibilité de l'état, vous pouvez cacher les détails et rendre
visibles uniquement les en-têtes de groupe. En fonction des besoins, vous pourrez
cliquer sur l'en-tête de groupe pour afficher les détails de l'état.

Pour effectuer une exploration sur les en-têtes de groupe


1 Cliquez avec le bouton droit sur la section grise Détails sur la gauche de l'état.
2 Sélectionnez Masquer (avec exploration).
3 Cliquez sur Actualiser.
Quand vous placez le curseur sur un en-tête de groupe, il se transforme en loupe.
4 Cliquez deux fois sur l'en-tête de groupe pour explorer les informations
détaillées.

Sujets connexes
“Comment explorer des données résumées” à la page 102.

176 Crystal Reports Guide de l’utilisateur


scr8.book Page 177 Monday, April 2, 2001 12:29 PM

Totaux cumulés 10

Les totaux cumulés constituent un moyen souple et


puissant pour créer des résumés spécialisés et des totaux
qui s'incrémentent continuellement.
Ce chapitre vous montre comment ajouter un total cumulé
de base et un total cumulé dans un groupe de votre état.
Vous apprendrez aussi à créer des totaux cumulés
conditionnels et des totaux cumulés en utilisant des
formules.

Crystal Reports Guide de l’utilisateur 177


scr8.book Page 178 Monday, April 2, 2001 12:29 PM

Comprendre les totaux cumulés

Comprendre les totaux cumulés


Les champs Total cumulé sont pareils aux champs de résumé, mais permettent
plus de contrôle sur le calcul du total et le moment de sa réinitialisation. Les
champs Total cumulé sont spécifiquement conçus pour effectuer les fonctions de
totalisation suivantes :
 montrer l’accumulation de la valeur d’un total pendant que le total est calculé
enregistrement par enregistrement,
 totaliser indépendamment du groupement de l’état,
 totaliser conditionnellement une valeur,
 totaliser une valeur après qu’une formule de sélection de groupes a été
appliquée, et
 totaliser une valeur de la table source d’une relation un-à-plusieurs.

Fonctionnement des totaux cumulés


Vous pouvez créer un champ total cumulé à l’aide de l’Expert Total cumulé. Cet
expert crée un champ total cumulé en vous demandant de sélectionner un champ
à résumer, l’opération de résumé à utiliser, une condition sur laquelle l’évaluation
sera basée et une autre pour baser la réinitialisation de l’évaluation.
Remarque : un champ total cumulé peut être utilisé pour calculer un total sur
n'importe quel champ de base de données ou de formule à un passage, mais vous
ne pouvez pas l’utiliser sur des formules à deux passages ou sur des formules
basées sur des formules à deux passages. Pour plus d'informations, consultez
“Organigramme multi-passages” à la page 692.

Placement des champs de total cumulé


Le calcul d’un champ Total cumulé n’est pas affecté par son emplacement dans un
état, sa performance dépend complètement des paramètres définis dans l’Expert
Total cumulé. Cependant, l'endroit où vous placez le total cumulé a une incidence
sur la valeur qui est renvoyée. Par exemple, si un champ Total cumulé évalue
chaque enregistrement et ne se réinitialise jamais (total général) dans l'en-tête
d'état, seule la valeur correspondant au premier enregistrement apparaît. Si vous
placez le même champ Total cumulé dans le pied d'état, vous obtenez la valeur
souhaitée. Le champ Total cumulé est calculé correctement dans les deux cas, mais
s'affiche trop tôt dans le premier.

178 Crystal Reports Guide de l’utilisateur


scr8.book Page 179 Monday, April 2, 2001 12:29 PM

10 : Totaux cumulés

La liste suivante répertorie les sections de l'état et les enregistrements utilisés par
le total cumulé.
En-tête d'état Renvoie le premier enregistrement de l'état.
En-tête de page Crée un total cumulé des enregistrements jusqu'au
premier de la page actuelle, en incluant celui-ci.
En-tête de groupe Crée un total cumulé des enregistrements du
groupe actuel, jusqu'au premier inclus.
Détails Crée un total cumulé pour tous les
enregistrements.
Pied de page de groupe Crée un total général pour chaque groupe.
Pied de page (général) Crée un total cumulé des enregistrements jusqu'au
premier de la page suivante, en incluant celui-ci.
Pied de page d'état Crée un total général qui inclut tous les
enregistrements.

Création de totaux cumulés


Créer des totaux cumulés dans une liste
Les totaux cumulés sont en général affichés enregistrement par enregistrement. Ils
additionnent tous les enregistrements (dans l'état, le groupe, etc.) jusqu'à
l'enregistrement courant inclus.
La forme la plus courante est le total cumulé simple géré par l'intermédiaire d'une
liste. Dans ce didacticiel, vous allez créer un état de ce type à l'aide d'un total
cumulé que vous définirez pour une liste de valeurs de commande.
Remarque : les champs de totaux cumulés sont précédés du signe #.

Pour créer des totaux cumulés dans une liste


1 Pour commencer, créez un état en utilisant l’exemple de base de données,
Xtreme.mdb. Liez les tables Clients et Commandes et placez les champs
suivants de gauche à droite dans la section Détails :
{Client.NOM DU CLIENT}
{commandes.ID COMMANDE}
{commandes.MONTANT DE LA COMMANDE}
2 Dans le menu Inssérer, cliquez sur Objet Champ.
La boîte de dialogue de l'Explorateur de champs apparaît.
3 Sélectionnez Champs Total cumulé, puis cliquez sur Nouveau.
La boîte de dialogue Créer un champ Total cumulé s'affiche.
4 Entrez le nom “ Total de commandes ” dans la zone modifiable Nom du total
cumulé.

Crystal Reports Guide de l’utilisateur 179


scr8.book Page 180 Monday, April 2, 2001 12:29 PM

Création de totaux cumulés

5 Sélectionnez {commandes.MONTANT DE COMMANDE} à partir de la zone


de liste Champs et tables disponibles et utilisez la première flèche pour entrer
ce champ dans la zone modifiable Champ à résumer.
6 Sélectionnez Somme de la zone de liste déroulante Type de résumé.
7 Dans la section Evaluer de la boîte de dialogue, cliquez sur l’option Sur
changement de champ et sélectionnez {commandes.ID COMMANDE} en tant
que champ Sur changement de.
Le total cumulé s’exécutera chaque fois que ce champ change.
8 Dans la section Réinitialiser de la boîte de dialogue, cliquez sur l’option
Jamais ; cela vous donne un total cumulé qui n’est jamais réinitialisé, le total
cumulé continue dans l’état.
9 Cliquez sur OK pour enregistrer le champ Total cumulé.
Le programme vous renvoie à la boîte de dialogue Explorateur de champs.
10 Insérez le champ Total cumulé dans la section Détails de votre état, juste à
droite de {commandes.MONTANT DE COMMANDE}.

La valeur de chaque enregistrement est ajoutée à


la somme des valeurs précédentes de l'état.

Le cumul est effectué pour


toutes les commandes.

180 Crystal Reports Guide de l’utilisateur


scr8.book Page 181 Monday, April 2, 2001 12:29 PM

10 : Totaux cumulés

Créer un total cumulé pour un groupe


Une autre utilisation fréquente des totaux cumulés concerne le pointage
d'éléments dans un groupe. Le total cumulé démarre au premier élément du
groupe et se termine avec le dernier. Ensuite, il recommence à nouveau pour le
groupe suivant, et ainsi de suite.
Dans l’exemple suivant, vous allez créer un état qui :
 comprend le total cumulé des commandes passées par les clients ;
 groupe les commandes clients et réinitialiser le total cumulé pour chaque
groupe ;
 affiche le sous-total pour chaque commande (le dernier total cumulé pour cette
commande).

Pour créer un total cumulé pour un groupe


1 Commencez par créer un état en utilisant les données exemple de
Xtreme.mdb.
Liez les tables Clients et Commandes et placez les champs suivants de gauche
à droite dans la section Détails :
{Client.NOM DU CLIENT}
{commandes.ID COMMANDE}
{commandes.MONTANT DE LA COMMANDE}
2 Dans le menu Insérer, cliquez sur Groupe, et groupez sur le champ
{client.NOM DU CLIENT}.
3 Dans le menu Inssérer, cliquez sur Objet Champ
La boîte de dialogue de l'Explorateur de champs apparaît.
4 Sélectionnez Champs total cumulé, puis cliquez sur Nouveau.
La boîte de dialogue Créer un champ Total cumulé s'affiche.
5 Entrez le nom “ Total cumulé de groupe ” dans la zone modifiable Nom du
total cumulé.
6 Sélectionnez {commandes.MONTANT DE COMMANDE} à partir de la zone
de liste Tables et champs disponibles et utilisez la première flèche pour entrer
ce champ dans la zone modifiable Champ à résumer.
7 Sélectionnez Somme de la zone de liste déroulante Type de résumé.
8 Dans la section Evaluer de la boîte de dialogue, cliquez sur l’option Pour
chaque enregistrement.
9 Dans la section Réinitialiser de la boîte de dialogue, choisissez l’option Sur
changement de groupe et acceptez le nom de groupe par défaut.
10 Cliquez sur OK pour enregistrer le champ Total cumulé.
Vous revenez alors à la boîte de dialogue de l'Explorateur de champs.

Crystal Reports Guide de l’utilisateur 181


scr8.book Page 182 Monday, April 2, 2001 12:29 PM

Création de totaux cumulés

11 Insérez le champ total cumulé dans la section Détails de votre état, à droite du
champ {commandes.MONTANT DE COMMANDE}.
Remarque : si vous voulez afficher un total général de chaque groupe, placez
le champ total cumulé dans la section Pied de groupe de votre état.

Comment créer un total cumulé conditionnel


Il peut arriver que vous ayez à calculer la somme d'un certain nombre de valeurs
ne formant pas un groupe. Par exemple :
 vous avez une liste de clients américains et canadiens,
 vous ne voulez pas changer le classement alphabétique par nom,
 vous ne voulez pas scinder les enregistrements en deux groupes selon le pays,
mais
 vous vouliez savoir quel est le total réalisé par les Canadiens, et
 celui réalisé par les Américains. Pour faire ceci, il faudra créer deux totaux
cumulés :
un pour suivre les enregistrements des USA et un pour suivre les enregistrements
canadiens.
 USTotal
Gère un total cumulé des enregistrements américains.
 CanadaTotal
Gère un total cumulé des enregistrements canadiens.

Pour créer un total cumulé conditionnel


1 Commencez par créer un état en utilisant les données exemple de
Xtreme.mdb. Positionnez les champs suivants de gauche à droite dans la
section Détails:
{Client.NOM DU CLIENT}
{client.PAYS}
{client.VENTES DE L’ANNEE PRECEDENTE}
2 Dans le menu Etat, cliquez sur Tri des enregistrements.
Truc : Vous pouvez également effectuer cette opération en cliquant sur le
bouton Trier de la barre d’outils Standard.
3 Triez les enregistrements basés sur le champ : {client.NOM DU CLIENT}.
4 Dans le menu Inssérer, cliquez sur Objet Champ.
La boîte de dialogue de l'Explorateur de champs apparaît.

182 Crystal Reports Guide de l’utilisateur


scr8.book Page 183 Monday, April 2, 2001 12:29 PM

10 : Totaux cumulés

5 Sélectionnez Champs total cumulé, puis cliquez sur Nouveau.


La boîte de dialogue Créer un champ Total cumulé s'affiche.
6 Entrez le nom “ USTotal ” dans la zone modifiable Nom du total cumulé.
7 Sélectionnez {client.VENTES DE L’ANNEE PRECEDENTE} de la zone de liste
Champs et tables disponibles et utilisez la première flèche pour entrer ce
champ dans la zone modifiable Champ à résumer.
8 Sélectionnez Somme de la zone de liste déroulante Type de résumé.
9 Dans la section Evaluer de la boîte de dialogue, cliquez sur Utiliser une
formule et cliquez sur le bouton formule.
L’Editeur de formule de condition de total cumulé s’affiche.
10 Entrez la formule suivante dans la zone modifiable Texte de formule :
{client.PAYS} = “USA"
Cela indique au logiciel qu’il doit évaluer le total cumulé chaque fois qu’un
enregistrement de {client.PAYS} est égal à “ USA ”. Le total cumulé ignorera
tous les autres enregistrements tels ceux du Canada.
11 Une fois que la syntaxe de la formule est correcte, cliquez sur Enregistrer et
Fermer.
Vous revenez à la boîte de dialogue Créer un champ Total cumulé.
12 Dans la section Réinitialiser de la boîte de dialogue, cliquez sur l’option
Jamais.
13 Cliquez sur OK pour enregistrer le champ Total cumulé.
Le programme vous renvoie à la boîte de dialogue Explorateur de champs.
14 Insérez le champ Total cumulé dans la section Détails de votre état.
15 Créez ensuite le champ Total cumulé CanadaTotal en suivant le processus
décrit dans les étapes 3 à 13. La seule différence est que cette fois-ci vous
définirez la formule dans la section Evaluation à :
{client.PAYS} = "Canada"
16 Lorsque vous avez terminé, insérez le champ #CanadaTotal dans la section
Détails de votre état juste à droite du champ {client.VENTES DE L’ANNEE
PRECEDENTE}.
17 Si vous voulez seulement voir un total général des ventes canadiennes et
américaines, placez dans la section Pied d'état de votre état les deux champs
total cumulé que vous avez créés.

Crystal Reports Guide de l’utilisateur 183


scr8.book Page 184 Monday, April 2, 2001 12:29 PM

Création de totaux cumulés

Créer un total cumulé dans une relation de liaison un-à-plusieurs


L'expression “ état A à B, A à C ” désigne un état dans lequel une même table
principale est liée à deux autres tables (consultez “Méthodes de consultation des
tables (bases de données à accès direct)” à la page 553). Cependant, dans un état A
à B, A à C au sens strict, c'est le même champ A qui sert à établir la liaison avec B et C.
Il arrive fréquemment dans ce type de relation stricte A à B, A à C, que l'une des
deux tables B ou C contienne plus d'enregistrements que l'autre. Si vous groupez
ces enregistrements sur la base d'un champ de la table principale, les valeurs de la
table la plus petite apparaissent plusieurs fois, pour chacun des enregistrements de
la table la plus grande. La table suivante représente une relation A à B, A à C. La
table Client est liée à la table Crédit et encore à la table Commandes. Notez que
Martin n'ayant qu'un numéro de crédit pour deux commandes, le numéro de
crédit et son montant se retrouvent associés aux deux commandes.

Nom ID Crédit Montant de ID Montant de


crédit Commande commandes
Martin 1 -10.00 1 10.00
Martin 1 -10.00 2 12.00

Dupont 2 -23.00 3 20.00


Dupont 3 -45.00 4 30.00
Dans l'exemple, un sous-total standard a été utilisé pour le champ Montant de
commande et pour le champ Montant de crédit. C'est pourquoi, le crédit unique de
Martin est compté deux fois et le sous-total affiche une valeur incorrecte (20,00).

Montant de ID Montant de
Nom ID Crédit crédit Commande commandes
Martin 1 -10.00 1 10.00
Martin 1 -10.00 2 12.00
-20.00 22.00

Dupont 2 -23.00 3 20.00


Dupont 3 -45.00 4 30.00
-68.00 50.00
Remarque : notez que le total Montant de crédit de Martin est faux.
Le même problème se produirait avec le champ MONTANT DE COMMANDE si,
par exemple, Martin avait contracté deux crédits et passé une seule commande. Pour
éviter cela, il suffit de créer une formule pour chacun des deux champs à cumuler.

184 Crystal Reports Guide de l’utilisateur


scr8.book Page 185 Monday, April 2, 2001 12:29 PM

10 : Totaux cumulés

Création de totaux cumulés à l'aide d'une formule


Si vous avez supprimé des données, ou si vos données sont basées sur une formule
qui est évaluée lors de l'impression des enregistrements (WhilePrintingRecords),
vous devez créer une formule total cumulé plutôt que d'utiliser l'Expert Sélection
total cumulé.
Lorsque vous créez un total cumulé manuellement, il vous faut créer trois
formules :
 une formule de résumé,
 une formule de réinitialisation pour remettre une variable à zéro,
 une formule d'affichage pour afficher la variable.
Dans la procédure suivante, vous allez créer un état qui accomplit les fonctions
suivantes :
 comprend le total cumulé des commandes passées par les clients,
 groupe les commandes clients et réinitialiser le total cumulé pour chaque
groupe,
 affiche le sous-total pour chaque commande (le dernier total cumulé pour cette
commande).

Pour créer des totaux cumulés à l'aide d'une formule


1 Création d'un état à l'aide des données exemple de Xtreme.mdb. Liez les tables
Clients et Commandes et placez les champs suivants de gauche à droite dans
la section Détails :
{Client.NOM DU CLIENT}
{commandes.ID COMMANDE}
{commandes.MONTANT DE LA COMMANDE}
2 Choisissez la commande Objet champ du menu Insérer.
3 Sélectionnez Champs de formule dans la boîte de dialogue de l’Explorateur de
champs et cliquez sur Nouveau.
4 Nommez la formule TotalCumulé et cliquez sur OK.
5 Entrez les lignes suivantes dans l'Editeur de formule :
WhilePrintingRecords;
CurrencyVar Montant;
Montant := Montant + {commandes.MONTANT DE COMMANDE};
6 Cliquez sur Enregistrer et fermer.
7 Placez cette formule dans la section Détails de votre état, sur la droite du
champ {commandes.MONTANT DE COMMANDE}.
Cette formule imprime le total cumulé des valeurs du champ Montant de
commande.

Crystal Reports Guide de l’utilisateur 185


scr8.book Page 186 Monday, April 2, 2001 12:29 PM

Création de totaux cumulés à l'aide d'une formule

8 Dans le menu Insérer, cliquez sur Groupe et groupez l'état sur le champ
{client.NOM DU CLIENT}.
9 Dans l'Editeur de formule, créez la formule RéinitMontant :
WhilePrintingRecords;
CurrencyVar Montant := 0;
Cette formule signifie:
Donner la valeur 0 à la variable Montant.
10 Placez cette formule dans la section En-tête de groupe nº 1 de votre état.
Etant donné que la section En-tête de groupe nº 1 ne s'affiche qu'une fois pour
chaque groupe, la formule @RéinitMontant s'exécutera à chaque changement
de groupe. Ainsi, la variable Montant est réinitialisée à 0 chaque fois qu'un
nouveau groupe commence.
11 Sélectionnez la formule @RéinitMontant dans l'état et utilisez l'Editeur de
format pour la supprimer pour qu'elle n'apparaisse pas lors de l'impression
finale.
12 Dans l'Editeur de formule, créez la formule AfficherMontant :
WhilePrintingRecords;
CurrencyVar Montant;
Cette formule affiche simplement la valeur actuelle de la variable Montant à
tout moment.
13 Placez cette formule dans la section Pied de groupe nº 1 de votre état.
Etant donné que la section Pied de groupe nº 1 ne s'affiche qu'une fois pour
chaque groupe, la formule @AfficherMontant s'exécutera chaque fois qu'un
groupe se termine. Ainsi, la valeur stockée dans la variable Montant sera
imprimée lors de chaque changement de groupe.

Remarque : cette formule imprime la même valeur que celle imprimée par
@TotalCumulé en tant que total cumulé pour le dernier enregistrement de
chaque groupe. Toutefois, comme l'impression se fait dans la section Pied de
groupe, la formule agit comme un pied de groupe et non comme un total cumulé.

186 Crystal Reports Guide de l’utilisateur


scr8.book Page 187 Monday, April 2, 2001 12:29 PM

10 : Totaux cumulés

Vos résultats doivent ressembler à l'état ci-dessous :

La valeur de
chaque
enregistrement
est ajoutée à la
somme des
valeurs
précédentes de
l'état.

Le total
cumulé
recommence à
zéro pour
chaque
nouveau
groupe.

Le total
Cet état affiche cumulé final
le total cumulé pour chaque
dans chaque groupe devient
groupe. le sous-total
pour ce
groupe (total
de l'en-tête).

Crystal Reports Guide de l’utilisateur 187


scr8.book Page 188 Monday, April 2, 2001 12:29 PM

Création de totaux cumulés à l'aide d'une formule

188 Crystal Reports Guide de l’utilisateur


scr8.book Page 189 Monday, April 2, 2001 12:29 PM

Etats à plusieurs sections 11

Ce chapitre présente les divers types d'états sophistiqués


que vous pouvez créer à l'aide des fonctions de création
d'états à plusieurs sections de Crystal Reports. Ces
fonctions vous permettent de créer des états qui traitent
différemment les valeurs individuelles en fonction de jeux
de critères que vous établissez. Ces concepts sont ensuite
appliqués à la création de lettres types.

Crystal Reports Guide de l’utilisateur 189


scr8.book Page 190 Monday, April 2, 2001 12:29 PM

A propos des sections

A propos des sections


Crystal Reports propose cinq zones de conception à utiliser pour la création d'état:
 En-tête d'état
 En-tête de page
 Détails
 Pied de page d'état
 Pied de page.

Chaque zone contient une seule section lorsque vous créez un nouvel état. Vous ne
pouvez supprimer aucune de ces sections d'origine mais vous pouvez en ajouter.
Une fois que vous avez ajouté des sections, vous pouvez les supprimer, les déplacer
par rapport à d'autres sections semblables ou encore fusionner des sections liées.

Travail sur les sections


Insertion d'une section
1 Cliquez sur Expert Section dans la barre d'outils standard.
L'Expert Section s'affiche avec une liste de toutes les sections de l'état. Lorsqu'il
y a plus d'une section d'un même type, elles sont différenciées par une lettre A,
B, C, etc.
Remarque : Le programme ne permet que les options (Formulaire libre,
Nouvelle page avant, etc.) qui s'appliquent à la section mise en surbrillance.
2 Mettez en surbrillance la section après laquelle vous voulez insérer une autre
section.
3 Cliquez sur Insérer.
Une nouvelle section est insérée immédiatement sous la section mise en
surbrillance.

190 Crystal Reports Guide de l’utilisateur


scr8.book Page 191 Monday, April 2, 2001 12:29 PM

11 : Etats à plusieurs sections

Remarque : Vous pouvez également insérer des sections en cliquant avec le


bouton droit sur la zone ombrée à gauche de n'importe quelle section des onglets
Conception ou Aperçu et en choisissant Insérer une section en dessous dans le
menu contextuel.

Suppression d'une section


1 Cliquez sur Expert Section dans la barre d'outils standard.
L'Expert Section s'affiche avec une liste de toutes les sections de l'état. Lorsqu'il
y a plus d'une section d'un même type, elles sont différenciées par une lettre A,
B, C, etc.
Remarque : Le programme ne permet que les options (Formulaire libre,
Nouvelle page avant, etc.) qui s'appliquent à la section mise en surbrillance.
2 Mettez en surbrillance la section que vous voulez supprimer.
3 Cliquez sur Supprimer.
Le programme supprime de l'état la section mise en surbrillance.

Déplacement d'une section


1 Cliquez sur Expert Section dans la barre d'outils standard.
L'Expert Section s'affiche avec une liste de toutes les sections de l'état. Lorsqu'il
y a plus d'une section d'un même type, elles sont différenciées par une lettre A,
B, C, etc.
Remarque : Le programme ne permet que les options (Formulaire libre,
Nouvelle page avant, etc.) qui s'appliquent à la section mise en surbrillance.
2 Mettez en surbrillance la section à déplacer.
3 Cliquez sur la flèche Haut ou Bas pour déplacer la section.

Crystal Reports Guide de l’utilisateur 191


scr8.book Page 192 Monday, April 2, 2001 12:29 PM

Travail sur les sections

4 La section (C) étant sélectionnée, cliquez deux fois sur la flèche Haut.

Les données qui se trouvaient dans la Section (C) sont transférées dans Section
(A). Les données des autres sections sont déplacées vers le bas.

Remarque :
 Vous ne pouvez faire monter ou descendre une section qu'à l'intérieur d'une zone.
 Les lettres identifiant les sections décrivent leur position relative dans la zone.
Ainsi, si vous remontez d'un rang la section “ C ”, elle devient la section “ B ”.
Elle perd son nom d'origine “ C ”.

Fusion de deux sections liées


Supposons que vous vouliez imprimer les objets figurant dans deux sections
différentes (où ils seront imprimés séquentiellement) dans les mêmes conditions et
avec la même fréquence. Il suffit pour cela de fusionner ces sections (vous pourrez
ensuite réorganiser les objets à votre gré).

Fusionner deux sections liées


1 Cliquez sur Expert Section dans la barre d'outils standard.
L'Expert Section s'affiche avec une liste de toutes les sections de l'état. Lorsqu'il
y a plus d'une section d'un même type, elles sont différenciées par une lettre A,
B, C, etc.
Remarque : Le programme ne permet que les options (Formulaire libre,
Nouvelle page avant, etc.) qui s'appliquent à la section mise en surbrillance.
2 Placez les sections à fusionner l'une en dessous de l'autre dans la liste.
3 Mettez en surbrillance la section du haut.

192 Crystal Reports Guide de l’utilisateur


scr8.book Page 193 Monday, April 2, 2001 12:29 PM

11 : Etats à plusieurs sections

4 Sélectionnez la section (B), cliquez sur le bouton Fusionner. Les deux sections
.

(B) et (C) n'en font plus qu'une.

5 Réorganisez les objets si nécessaire.

Découper et redimensionner une section


Depuis l'onglet Conception, vous pouvez diviser une section en deux sections ou
plus, et modifier sa taille.

Division d'une section


1 Placez le curseur sur la limite gauche de la section à diviser.
2 Dès que le curseur se change en curseur séparateur de section, cliquez sur la
limite.
3 Lorsque la ligne horizontale apparaît, faites-la glisser vers le bas ou vers le
haut pour diviser la section.

Redimensionnement d'une section


1 Amenez le curseur sur la limite inférieure de la section à redimensionner.
2 Quand le curseur change de forme, cliquez et faites glisser la limite vers le haut
ou vers le bas jusqu'à l’obtention de la taille souhaitée.

Crystal Reports Guide de l’utilisateur 193


scr8.book Page 194 Monday, April 2, 2001 12:29 PM

Utiliser plusieurs sections dans un état

Redimensionnement d’une section pour supprimer les espaces blancs


Si la section contient un ou plusieurs objets et si vous voulez supprimer l'espace
vierge superflu, cliquez avec le bouton droit dans la partie grise à gauche de la
section dans les onglets Conception et Aperçu et sélectionnez l'option Ajuster la
section dans le menu contextuel qui s'affiche. Le logiciel remonte automatiquement
la limite inférieure de la section et la place sur le guide du dernier objet.

Remontez le curseur pour


réduire la taille de la
section du dessus.

Descendez le curseur
pour augmenter la taille
de la section du dessus.

La taille d'une section augmente automatiquement verticalement dans les deux cas
suivants :
 lorsque vous y ajoutez un objet plus grand (verticalement) que la section
concernée,
 lorsque vous augmentez la taille d'un objet (verticalement) de sorte qu'il
dépasse la hauteur de la section.
Remarque : Vous ne pouvez pas donner à une section une taille inférieure à celle
de l'un de ses objets.

Utiliser plusieurs sections dans un état


Certaines tâches de création d'état se font plus efficacement si vous créez plusieurs
sections dans une zone, comme par exemple :
 éviter le chevauchement mutuel d'objets de longueur variable (voir “Comment
éviter le chevauchement des objets de longueur variable” à la page 195)

194 Crystal Reports Guide de l’utilisateur


scr8.book Page 195 Monday, April 2, 2001 12:29 PM

11 : Etats à plusieurs sections

 mettre en forme des objets de façon conditionnelle (voir “Mise en forme


conditionnelle des objets” à la page 196)
 faire alterner les couleurs d'arrière-plan pour les lignes (voir “Alterner la
couleur de fond des lignes” à la page 197)
 supprimer les lignes vides lorsque les champs sont vides (voir “Comment
éliminer des lignes vides” à la page 198)
 ajouter des lignes vides sous certaines conditions (voir “Comment ajouter des
lignes vides conditionnellement” à la page 199).
Vous apprendrez dans ce chapitre à effectuer ces opérations, et comprendrez ainsi
tout l'intérêt des états à sections multiples.

Sujets connexes
“Travail sur les sections” à la page 190.

Comment éviter le chevauchement des objets de longueur variable


Il peut arriver qu'un objet de longueur variable (par exemple un sous-état), placé
au-dessus d'autres objets de la même section, chevauche les objets en question si sa
propriété Taille modulable est active dans l'Editeur de format. Pour éviter ce problème,
vous pouvez :
 ajuster la taille de la section pour tenir compte de la taille maximale de cet objet,
 lui laisser suffisamment de place pour qu'il puisse s'imprimer avant le début
du suivant.
Vous pouvez éliminer le problème de chevauchement en créant des sections
multiples dans une zone et en plaçant les objets sous l’objet à taille variable dans
leurs propres sections.

A l'exécution, le logiciel termine l'impression de la section de l'objet de longueur


variable avant de commencer celle de la suivante. Voir “Combinaison de plus de
deux états indépendants” à la page 532.
Remarque : Ce problème de surimpression peut apparaître également avec des
champs Mémo et BLOB, et des sous-états.

Crystal Reports Guide de l’utilisateur 195


scr8.book Page 196 Monday, April 2, 2001 12:29 PM

Utiliser plusieurs sections dans un état

Mise en forme conditionnelle des objets


Il est possible de créer un état qui utilise différents formats en fonction de la valeur
d'un champ. Vous pouvez, par exemple, créer un état international qui imprime
des valeurs monétaires pour chaque pays dans le format en vigueur dans ce pays.
C'est possible en utilisant plusieurs sections.

Pour mettre en forme des objets de façon conditionnelle


1 Créez un état. Voir “Création de l’état” à la page 41. Assurez-vous que votre
état contient le champ Ventes de l'année précédente de la table Client.
2 Créez une section Détails pour chaque pays qui requiert un format unique.
Voir “Travail sur les sections” à la page 190.
3 Vérifiez que chacune des sections Détails contient les même données; chaque
champ que vous placez dans la section Détails A doit aussi être placé dans la
section Détails B, dans la section Détails C, etc.
4 Dans la section Détails A, sélectionnez le champ Ventes de l'année précédente
puis cliquez sur Format dans la barre d'outils supplémentaire.
L'Editeur de format s'affiche et montre l'onglet Nombre.
5 Définissez le style monétaire que vous voulez utiliser pour le premier pays.
6 Cliquez sur OK pour revenir à l’état.
7 Cliquez sur Expert Section dans la barre d'outils standard.
L'Expert Section s'affiche.
8 Sélectionnez la section Détails A dans la zone Sections. Sélectionnez la case à
cocher Supprimer (sans exploration).
9 Cliquez sur le bouton Formule conditionnelle à droite de la case à cocher
Supprimer (sans exploration) et utilisez l'Editeur de format de formule pour
créer une formule qui spécifie les conditions dans lesquelles la section devra
être supprimée.
Par exemple, si la section Détails A contient des valeurs monétaires pour le
Royaume-Uni, vous pouvez créer une formule spécifiant que la valeur du pays
n'est pas égale à “ Royaume-Uni ”. En d'autres termes, vous créez une formule
qui supprime la section lorsque la valeur du pays n'est pas “ Royaume-Uni ”.
De ce fait, la section ne s'imprime que si l'enregistrement contient la valeur
“ Royaume-Uni ”.
10 Répétez les étapes 4 à 9 pour chaque section supplémentaire.
Désormais, lorsque l'état est imprimé, la date et les données monétaires de chaque
pays s'affichent dans le format attendu pour le pays en question. Voir “Mise en
forme conditionnelle” à la page 250.

196 Crystal Reports Guide de l’utilisateur


scr8.book Page 197 Monday, April 2, 2001 12:29 PM

11 : Etats à plusieurs sections

Alterner la couleur de fond des lignes


Un autre avantage des sections multiples est la faculté de faire varier la couleur
d'arrière-plan en alternance d'une ligne à l'autre pour la section Détails d'un état,
afin d'en améliorer la lisibilité (à la manière d'un papier pour listing à barres vertes).

Alterner la couleur de fond des lignes


1 A l’aide de l'Expert Section, ajoutez une deuxième section Détails. Vous
disposez à présent des deux sections A et B. Voir “Travail sur les sections” à la
page 190.
2 Alors que vous êtes toujours dans l’Expert Section, sélectionnez la section
Détails A dans la liste Sections, cliquez sur l'onglet Couleur et choisissez la
couleur d’arrière-plan Blanc.
3 Cliquez sur l'onglet Commun, puis sur le bouton Formule conditionnelle
placé à droite de l'option Supprimer (sans exploration). Saisissez la formule
suivante dans la fenêtre de l'Editeur de formule:
Remainder (RecordNumber,2)<>0
A l'exécution de l'état, le programme divise les numéros d'enregistrement
successifs par 2 et supprime la section Détails A (Da) si le reste est différent de
zéro (c'est-à-dire pour tous les enregistrements impairs).
4 Cliquez sur Enregistrer et fermer.
5 Sélectionnez la section Détails B (Db) et choisissez la police italique.
6 En utilisant la technique décrite dans l’étape 3, définissez la propriété
conditionnelle Supprimer (sans exploration) pour cette section à l’aide de la
formule suivante :
Remainder(RecordNumber,2) = 0
Cette formule divise le numéro de l’enregistrement par deux. Si le reste est égal
à zéro (ce qui est le cas de chaque enregistrement pair), le système demande au
programme de supprimer la section.
7 Créez votre état de telle sorte que les sections Détails A et B soient identiques.
En d'autres termes, tout objet placé dans Détails A doit également figurer dans
Détails B.
Le programme imprimera toutes les lignes paires sur fond blanc et toutes les lignes
impaires sur fond vert.

Crystal Reports Guide de l’utilisateur 197


scr8.book Page 198 Monday, April 2, 2001 12:29 PM

Utiliser plusieurs sections dans un état

Comment éliminer des lignes vides


Certaines tables de bases de données contiennent deux champs pour l'adresse, le
premier (Adresse1) avec le nom de la rue et le numéro, le second (Adresse2) pour
préciser un étage, un nom de bâtiment, etc. Adresse 1 contient généralement une
valeur, alors que Adresse 2 est souvent vide. Si vous créez une liste en plaçant
simplement ces deux champs l'un à la suite de l'autre, le programme imprime une
ligne vide pour chaque client dont la seconde ligne d'adresse est restée vide. Pour
éliminer la ligne vide, vous pouvez soit utiliser des sections multiples, soit
supprimer les lignes vides.

Pour éliminer les lignes vides à l'aide de sections multiples


1 A l’aide de l’Expert Section, ajoutez deux nouvelles sections Détails (il y en a
donc trois). Voir “Travail sur les sections” à la page 190.
2 Placez le champ Adresse2 dans la section du milieu et les autres champs dans
les sections du haut ou du bas à votre gré.
3 Dans l'Expert Section, mettez en surbrillance la section du milieu.
4 Dans l'onglet Commun, sélectionnez la case à cocher Supprimer les sections
vides.
A chaque fois que la seconde ligne d'adresse ne contiendra aucune indication, la
section du milieu sera vide. Elle ne sera pas imprimée et vous n'aurez pas de lignes
vides.

Pour supprimer les lignes vides dans les champs imbriqués


1 Ouvrez l'état dans l'onglet Conception et cliquez sur l'objet approprié (c'est-à-
dire l'objet texte qui entraîne l'affichage de ligne vide dans certains états).
Truc : Pour vous assurer que vous avez sélectionné un objet texte, vérifiez que
le mot Texte apparaît dans la barre d'état dans l'angle inférieur gauche de
l'écran.
2 Cliquez sur l'objet texte avec le bouton droit de la souris, puis sélectionnez
Format du texte dans le menu contextuel.
3 Sélectionnez l'option Supprimer lignes vides dans champs imbriqués de
l'Editeur de format, puis cliquez sur OK.
Désormais, les champs imbriqués non renseignés ne donneront plus lieu à
l'apparition d'une ligne vide dans l'état imprimé. Utilisez l'onglet Aperçu pour
confirmer vos modifications.

198 Crystal Reports Guide de l’utilisateur


scr8.book Page 199 Monday, April 2, 2001 12:29 PM

11 : Etats à plusieurs sections

Avant de supprimer les lignes Après avoir supprimé les lignes


vides, le champ Adresse2 vides, le champ Adresse2 ne
s’imprime, même s’il est vide. s’imprime pas.

Comment ajouter des lignes vides conditionnellement


La méthode des sections multiples permet également d’imprimer une ligne vide
lorsque certaines conditions sont remplies. Par exemple, insérer une ligne vide
tous les cinq enregistrements dans votre état.

Pour ajouter des lignes vides de façon conditionnelle


1 Utilisez l'Expert Section pour créer deux sections Détails. Voir “Travail sur les
sections” à la page 190.
2 Saisissez des données de l’état dans la section supérieure.
3 Laissez la deuxième section vide.
4 Dans l'Expert Section, mettez en surbrillance la deuxième section.
5 Dans l'onglet Commun, sélectionnez la case à cocher Supprimer (sans
exploration) puis cliquez sur le bouton de mise en forme conditionnelle situé
sur sa droite.
6 Entrez la formule suivante dans l'Éditeur de formule :
Remainder (RecordNumber,5)<>0
Cette formule divise chaque numéro d’enregistrement par 5. Si la division a un
reste, la section vide est supprimée. Si le reste de la division est zéro (ce qui est
le cas pour chaque cinquième enregistrement imprimé), le programme
imprime la deuxième section en y insérant une ligne vide.
Remarque : Si vous souhaitez insérer une ligne vide sous d’autres conditions,
vous pouvez modifier votre formule selon vos propres spécifications. Voir “Mise
en forme conditionnelle” à la page 250.

Crystal Reports Guide de l’utilisateur 199


scr8.book Page 200 Monday, April 2, 2001 12:29 PM

Les lettres types

Les lettres types


Bien que les lettres types elles-mêmes ne soient pas nécessairement des états à
plusieurs sections, elles sont souvent utilisées dans les états à plusieurs sections
pour créer des publipostages personnalisés. La rubrique “Imprimer des messages
conditionnels dans des lettres types” à la page 207 explique comment utiliser
plusieurs lettres types ou plusieurs versions de la même lettre type pour des
publipostages personnalisés.
Les lettres types utilisent souvent des objets texte pour recevoir le contenu de l'état.
Les sections suivantes fournissent une introduction aux objets texte et montrent
comment on peut les utiliser dans des lettres type.

Travailler avec des objets textes


Les nombreuses possibilités offertes par les objets texte vous seront utiles pour la
création de lettres types. Afin de vous aider, une description succincte des objets
textes vous est proposée. Vous devez prendre en compte les éléments suivants :
 un objet texte peut contenir un texte ainsi que des champs ; vous utiliserez les
deux dans l’exemple suivant.
 vous pouvez redimensionner les objets textes de manière à ce qu’ils
s’impriment comme une lettre.
Des objets textes existent en deux modes :
 Mode déplacement/redimensionnement
 Mode édition.

Mode déplacement/redimensionnement
En mode déplacement/redimensionnement, les objets textes apparaissent dans un
cadre en pointillé avec des poignées sur chaque côté.

Dans ce mode, vous pouvez redimensionner l'objet en tirant sur ses poignées, ou
le déplacer en cliquant à l'intérieur du cadre et en l'amenant vers un autre
emplacement. Ce mode permet également d'insérer des champs, mais vous ne
pouvez pas insérer de texte. Vous pouvez activer ce mode de deux façons :
 cliquez sur l'objet texte s'il est inactif, ou
 cliquez sur son cadre lorsqu’il est en mode édition.

200 Crystal Reports Guide de l’utilisateur


scr8.book Page 201 Monday, April 2, 2001 12:29 PM

11 : Etats à plusieurs sections

Mode édition
En mode édition, les objets textes apparaissent dans un cadre en pointillé, sans
poignées mais avec une règle qui apparaît au-dessus ou en-dessous en fonction de
leur position.

Lorsque vous placez un objet texte pour la première fois dans un état, le logiciel
active le mode édition. S'il est inactif ou en mode déplacement/
redimensionnement, cliquez deux fois dessus pour le mettre en mode édition.
Les objets texte disposent de quelques fonctions de traitement de texte, comme le
changement de police des caractères et des champs ainsi que le retour à la ligne
automatique. En mode édition, vous pouvez insérer des objets texte et d'autres types
d'objets tels que les champs de base de données et les formules. Lorsqu'un objet est
en mode édition, il contient un point d'insertion représenté par un trait vertical
clignotant qui indique la position de départ du texte saisi ou des champs insérés.
Le point d’insertion se déplace lorsque vous saisissez du texte en restant à la droite
du dernier caractère. Il se déplace également lorsque vous insérez un champ, tout
en restant à la droite du champ. Il se déplace d’un caractère à la fois lorsque vous
appuyez sur la barre d’espacement. Il se déplace d’une ligne vers le bas à gauche de
l’objet textuel lorsque vous appuyez sur la touche Entrée. La position du curseur se
déplace à l’endroit souhaité lorsque vous cliquez n’importe où dans le texte affiché.
Dans tous les didacticiels liés aux sections multiples, vous allez saisir du texte et
insérer des champs à partir du point d'insertion courant, sauf indication contraire.
 Pour effectuer une opération sur une portion de texte dans un objet texte (pour
le supprimer, modifier sa police, etc.), il suffit de placer le curseur sur le texte à
manipuler et, dès que le curseur en “I” apparaît, de tirer la souris jusqu'à ce
que l’ensemble du texte soit sélectionné.
 Pour sélectionner un champ dans un objet texte, amenez le curseur sur ce champ.
Dès que le curseur en “ I ” apparaît, cliquez avec le bouton droit de la souris.
 Pour insérer un texte, tapez-le et il s'affichera au point d'insertion.

Remarque : Il est important de voir le curseur glisser-déplacer avant d'insérer


le champ. Si celui-ci n'apparaît pas, vous risquez de positionner le champ de
telle manière qu'il chevauche l'objet texte au lieu de s'y insérer. Même s'il
semble se trouver à l'intérieur, il ne se déplace pas lorsque vous déplacez l'objet.
 Le point d'insertion est lié au curseur glisser-déplacer. Si l'objet texte contient
un texte ou des champs existants, le point d'insertion se déplace avec le
curseur glisser-déplacer, ce qui vous permet de choisir avec précision

Crystal Reports Guide de l’utilisateur 201


scr8.book Page 202 Monday, April 2, 2001 12:29 PM

Les lettres types

l'emplacement où vous souhaitez placer le champ. Le programme positionne


toujours le champ au point d'insertion.

Au fur et à
mesure que vous ...le point d'insertion
déplacez le curseur se déplace.

Sujets connexes
“Travailler avec des objets textes” à la page 200.

Création d'une lettre type à l'aide d'un objet texte


La section suivante vous montre comment créer une lettre type.
Vous allez utiliser un objet texte pour créer une lettre type. Cette lettre type sera liée
à une table de base de données de façon à ce que chaque lettre soit personnalisée
avec les informations de la société provenant d'un enregistrement différent.
Si vous rencontrez des difficultés pour effectuer l'une des étapes, veuillez vous
reporter à la section “Travailler avec des objets textes” à la page 200.

Pour créer une lettre type


Cette lettre comportera une date, une adresse de destinataire, une formule de
début de lettre, un paragraphe et une formule de politesse.
1 Créez un nouvel état. Utilisez la table Client de Xtreme.mdb.
L'onglet Conception apparaît avec le champ Base de données placé en
surimpression dans la boîte de dialogue Explorateur de champs.
2 Les titres de champs ne devant pas apparaître dans la lettre au-dessus des
champs eux-mêmes, décocher la case Insérer les titres de champ de détail
dans l'onglet Disposition de la boîte de dialogue Options.
3 Insérez un objet texte dans la section Détails de l’état.

202 Crystal Reports Guide de l’utilisateur


scr8.book Page 203 Monday, April 2, 2001 12:29 PM

11 : Etats à plusieurs sections

4 Cliquez sur la trame de l'objet texte pour la placer en mode déplacement/


redimensionnement.
5 Amenez le curseur sur la poignée de redimensionnement de droite et tirez-la
jusqu'au bord droit de l'onglet Conception. La largeur de l'objet texte est alors
proche de celle d'une page, environ 20 cm. Si nécessaire, faites défiler la fenêtre.

6 Cliquez deux fois à l'intérieur de l'objet texte pour activer le mode édition.
Vous pouvez maintenant commencer à travailler. Le logiciel décale alors le
point d'insertion à l'extrême gauche à l'intérieur de l'objet.

Insérer la date
1 Pour insérer une date dans la lettre, cliquez deux fois sur Champs spéciaux
dans la boîte de dialogue Explorateur de champs et faites défiler jusqu'à ce que
vous trouviez Date d'impression.
2 Cliquez sur Date d'impression et faites glisser le cadre de placement dans
l'objet texte et placez-le au point d'insertion.
Remarque : Pour modifier le format de la date dans la lettre, cliquez deux fois
sur le bord de l'objet texte pour le sélectionner. Cliquez ensuite sur le champ
Date d’impression et sélectionnez Format [Date d’impression] dans le menu
contextuel. Apportez les modifications souhaitées dans l'onglet Date/Heure
de l'Editeur de format.
3 Appuyez deux fois sur la touche Entrée pour laisser de la place entre la date et
l'adresse et pour déplacer le point d'insertion un peu plus bas dans l'objet texte.

Crystal Reports Guide de l’utilisateur 203


scr8.book Page 204 Monday, April 2, 2001 12:29 PM

Les lettres types

Truc : Vous pourrez être amené à redimensionner la section Détails afin de voir
l'objet texte redimensionné.

Création d'une adresse interne


1 Pour créer l’adresse, vous allez faire glisser les champs appropriés de la base
de données dans l'objet texte, à partir de la table Client de la boîte de dialogue
Explorateur de champs.
2 Faites glisser le champ Adresse 1, placez-le au point d’insertion et appuyez sur
la touche Entrée. Le point d’insertion passe à la ligne suivante.
3 Faites glisser le champ Ville au point d'insertion.
4 Saisissez une virgule suivie d’un espace.
5 Faites glisser le champ Région au point d'insertion.
6 Saisissez deux espaces.
7 Enfin, faites glisser le champ Code postal, placez-le au point d’insertion et
appuyez sur la touche Entrée pour placer le champ. Le point d’insertion passe
à la ligne suivante.
8 Appuyez sur la touche Entrée encore une fois et passez à la ligne suivante à la
position désirée pour insérer la formule de début de lettre. Ceci complète
l’insertion de l’adresse du destinataire.

204 Crystal Reports Guide de l’utilisateur


scr8.book Page 205 Monday, April 2, 2001 12:29 PM

11 : Etats à plusieurs sections

Remarque : Lorsque vous placez un champ dans un objet texte, celui-ci est
automatiquement ajusté des deux côtés afin de ne contenir aucun espace superflu.

Création d’une formule de début de lettre


1 Appuyez quatre fois sur Entrée pour faire descendre le point d'insertion.
2 Saisissez le mot “ Cher ” puis un espace (n’utilisez pas les guillemets).
3 Dans la boîte de dialogue Explorateur de champs, sélectionnez le champ
Position du contact de la table Client et faites-le glisser dans l'objet texte,
immédiatement après l'espace. Le point d'insertion passe à droite de ce champ.
4 Saisissez un espace. Le point d'insertion se place immédiatement après l'espace.
5 Revenez à la boîte de dialogue Explorateur de champs, faites glisser le champ
Nom du contact dans l'objet texte jusqu'au point d’insertion. Celui-ci se
déplace à droite du champ.
6 Tapez deux points (“ : ”) au point d'insertion et appuyez sur Entrée deux fois
pour faire descendre le point d'insertion de deux lignes.

Crystal Reports Guide de l’utilisateur 205


scr8.book Page 206 Monday, April 2, 2001 12:29 PM

Les lettres types

Corps de la lettre
1 Saisissez “ Votre société ” (sans les guillemets), une virgule et un espace.
2 Faites glisser le champ Nom du client dans l'objet texte, jusqu'à la position
d'insertion (juste après l'espace).
3 Saisissez une virgule et un espace.
4 Saisissez (sans les guillemets) : “ a contribué pour une part importante à ce que
cette année soit exceptionnelle pour Xtreme Mountain Bikes et je tiens à vous
remercier vous et toute votre équipe pour votre coopération. J'espère que l’an
prochain sera aussi fructueux pour vous. ”
5 Appuyez deux fois sur la touche Entrée.
6 Saisissez “ Sincères salutations, ” (sans les guillemets), une virgule et appuyez
quatre fois sur la touche Entrée.
7 Pour terminer, saisissez votre nom.
L'onglet Conception devrait ressembler à ceci :

8 Cliquez sur le bouton Aperçu dans la barre d’outils standard pour visualiser la
lettre.

206 Crystal Reports Guide de l’utilisateur


scr8.book Page 207 Monday, April 2, 2001 12:29 PM

11 : Etats à plusieurs sections

Votre lettre doit ressembler à ceci :

Imprimer des messages conditionnels dans des lettres types


Vous souhaiterez probablement imprimer des messages conditionnels dans les
lettres types. Supposons que votre société consente un certain crédit à ses clients et
que vous voulez encourager ceux qui ne l'utilisent pas à profiter de cette facilité
pour acheter plus, et attirer l'attention de ceux qui ont dépassé leur plafond. Vous
pouvez créer ces deux lettres dans un même état.

Créer des messages conditionnels


1 Lancez l'Expert Section et ajoutez une seconde section Détails à votre état. Voir
“Travail sur les sections” à la page 190.
2 Création de deux lettres types. Placez la lettre qui encourage les clients à
acheter plus dans la section Détails A de votre état ; placez la lettre qui
encourage les clients à réduire leur solde dans la section Détails B de votre état.
Voir “Création d'une lettre type à l'aide d'un objet texte” à la page 202.

Crystal Reports Guide de l’utilisateur 207


scr8.book Page 208 Monday, April 2, 2001 12:29 PM

Les lettres types

3 A l’aide de l’Expert Section, mettez en forme les deux sections de manière à ce


que chacune soit supprimée sous certaines conditions. Par exemple :

Mettez en forme cette section afin


qu'elle soit supprimée lorsque le
solde est inférieur au plafond.

Mettez en forme cette section afin


qu'elle soit supprimée lorsque le
solde est supérieur au plafond.

Lorsqu’un enregistrement indique un solde inférieur au plafond, la première lettre


invitant à Acheter plus s’imprime. Lorsque le compte dépasse la limite de crédit, la
lettre de Limite sup. s'imprime. Lorsque le client atteint exactement sa limite de
crédit, rien ne s'imprime.

Sujets connexes
“Mise en forme conditionnelle des objets” à la page 196.
“Mise en forme conditionnelle” à la page 250.

208 Crystal Reports Guide de l’utilisateur


scr8.book Page 209 Monday, April 2, 2001 12:29 PM

Mise en forme 12

Outre les modifications apportées à la mise en page et à la


conception des états, la mise en forme fait également
référence à l'aspect du texte, des objets ou des sections
complètes. Ce chapitre décrit en détail les méthodes à
suivre pour attirer l'attention sur des données particulières,
modifier la présentation des dates, nombres et autres
valeurs, masquer les sections que vous ne souhaitez pas
afficher et réaliser diverses autres tâches de mise en forme
afin de donner un aspect professionnel à vos documents.

Crystal Reports Guide de l’utilisateur 209


scr8.book Page 210 Monday, April 2, 2001 12:29 PM

Concepts de mise en forme

Concepts de mise en forme


Cette section décrit comment mettre en forme un état. Cette rubrique va vous
apprendre à manipuler le format de votre état, c'est-à-dire à modifier la mise en
page, la conception et l'aspect du texte, des objets et des sections.
Les instructions de mise en forme vous permettent :
 de délimiter les sections de votre état,
 d'attirer l'attention sur des données particulières,
 de modifier l'aspect des nombres, dates, expressions booléennes, signes
monétaires et textes (chaînes),
 de masquer les sections que vous ne désirez pas afficher, et
 de donner un aspect professionnel à votre état.
Les rubriques suivantes vous indiquent les différentes possibilités de mise en
forme que Crystal Reports met à votre disposition, en vous guidant pas à pas.
Remarque : Vous pouvez choisir parmi plusieurs formats de date à utiliser dans
votre état, mais si vous envoyez un état vers un système japonais, des problèmes
de mise en forme peuvent se produire. Tous les formats de dates occidentaux ne
peuvent être affichés sur un système japonais et vice versa. Par exemple, les mois
de format anglais abrégés et les ères japonaises sous forme courte ne peuvent être
affichés, respectivement, sur un système japonais et sur un système anglais.

Utilisation de l'environnement de conception des états


Solutions de conception
Il existe plusieurs facteurs importants à considérer lors de la conception d’états à
distribuer dans des environnements différents. Pour obtenir de meilleurs résultats,
prenez en compte les conditions suivantes :
 Caractéristiques des sections
 Placer un objet en filigrane d'une section suivante
 Formulaires pré-imprimés
 Masquer des sections dans l’état
 Masquer des objets
 Positionnement d'objets texte
 Positionnement d'objets texte à plusieurs lignes
 Importation d'objets texte depuis un fichier

210 Crystal Reports Guide de l’utilisateur


scr8.book Page 211 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

 Espacement entre les objets texte


 Représentation du dépassement de champ
 Sélection de plusieurs objets
 Placement libre
 Placement vertical
 Polices TrueType
 Marges
 Imprimante par défaut
 Pilotes d'impression.

Caractéristiques des sections


Un état comporte plusieurs sections : l’En-tête de l’état, l’En-tête de page et l’En-
tête de groupe, les Détails, le Pied de page, le Pied de page de groupe et le Pied de
page de l’état.
Chaque section d’un état comporte une série de lignes. Lorsqu’un objet texte est
inséré dans une section, il est positionné sur une ligne pour que le texte s’aligne sur
la ligne de base. La hauteur de la ligne est donc ajustée par le pilote d’impression
pour que la ligne d’impression s’adapte à l’objet.
 Si un autre objet texte est positionné sur la même ligne et que sa taille de police
est plus grande que le premier objet, la hauteur de la ligne est modifiée pour
s’adapter au deuxième objet.
 Si un autre objet texte est positionné sur la même ligne et que sa taille de police
est encore plus grande que les deux premières, la hauteur de la ligne est
modifiée pour s’adapter au troisième objet.
Donc, la hauteur d’une ligne sera déterminée par l’objet texte dont la police est la
plus grande.
En insérant des objets texte dans un état, soit dans la même section, soit dans
d’autres sections, la hauteur de la ligne est ajustée pour s’adapter aux polices
différentes. Puisque l’espacement vertical (interligne) est déterminé par le pilote
d’impression, la création d’états conçus pour les formulaires pré-imprimés est
difficile s’ils sont imprimés dans des environnements variés.
Lorsque vous créez des états, procédez comme suit :
 imprimez toujours une page de test
 gardez la même dimension pour toutes les polices
 imprimez tous les formulaires pré-imprimés sur la même machine.

Crystal Reports Guide de l’utilisateur 211


scr8.book Page 212 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

Placer un objet en filigrane d'une section suivante


Dans l'exemple suivant, vous allez faire en sorte que le logo Xtreme.bmp
apparaisse en filigrane dans plusieurs sections. C’est une procédure similaire à
celle que vous suivez si vous voulez insérer en filigrane le logo de la société sur les
pages de votre état.
Pour qu'un objet apparaisse en filigrane d'une section, placez-le d'abord dans la
section qui précède. Cochez ensuite la case En fond sections suivantes dans
l'Expert Section pour la section dans laquelle se trouve l'objet.

Création d'un état simple


1 Création d'un état à l'aide de la table Client de Xtreme.mdb.
Le fichier Xtreme.mdb se trouve dans le répertoire \Program Files\Seagate
Software\Crystal Reports\Samples\Fr\Databases ou dans le répertoire où se
situe le programme.
2 Juxtaposez les champs {client.NOM DU CLIENT} et {client.VENTES DE
L’ANNEE PRECEDENTE} dans la section Détails de votre état.
3 Les titres dans l'en-tête de page ne nous sont d'aucune utilité, vous pouvez les
supprimer.
4 Pour organiser vos données par régions, sélectionnez la commande Groupe
du menu Insérer.
5 Dans l’onglet Commun de la boîte de dialogue Insérer un groupe, sélectionnez
{client.REGION} comme critère de tri pour les groupements.
6 Cliquez sur OK.

Pour insérer une image dans l’état


1 Dans le menu Insérer, choisissez la commande Image.
Truc : Vous pouvez également cliquer sur le bouton Insérer une image de la
barre d'outils supplémentaire.
2 Sélectionnez le fichier Xtreme.bmp et insérez-le dans l'en-tête de page, à
droite du corps de l'état.
Le fichier Xtreme.bmp se trouve dans le répertoire \Program Files\Seagate
Software\Crystal Reports\Samples\Fr\Databases ou dans le répertoire où se
situe le programme.
Remarque : Dans cet exemple, l’image est placée à droite des champs pour ne
pas la superposer au texte. Lorsque vous travaillez en filigrane, une image
atténuée conçue pour être presque invisible est placée directement sur le texte.

212 Crystal Reports Guide de l’utilisateur


scr8.book Page 213 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

3 Cliquez sur le bouton Aperçu de la barre d'outils standard.


L’image s’imprime d’abord (entièrement dans la section En-tête de page) et le
corps de l’état suit.
4 Lorsque vous avez fini, retournez dans l'onglet Conception.

Placement en filigrane des sections suivantes


1 Dans le menu Mettre en forme, cliquez sur la commande Section.
La boîte de dialogue Expert Section apparaît.
2 Dans la liste Sections, cliquez sur l'option En-tête de page, puis activez la case
à cocher En fond sections suivantes.
3 Cliquez sur OK et prévisualisez à nouveau votre état.
Vous constaterez que l'image apparaît dans les en-têtes de groupe et les sections
Détails, à droite du corps de l'état (ou bien au-dessus).
Remarque : en utilisant la même technique de positionnement d'image à
droite du corps de l'état, vous pouvez placer un graphique ou la photo d'un
employé pour illustrer les détails correspondant à ce graphique ou à cet
employé.
4 Lorsque vous avez fini, retournez dans l'onglet Conception.
5 Agrandissez verticalement l'image (jusqu'à deux ou trois fois sa taille initiale)
et prévisualisez l'état.
Le fichier bitmap s'imprime maintenant en filigrane de plusieurs sections.
La zone à l'arrière-plan de la figure est déterminée par :
 la taille de l’image,
 la section dans laquelle l'image a été insérée initialement,
 la position de l’image dans la section où vous l’avez placée.
En modifiant la taille et la position d'un objet, vous pouvez créer une grande
variété d'effets visuels, grâce à la fonction de mise en filigrane.

Formulaires pré-imprimés
Si vous utilisez des formulaires pré-imprimés, vous pouvez :
 scanner un exemplaire,
 l’insérer dans l’état en tant qu’image bitmap,
 aligner correctement l'image bitmap avec l'état en utilisant les capacités
filigranes et la possibilité de déplacer les objets n’importe où,
 éviter le besoin d’imprimer les formulaires séparément en imprimant votre
état et le formulaire en tant qu’une seule unité.

Crystal Reports Guide de l’utilisateur 213


scr8.book Page 214 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

Masquer des sections dans l’état


Vous disposez de trois moyens dans l’Expert Section pour empêcher l'impression
de certaines parties d'un état Crystal Reports.

Masquer (avec exploration)


La propriété Masquer cache la section chaque fois que vous lancez l’état. Par
exemple, vous pouvez utiliser la propriété Masquer dans un état de résumé où
vous voulez montrer seulement les résumés mais pas les détails des résumés.
Lorsque vous appliquez la propriété Masquer à une section, la section peut devenir
visible si vous explorez pour voir ce qu’elle contient. Vous pouvez appliquer cette
propriété seulement d’une manière absolue ; vous ne pouvez pas l’appliquer
conditionellement à l’aide d’une formule.

Supprimer (sans exploration)


La propriété Supprimer masque également une section lorsque vous exécutez
l’état. En revanche, contrairement à la propriété “Masquer”, il n'est pas possible
d'activer la propriété Supprimer, puis d'effectuer une exploration pour découvrir
le contenu de la section. Cette propriété peut être appliquée d'une manière
absolue, ou d'une manière conditionnelle à l’aide d’une formule. Cette propriété
est très pratique pour produire des lettres type. Par exemple, dans une lettre type,
vous pouvez créer deux sections Détails : une à supprimer lorsque les ventes
dépassent X$ et l'autre lorsqu'elles sont inférieures à X$.

Supprimer les sections vides


La propriété Supprimer les sections vides masque toute section qui ne contient
aucune donnée. Lorsque vous y placez des objets, elle redevient visible.

Masquer des objets


L'Editeur de format de Crystal Reports dispose des trois options suivantes pour
cacher des objets.

Supprimer si en double (onglet Commun)


L’option Supprimer si en double empêche l'impression des valeurs en double,
c'est-à-dire des valeurs identiques à celle qui les précèdent, et les remplacent par
un espace.

214 Crystal Reports Guide de l’utilisateur


scr8.book Page 215 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

La valeur n’est pas imprimée mais l’espace dans lequel elle aurait été imprimée est
toujours là.

Les valeurs en
double sont
supprimées et ne
seront donc pas
imprimées.

Supprimer si zéro (onglet Nombre)


Truc : Pour trouver cette option, cliquez sur l’onglet Nombre de l’Editeur de
format, puis sur le bouton Personnaliser.
La propriété Supprimer si zéro empêche l'impression des valeurs nulles et les
remplace par un espace. La valeur n’est pas imprimée mais l’espace dans lequel
elle aurait été imprimée est toujours là. Pour supprimer cet espace, activez la case
à cocher Supprimer les sections vides de l'Expert Section. Ceci fonctionne
uniquement si la section ne contient aucun autre objet.
Remarque : Utilisez l'Expert Section pour éliminer les lignes vides, puis
désactivez la case Supprimer les sections vides pour la section dans laquelle se
trouve le champ. Les lignes sont alors supprimées tant qu'il n'y a aucun autre
objet dans la section.

Les valeurs nulles


sont supprimées
et ne seront donc
pas imprimées.

Supprimer (onglet Commun)


La propriété Supprimer masque un objet lorsque vous lancez l’état. Il est commun,
par exemple, d’appliquer cette propriété à des formules qui sont nécessaires pour

Crystal Reports Guide de l’utilisateur 215


scr8.book Page 216 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

certains calculs dans l’état mais que vous ne voulez pas montrer lorsque vous
lancez l’état. Si cette propriété est activée, l’objet ne sera pas imprimé.

L'objet est rendu invisible et ne


sera donc pas imprimé.

Remarque : Pour une activation/désactivation conditionnelle de ces options,


cliquez sur le bouton Formule conditionnelle et entrez la formule appropriée.
Voir “Mise en forme conditionnelle” à la page 250.
Pour paramétrer ces propriétés, sélectionnez l'objet, puis cliquez sur Format dans
la barre d'outils supplémentaire pour ouvrir l'Editeur de format. Lorsque la boîte
de dialogue apparaît, définissez les propriétés.

Positionnement d'objets texte


Lors du positionnement d’un objet texte dans un état, l’objet est représenté par une
trame d’objet. La hauteur de la trame d’objet est basée sur la hauteur de la police.
Cependant, la largeur est déterminée de façon différente selon l’objet texte avec
lequel vous travaillez.
 Pour les champs de bases de données qui ne sont pas des champs mémo, la
largeur est déterminée initialement par la largeur du champ comme défini par
la base de données ainsi que par la largeur moyenne des caractères selon la
police et la taille de police sélectionnée.
Par exemple, vous avez un champ de base de données appelé {client. NOM} et
votre base de données affecte une longueur de 35 caractères à ce champ de
texte. Lorsque vous insérez ce champ dans votre état, la largeur du champ sera
35 fois celle de la largeur moyenne de la police et de la taille de police avec
lesquelles le texte est mis en forme. Ceci constitue la largeur initiale par défaut.
La largeur peut toutefois être étendue ou diminuée selon vos besoins.
 Pour les objets texte, la largeur par défaut est approximativement 17 largeurs
de caractères. Les objets texte sont différents des champs de base de données
du fait que leur largeur s’étend automatiquement lorsque vous y insérez un
texte et/ou un champ de base de données. Comme avec tout autre objet texte,
la largeur peut être modifiée par l’utilisateur.

216 Crystal Reports Guide de l’utilisateur


scr8.book Page 217 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

 Pour les différents champs numériques, tels que double, simple, entier, entier
long et octet, les largeurs par défaut sont toutes différentes. Encore une fois,
comme avec les objets texte, la largeur peut être modifiée par l’utilisateur.

Pour éviter que le texte soit tronqué à l'intérieur d'un objet


Même si les largeurs par défaut sont acceptées ou si la taille des objets texte est
modifiée, une difficulté peut se présenter si le texte à l’intérieur d’un objet
s’imprime jusqu’au bord du cadre de champ. Alors que l’état apparaît bien placé
sur la machine où il a été conçu, le texte peut être coupé ou tronqué lors de
l’impression si on utilise un autre pilote d’impression qui mesure plus largement
la police employée, la longueur du texte s’étant agrandie alors que le cadre est resté
fixe. Le texte obtenu est coupé ou tronqué.

Pour éviter que le texte ne soit tronqué à l'intérieur d'un objet


1 Cliquez avec le bouton droit de la souris sur l'objet texte à mettre en forme
pour afficher le menu contextuel.
Truc : Vous pouvez également cliquer sur le bouton Format de la barre d'outils
Supplémentaire.
2 Dans le menu contextuel, cliquez sur la commande Format du texte.
L’Editeur de format apparaît.

3 Dans l'onglet Commun, sélectionnez la case à cocher Taille modulable.


4 Cliquez sur OK pour enregistrer vos modifications.

Crystal Reports Guide de l’utilisateur 217


scr8.book Page 218 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

L'objet est ainsi mis en forme pour s'imprimer sur plusieurs lignes. Si le texte
s'imprime à l'extérieur de l'objet, il passera automatiquement aux lignes
suivantes.

Pour éviter les ruptures dans un texte sans espacement à l'intérieur


d'un objet
Cette fonction existe pour des chaînes de caractères ne contenant pas
d’espacements (par exemple, un seul mot).

Pour éviter les ruptures dans un texte sans espacement à l'intérieur


d'un objet
1 Sélectionnez l'objet à mettre en forme.
2 Agrandissez le cadre de l'objet pour qu’il soit un peu plus grand que le plus
grand bloc de texte qui puisse être placé dans ce cadre.
Le texte traité dans un champ de base de données est souvent beaucoup plus petit
que le montant maximal que le champ peut contenir. Par exemple, un champ
{table.NOM} est conçu avec une taille de champ de 80 caractères ; le nom le plus
long dans la base de données comporte juste 28 caractères. Dans ce cas, lorsque
vous insérez le champ dans votre état, le champ sera 80 fois la largeur de caractère
moyenne. Diminuez la largeur du champ, mais légèrement plus grand que les
28 caractères pour laisser un peu de place à une extension.
Alors que ces options offrent des solutions efficaces lorsque vous travaillez dans
une section avec un seul objet texte, il existe encore des facteurs de conception à
prendre en compte lorsque vous placez plus d’un objet texte dans une section.
Lorsque vous sélectionnez la taille d’un objet, vous devez prendre en compte son
emplacement par rapport aux autres objets de la section.
Evitez la conception d’états où l’espacement entre les objets est très étroit. Laissez
de la place en étendant la largeur de l’objet d’approximativement 5 pour cent. Si ce
n’est pas possible, vous pouvez aussi diminuer la taille de la police.

218 Crystal Reports Guide de l’utilisateur


scr8.book Page 219 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Positionnement d'objets texte à plusieurs lignes


Les objets texte mis en forme pour être imprimés sur plusieurs lignes suivent les
mêmes règles de conception que les autres objets, mais ils ont aussi d’autres
caractéristiques qu’il faut considérer. Si le pilote d’impression élargit ou rétrécit
l’espacement du texte, le passage à la ligne s’effectuera différemment et le nombre
de lignes nécessaires pour imprimer l’objet s’adaptera à l’augmentation ou au
rétrécissement résultant.
Vous pouvez rencontrer des difficultés lors du placement d’objets texte à plusieurs
lignes si d’autres objets se trouvent directement en-dessous.
Contrairement au cas des objets texte à ligne unique, il n’est pas recommandé
d’élargir le cadre de champ d’un objet texte à lignes multiples. La largeur de la
ligne s’étendrait uniquement selon l’agrandissement du champ.

Donc, si possible, insérez des objets texte à plusieurs lignes multiples en bas d’une
section. S’ils ont besoin de plus de lignes lors de leur impression, la section
s’élargira vers le bas pour s’adapter à l’agrandissement et ne gênera pas
l’impression d’autres objets.

Importation d'objets texte depuis un fichier


Crystal Reports permet l'importation d'un objet texte mis en forme depuis un
fichier existant vers votre document.

Pour importer des objets texte depuis un fichier


1 Cliquez deux fois sur l'objet texte à mettre en forme, puis cliquez avec le
bouton droit de la souris pour afficher le menu contextuel.
2 Dans le menu contextuel, cliquez sur la commande Insérer le contenu d'un
fichier.
3 Dans la boîte de dialogue Ouvrir qui apparaît, sélectionnez le fichier où l'objet
texte est stocké, puis cliquez sur l'option Ouvrir.
L'objet est importé depuis le fichier vers votre état, à la place de l'objet que vous
avez sélectionné pour la mise en forme lors de l'étape 1.

Crystal Reports Guide de l’utilisateur 219


scr8.book Page 220 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

Espacement entre les objets texte


Utilisez les options Grille et Guides pour vous aider à aligner des objets texte.
Vous pouvez sélectionner l'option Aligner sur la grille, définir la grille sur un
pouce maximum et rendre la grille visible ou invisible dans l'onglet Conception,
l'onglet Aperçu, ou les deux. Pour de plus amples renseignements sur l'utilisation
des grilles, voir “Utilisation de la grille” à la page 220.
Vous pouvez également travailler sans l'aide d'une grille, en plaçant les objets où
vous voulez dans un état. Il peut être souhaitable de travailler sans les contraintes
des grilles tout en bénéficiant de facilités d'alignement, de déplacement et de
redimensionnement groupées. C'est ce que permettent de faire les guides. Voir
“Utilisation de guides” à la page 221.

Utilisation de la grille
La grille est constituée d'une série de coordonnées de lignes et de colonnes.
Lorsque la grille est sélectionnée, Crystal Reports vous permet de positionner les
objets texte uniquement sur ces coordonnées. Vous pouvez ensuite espacer les
données sur l'état et aligner les objets comme vous le souhaitez. Si vous essayez de
placer un objet entre les coordonnées de la grille, l'objet se "colle" à la grille ; c'est-
à-dire qu'il se place automatiquement sur les coordonnées de lignes et de colonnes
les plus proches.
Chaque section d'un état contient une grille de conception. Elle peut être activée ou
désactivée et sa taille peut être ajustée selon vos besoins. La grille est inactive par
défaut. Voir “Sélection de la grille” à la page 220.
Une fois déterminée, la grille garde la même taille pour toutes les sections. La grille
commence sur le coin en haut à gauche de chaque section et continue vers le bas à
droite jusqu’à la fin de la section. Une nouvelle grille de même taille commence
alors en haut à gauche de la section suivante, et ainsi de suite, jusqu’à la fin de l’état.
Si vous activez l’option Aligner sur la grille en utilisant l’onglet Disposition dans
la boîte de dialogue Options :
 Le coin en haut à gauche de tous les objets texte et OLE s’alignera sur la grille.
 Les objets positionnés avant l’activation de l’option Aligner sur la grille ne
s’aligneront pas ; ils ne changeront pas de position. Ils restent où ils sont.
 Lors de l’ajustement de taille d’un objet, les côtés que vous ajustez s’aligneront
sur l’intersection la plus proche.

Sélection de la grille
Les onglets Conception et Aperçu disposent d'une structure de grille sous-jacente qu'il
est possible d'activer à partir de l'onglet Disposition dans la boîte de dialogue Options.

220 Crystal Reports Guide de l’utilisateur


scr8.book Page 221 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Pour sélectionner la grille


1 Choisissez la commande Options dans le menu Fichier.
La boîte de dialogue Options apparaît.

2 Dans la zone Options de grille de l'onglet Disposition, vous pouvez choisir


d'afficher la structure de grille sous-jacente dans les onglets Conception ou
Aperçu, ou les deux, sélectionner un placement libre et spécifier la taille de la
grille.
3 Cliquez sur OK pour enregistrer vos modifications.

Utilisation de guides
Crystal Reports facilite l’alignement et le re-dimensionnement précis des objets
dans un état. Ce sont des lignes non-imprimées que vous pouvez placer où vous
voulez dans les onglets Conception et Aperçu. Ils se servent aussi d’une attraction
“magnétique” qui aligne des objets automatiquement.

Affichage des guides


Vous pouvez choisir d'afficher les guides dans les onglets Conception et Aperçu en
sélectionnant les options d'affichage appropriées dans la boîte de dialogue Options.

Crystal Reports Guide de l’utilisateur 221


scr8.book Page 222 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

Pour afficher les guides


1 Choisissez la commande Options dans le menu Fichier.
Truc : Vous pouvez aussi sélectionner les commandes associées aux Guides à
partir du menu Affichage.
La boîte de dialogue Options apparaît.

2 Dans la zone Options d'affichage de l'onglet Disposition, sélectionnez la case à


cocher Afficher les guides dans l'onglet Conception et/ou Afficher les
guides dans l'onglet Aperçu.
3 Cliquez sur OK pour enregistrer vos modifications.

Insertion de guides
Bien que vous puissiez insérer des guides manuellement si nécessaire, Crystal
Reports effectue automatiquement cette opération dans les cas suivants :
 Lorsque vous placez un champ ou une formule dans votre état, le programme
crée un guide qui apparaît à gauche du cadre du champ et “ attire ” le champ
et son titre.
 Lorsque vous résumez un champ, le programme associe ce résumé au même
guide pour obtenir un alignement correct.
 Lorsque vous cliquez avec le bouton droit de la souris sur les zones grises à
gauche d'une section et que vous sélectionnez la commande Réorganisation
des lignes dans le menu contextuel, le programme crée un ou plusieurs guides
horizontaux qui apparaissent dans la section et attirent les champs.

222 Crystal Reports Guide de l’utilisateur


scr8.book Page 223 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Pour insérer, déplacer et supprimer manuellement des guides


1 Dans l’onglet Conception ou Aperçu, cliquez sur la règle en haut de la fenêtre
afin d’activer un guide vertical, ou bien cliquez sur la règle à gauche afin
d’activer un guide horizontal.
Chaque guide est rattaché à une flèche sur sa règle d'origine.

Remarque : Si les guides n’apparaissent pas, assurez-vous que l’option “


Afficher les guides dans l’onglet Conception ” ou “ Afficher les guides dans
l’onglet Aperçu ” est sélectionnée dans le menu Affichage.
2 Pour positionner un guide, faites glisser la flèche le long de la règle vers la
position de votre choix.
3 Pour supprimer un guide, faites glisser la flèche en dehors de la règle.

Remarque : Si vous sélectionnez l'option Aligner sur la grille, vous pouvez


insérer ou déplacer les guides selon des valeurs incrémentielles définies par la
grille uniquement.

Rattachement d'objets à des guides


Pour rattacher un objet à un guide, faites glisser l’objet sur le guide jusqu’à ce que
le bord de l’objet soit aligné sur le haut du guide. Le rattachement vous permet non
seulement d’aligner précisément les objets, mais également de repositionner et de
redimensionner plusieurs objets ensemble. Lorsque plusieurs objets sont rattachés
à un guide, il vous suffit de déplacer le guide afin de déplacer tous les objets.
Vous pouvez rattacher la partie supérieure ou la partie inférieure d’un objet à un
guide horizontal.

Crystal Reports Guide de l’utilisateur 223


scr8.book Page 224 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

Vous pouvez rattacher le côté gauche, le côté droit ou la ligne du milieu verticale
(la ligne invisible qui partage l'objet en deux verticalement) à un guide vertical.

Pour rattacher des objets à un guide


1 Cliquez sur l’une des règles pour insérer un guide.
2 Faites glisser l’objet sur le guide, afin que l’un de ses bords soit sur le guide.
Remarque : Lorsque l’objet est correctement aligné sur le guide, ce dernier
change généralement de couleur ou s’assombrit.
L’attraction des guides fonctionne différemment pour les objets texte et pour les
autres objets (par exemple, les objets OLE). Lorsqu’un objet texte monoligne
s’aligne à un guide, c’est la ligne de base du texte qui s’aligne, et non la trame de
l’objet. Lorsqu’un objet texte multiligne s’aligne à un guide, soit la ligne de base du
texte soit la trame de l’objet s’aligne.
Pour savoir si un objet texte est rattaché à un guide horizontal, il suffit de
rechercher les indicateurs situés de chaque côté de l’objet sur la ligne de base
(entourés dans l’illustration ci-dessous). Si l’objet est rattaché à un guide vertical,
les indicateurs apparaissent sur le côté de l’objet.

Si vous voulez placer plusieurs objets texte de différentes tailles de police sur une
ligne et aligner leurs lignes de base, alignez la ligne de base de chacun des objets
sur le même guide horizontal.
Si vous avez désactivé l’option Placement libre et si vous activez l’option Aligner
sur la grille :
 tous les objets s’aligneront sur les guides pour le placement vertical,
 la limite gauche s’alignera sur les guides verticaux et les intersections de la
grille.

224 Crystal Reports Guide de l’utilisateur


scr8.book Page 225 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Positionnement d'objets à l'aide des guides


Une fois que vous avez aligné au moins un objet sur un guide, il vous suffit de
déplacer ce dernier pour déplacer tous les objets simultanément. Pour déplacer le
guide, faites glisser la flèche le long de la règle.

Faites glisser le guide vers


la position de votre choix.

L'objet se déplace
avec le guide.

Remarque : Lorsque vous déplacez un guide, vous déplacez l'objet qui lui est
attaché. Mais, si vous déplacez un objet qui est attaché à un guide, ce dernier ne se
déplace pas.

Redimensionnement d'objets à l'aide de guides


Utilisez deux guides pour redimensionner au moins deux objets qui ont la même
taille (hauteur ou largeur) ou des tailles différentes. Ce processus est le même dans
les deux cas.

Pour redimensionner des objets à l'aide de guides


1 Créez un premier guide.
2 Attachez-lui un objet par l'un de ses côtés.

3 Créez un deuxième guide à droite de l'objet.


Remarque : Le guide ne doit pas toucher l'objet.

Crystal Reports Guide de l’utilisateur 225


scr8.book Page 226 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

4 Cliquez à présent sur l'objet pour activer ses poignées de redimensionnement.


5 Faites glisser la poignée de redimensionnement sur le deuxième guide afin que
l’objet s’aligne sur le guide.

6 Répétez les étapes 2 à 5 pour chaque objet que vous souhaitez rattacher aux
deux guides.
7 Si les objets n'ont pas la taille souhaitée, faites glisser l'un des deux guides (ou
les deux) dans la direction appropriée.

Mise en retrait de lignes


Crystal Reports permet de contrôler le retrait des lignes dans les champs mémo, les
champs de type chaîne et les objets texte. En ce qui concerne les objets, vous avez
la possibilité de mettre en retrait les lignes en positionnant le curseur au début du
paragraphe qu'elles composent. Ou, si vous sélectionnez un objet dans son
intégralité, vous pouvez appliquer les mêmes spécifications de mise en retrait à
l'ensemble des paragraphes à l'intérieur d’objet.
N'oubliez pas que toute ligne précédée d'un retour du curseur sera considérée
comme étant la première ligne d'un nouveau paragraphe.

Pour mettre en retrait des lignes


1 Cliquez avec le bouton droit de la souris sur le champ ou l'objet à mettre en
forme pour afficher le menu contextuel.
2 Dans le menu contextuel, cliquez sur la commande Mise en forme de
paragraphe. La boîte de dialogue Editeur de format apparaît. L'onglet Mise en
forme de paragraphe s’affiche.

226 Crystal Reports Guide de l’utilisateur


scr8.book Page 227 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

3 Dans la zone Retraits, vous pouvez mettre en retrait la première ligne du


paragraphe, l'ensemble des lignes d'un paragraphe par rapport à la marge
gauche, et l'ensemble des lignes d'un paragraphe par rapport à la marge droite.
Remarque : Seules les valeurs de mise en retrait dans la largeur du champ ou
de l'objet sont acceptées.
4 Cliquez sur OK pour enregistrer vos modifications.

Représentation du dépassement de champ


Crystal Reports se sert de la représentation du dépassement de champ pour aider
les utilisateurs lorsqu'ils travaillent avec des valeurs numériques ou monétaires
dans les cellules d'état. Normalement, si une valeur numérique ou monétaire est
plus grande que le champ la contenant, cette valeur sera tronquée ou “ découpée ”.
Par exemple, les valeurs telles que 100 000 000 pourraient apparaître dans l'état en
tant que 1 000 ou bien 000 (suivant les propriétés que vous avez définies). Ceci
pourrait provoquer une confusion lorsque vous lisez l'état.
Chaque fois que vous désactivez le découpage du champ (option Permettre le
découpage de champs), les valeurs de champ numériques/monétaires qui débordent
la taille du champ seront représentées par les signes numériques (######) dans
l'onglet Aperçu, vous faisant ainsi savoir immédiatement si le champ est trop petit.

Crystal Reports Guide de l’utilisateur 227


scr8.book Page 228 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

Pour permettre la représentation du dépassement de champ


1 Cliquez avec le bouton droit de la souris sur le champ monétaire ou
numérique à mettre en forme pour afficher le menu contextuel.
2 Dans le menu contextuel, cliquez sur la commande Format du champ.
La boîte de dialogue Editeur de format apparaît. L'onglet Nombre est affiché.
3 Cliquez sur le bouton Personnaliser.
La boîte de dialogue Style personnalisé apparaît. L'onglet Nombre s’affiche.

4 Pour permettre la représentation du dépassement de champ, désélectionnez la


case à cocher Permettre le découpage de champs.
Remarque : Vous pouvez également cliquer sur le bouton Format pour entrer
une formule dans l'Éditeur de format de formule. Vous pouvez spécifier la
désactivation du découpage de champs seulement quand certaines conditions
sont remplies.
5 Cliquez sur OK pour enregistrer vos modifications.
Pour visualiser les résultats, actualisez l'état. Si vous avez désactivé le découpage de
champs, toutes les valeurs de champ numériques/monétaires plus grandes que les
champs qui les contiennent seront représentées par les signes numériques (######).

228 Crystal Reports Guide de l’utilisateur


scr8.book Page 229 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Sélection de plusieurs objets


Vous pouvez sélectionner plusieurs objets, y compris du texte, des champs, des
diagrammes, des images bitmap, des grilles OLAP, des tables croisées et des objets
OLE, afin de les mettre en forme tous ensemble.
Une fois la sélection terminée, vous pouvez déplacer, aligner, modifier la taille,
couper, copier et coller les objets de façon groupée. Vous pouvez également
modifier leur police, leur couleur et le style des paragraphes.
Les objets sont déplacés, alignés et redimensionnés sur la base d'un objet
“ principal ” qui est habituellement le dernier objet de votre sélection. Vous changez
d'objet principal en cliquant avec le bouton droit de la souris sur l'objet souhaité.
Remarque : Lors du déplacement de plusieurs objets, si le nouvel emplacement est
trop petit pour la totalité des objets sélectionnés, mais qu'il est suffisamment grand
pour comprendre l'objet principal, ce dernier et les objets pouvant être contenus
seront déplacés. Les autres objets demeureront à leur emplacement initial.

Pour sélectionner plusieurs objets


1 Cliquez sur un objet ; cliquez ensuite sur les autres objets que vous voulez
sélectionner tout en maintenant la touche Ctrl enfoncée.
2 Cliquez avec le bouton droit de la souris sur l'objet principal.
3 Dans le menu contextuel, sélectionnez l'option de mise en forme appropriée.

Placement libre
Vous préférez peut-être utiliser Crystal Reports sans grille, dans un
environnement à placement libre proche de celui d'un programme de dessin. Le
placement libre signifie que vous pouvez positionner les objets où vous le
souhaitez sur l'état. La seule restriction est l'impossibilité d'insérer des graphiques
ou des tables croisées dans les sections En-tête de page, Pied de page ou Détails.
Pour travailler dans cet environnement, sélectionnez l'option Placement libre dans
l'onglet Disposition de la boîte de dialogue Options.

Placement libre activé


Afin de créer des états dynamiques et de réduire la dépendance du pilote
d'impression, nous vous conseillons de mettre en forme toutes les sections de l'état
en activant l'option Placement libre. Cette option est particulièrement importante
si votre état contient des objets OLE tels que des graphes, des zones, des lignes, des
images bitmap (ex. des logos de sociétés, etc.).

Crystal Reports Guide de l’utilisateur 229


scr8.book Page 230 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

La mise en forme d'une section à l'aide du placement libre permet le positionnement


libre de tous les objets n'importe où à l'intérieur de la section. Crystal Reports insère
des objets dans une section selon leurs coordonnées absolues qui déterminent le
placement vertical des objets dans votre état. Vous pouvez donc contrôler le
placement vertical des objets à ligne unique indépendamment du pilote
d'impression. Ce faisant, vous pouvez mieux protéger votre état contre les
incohérences d'impression liées aux pilotes d'impression différents.
Cependant, même si le pilote d'impression ne contrôle plus l'espacement vertical
des objets texte à l'intérieur des sections, il détermine toujours l'espacement
horizontal du texte dans les objets texte, ainsi que l'interlignage des objets texte à
plusieurs lignes. Donc, bien que le placement libre vous permette de mieux
contrôler ces problèmes, vous ne devez pas oublier ces considérations lors de la
conception de votre état. Voir “Positionnement d'objets texte à plusieurs lignes” à
la page 219.

Placement libre désactivé


Si l’option Placement libre d’une section est désactivée, le logiciel ne tiendra plus
compte des coordonnées absolues de l’objet pour déterminer où il imprimera sauf
dans les conditions suivantes.
 La coordonnée absolue x indique uniquement l’endroit ou chaque objet
commence son impression horizontale (placement gauche/droit).
 La coordonnée y indique le placement vertical de l’objet mais les coordonnées
peuvent être modifiées par Crystal Reports Designer si le pilote d’impression
change.
Donc, si l’état est imprimé en utilisant un pilote d’impression mesurant
l’espacement interligne plus grand que le pilote d’impression d’origine, la
coordonnée y augmentera et l’objet texte sera imprimé plus bas sur la page. En
désactivant l’option Placement libre, le pilote d’impression et non pas l’utilisateur
contrôle le placement vertical des objets texte.
Cependant, le placement des objets OLE, tels que les graphes, les zones et les
lignes, n’est pas déterminé par le pilote d’impression. Crystal Reports Designer se
réfère toujours aux coordonnées absolues de ces objets lors de leur positionnement
et de leur impression. Une combinaison de ces deux méthodes de placement peut
entraîner des complications. Regardez l’exemple suivant :
Une zone (objet OLE) est placée autour d’un champ de chaîne de base de données
(objet texte). Tout paraît en ordre et bien aligné. Cependant, si l’état est imprimé à
l’aide d’une imprimante utilisant un autre pilote d’impression avec un
interlignage très grand :
 le placement de la zone ne s’adaptera pas en fonction de la section dans
laquelle elle se trouve (les coordonnées x et y ne changeront pas), mais

230 Crystal Reports Guide de l’utilisateur


scr8.book Page 231 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

 le placement vertical de l’objet texte changera puisque la coordonnée y sera


modifiée vers le haut de la section selon le pilote d’impression utilisé.
Remarque : La valeur est une mesure qui commence au coin en haut à gauche d’une
section ; plus la valeur est grande, plus l’objet est imprimé vers le bas de la page.
Si vous diffusez des états avec des sections mises en forme sans le Placement libre,
et si vous voulez ajouter des lignes ou entourer les objets avec une bordure, il vaut
mieux modifier les propriétés bordures de l’objet plutôt que d'insérer des lignes et
des zones. De cette façon, les bordures restent toujours attachés aux objets. Voir
“Ajouter des couleurs, des ombrages et des bordures aux champs” à la page 239.
Rappelez-vous que chaque section peut-être mise en forme avec ou sans le
Placement libre. Cependant, il est fort souhaitable de mettre en forme chaque
section de votre état de la même façon.

Placement libre avec guides


Il peut être souhaitable de travailler sans les contraintes des grilles tout en
bénéficiant de facilités d'alignement, de déplacement et de redimensionnement
groupées. C'est ce que permettent de faire les guides.
Les guides sont des lignes verticales et horizontales rattachées aux règles des onglets
Conception et Aperçu. Les guides agissent comme des aimants. Lorsque vous
placez un objet à portée de l'un deux, il est soumis à son attraction et s'y accroche.
 Lorsqu'un objet est rattaché à un guide, il se déplace avec lui.
 Lorsque vous déplacez un guide, tous les objets qui y sont accrochés suivent.
 Lorsque des objets sont accrochés à des guides par deux côtés opposés (gauche
et droite ou haut et bas), tout déplacement de l'un de ces guides modifie la
taille des objets en question.
La conception libre avec guides constitue une solution intermédiaire très intéressante,
combinant souplesse et contrôle. Voir “Utilisation de guides” à la page 221.

Placement vertical
Dans l'onglet Commun de l'Editeur de format, vous pouvez utiliser les options de
rotation de texte pour aligner les champs et les objets texte verticalement dans
votre document.
Lorsque vous sélectionnez une rotation de 90 degrés, le texte se décale de 90 degrés
dans le sens inverse des aiguilles d'une montre.

Crystal Reports Guide de l’utilisateur 231


scr8.book Page 232 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

Lorsque vous sélectionnez une rotation de 270 degrés, le texte se décale de 270
degrés dans le sens inverse des aiguilles d'une montre.
Remarque :
 Si la rotation est définie sur 0 degré, votre état est mis en forme
horizontalement, de gauche à droite.
 En ce qui concerne la rotation des objets texte, l'option Taille modulable qui
évite la troncature du texte à l'intérieur d'un objet est automatiquement
désactivée. Pour de plus amples renseignements sur l'option Taille modulable,
voir “Pour éviter que le texte soit tronqué à l'intérieur d'un objet” à la page 217.
 Un texte mis en forme verticalement qui déborde la page ne peut pas être
affiché dans le cadre de votre état.

Insertion d'espaces entre les caractères et les lignes


Crystal Reports permet de spécifier l'espacement entre les caractères ou les lignes
dans les champs mémo, les champs de type chaîne et les objets texte.

Pour insérer des espaces entre les caractères et les lignes


1 Cliquez avec le bouton droit de la souris sur le champ ou l'objet à mettre en
forme pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Police.
La boîte de dialogue l’Editeur de format apparaît.

232 Crystal Reports Guide de l’utilisateur


scr8.book Page 233 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Cet onglet permet de définir les valeurs d'espacement entre les caractères.
3 Dans le champ Pas horizontal exact des caractères de la zone Espacement,
spécifiez la valeur n occupée par chaque caractère.
La valeur n est définie comme étant la distance entre le début d'un caractère et
le début du caractère suivant, mesurée en nombre de points. Lorsque vous
modifiez l'espace entre les caractères, vous ne changez pas la taille de la police
des caractères, mais l'espacement entre les caractères adjacents.
Par exemple, si vous spécifiez une police de 14 points avec un espacement entre
les caractères de 14 points, chaque caractère aura une police dont la taille fait 14
points, occupant un espace d'une largeur de 14 points.
4 Cliquez sur l'onglet Mise en forme de paragraphe.
Cet onglet permet de définir les valeurs d'espacement entre les lignes.
5 Dans le champ Interlignage de la zone Espacement, spécifiez les espaces entre
les lignes sous la forme d'un multiple de la taille de police utilisée, ou d'un
nombre exact de points.
6 Cliquez sur OK pour enregistrer vos modifications.

Insertion de tailles de police fractionnaires


Dans l'onglet Police de l'Éditeur de format, vous pouvez sélectionner une taille de
police fractionnaire pour les champs de base de données et les objets texte de votre état.

Crystal Reports Guide de l’utilisateur 233


scr8.book Page 234 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

Pour paramétrer des tailles de police fractionnaires


1 Cliquez avec le bouton droit de la souris sur le champ ou l'objet à mettre en
forme pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Police. La boîte de
dialogue l’Editeur de format apparaît.

3 L'onglet Police s’affiche. Dans la liste Taille, sélectionnez la taille de police


fractionnaire souhaitée pour le champ ou l'objet.
Remarque : Vous devez saisir un nombre entre 1 et 1638. Crystal Reports
arrondit automatiquement toutes les fractions au 0,5 le plus proche. Vous
pouvez donc utiliser les tailles franctionnelles 1,5 ou 2,5 ou encore 3,5 et ainsi
de suite jusqu'à 1637,5.
4 Cliquez sur OK pour enregistrer vos modifications.
Remarque : Lorsque vous souhaitez définir des tailles de police fractionnelles
pour des champs de base de données et des objets textes individuels déjà
positionnés sur l'état, vous devez procéder manuellement comme décrit ci-
dessous. (Ceci car les paramètres de police existants pour les objets de l'état
remplacent les options par défaut.) Cependant, la commande Fichier > Options >
onglet Police permet de modifier les paramètres par défaut : les nouvelles Options
par défaut s'appliquent aux nouveaux états créés, ainsi qu'aux objets que vous
ajoutez aux états existants.

234 Crystal Reports Guide de l’utilisateur


scr8.book Page 235 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Polices TrueType
La conception de votre état utilisant des polices spécifiques d'impression peut
causer des problèmes lors de l'utilisation d'imprimantes différentes. Les polices
peuvent ne pas être gérées par les autres imprimantes, ou si elles le sont, elles ne
sont peut-être pas installées dans les imprimantes.
Lors du processus d'impression, si des polices spécifiques à une imprimante ne
sont pas reconnues par le pilote d'impression, Crystal Reports remplace les polices,
ce qui crée des résultats incohérents. Afin d'éviter cette situation, il est souhaitable
d'utiliser uniquement des polices TrueType lors de la création d'états.

Marges

Définition de marges spécifiques


Avec Crystal Reports, vous pouvez configurer des marges spécifiques à vos besoins.

Pour définir des marges spécifiques


1 Dans le menu Fichier, cliquez sur la commande Mise en page.
La boîte de dialogue Mise en page apparaît.

2 Modifiez les marges par défaut selon vos besoins.


3 Cliquez sur OK pour enregistrer vos modifications.
Remarque : Toutes les marges sont mesurées à partir du bord de la feuille. Ainsi, si
la marge gauche mesure 2 cm, l’impression commencera à exactement 2 cm du bord.

Utilisation des marges par défaut


Si vous décidez de créer votre état en utilisant les marges par défaut, vous pouvez
rencontrer les problèmes suivants.
 Si l'état est imprimé dans un autre environnement où les marges par défaut de
l'imprimante sont plus larges, les objets qui figurent sur le côté droit de l'état
dépasseront le bord de la page.

Crystal Reports Guide de l’utilisateur 235


scr8.book Page 236 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

 Si l'état est imprimé dans un autre environnement où les marges par défaut de
l'imprimante sont plus étroites (ayant pour résultat un espace imprimable plus
large), l'état complet sera déplacé vers la gauche de la page.
Il vaut mieux mettre en place vos propres marges. Même si les marges que vous
souhaitez utiliser sont identiques aux marges par défaut, désactivez l'option
Utiliser les marges par défaut de la boîte de dialogue Mise en page et indiquez
manuellement les marges à l'aide de la commande Configuration de l'imprimante.

Imprimante par défaut


En général, il est préférable de ne pas choisir d’imprimante spécifique. Même si les
imprimantes sont identiques, la façon dont l’imprimante est reconnue peut
changer selon le système d’exploitation installé.
Par exemple, une imprimante HP Laser III est installée dans deux systèmes
d’exploitation différents :
 le système Windows 95 permet de changer le nom d’imprimante pour que
l’imprimante HP Laser III soit l’imprimante principale du bureau, mais le
pilote d’impression reste HPPCL5MS.DRV.
 le système Windows NT permet de changer le nom d’imprimante mais le
pilote d’impression reste WINSPOOL.
Si vous indiquez une imprimante spécifique, Crystal Reports cherchera le nom de
cette imprimante. Le logiciel choisira l’imprimante par défaut si l’imprimante que
vous avez spécifiée ne peut pas être trouvée, ayant pour résultat des impressions
contradictoires.
Si vous désirez indiquer une imprimante spécifique, par exemple imprimer des
étiquettes ou des factures, le nom de l’imprimante doit être le même que le nom de
l’imprimante avec laquelle l’état a été conçu. Sachez que toute personne voulant
imprimer l’état doit utiliser la même imprimante ou des problèmes peuvent être
rencontrés.
Remarque : Si votre état fait partie d’une application à diffuser, vous pouvez y
inclure une boîte de dialogue Sélectionner une imprimante. Cette boîte de dialogue
permet aux utilisateurs de choisir ou renommer une imprimante selon leurs besoins.

Définir l'orientation et la taille du papier


Crystal Reports peut imprimer en orientation portrait ou paysage, sur du papier
de différentes tailles. Pour définir ces options, utilisez la commande Configuration
de l'imprimante dans le menu Fichier.

236 Crystal Reports Guide de l’utilisateur


scr8.book Page 237 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Pour définir l'orientation et de la taille du papier


1 Dans le menu Fichier, cliquez sur Configuration de l'imprimante.
La boîte de dialogue Configuration de l'imprimante apparaît.

2 Dans la liste Nom de la zone Imprimante, activez l'imprimante à utiliser si


celle-ci n’est pas déjà sélectionnée par défaut.
3 Dans les listes Taille et Source de la zone Papier, sélectionnez le papier à utiliser.
Les options concernant la taille du papier sont directement liées à l'imprimante
sélectionnée. Par exemple, le pilote (PCL) de l'imprimante HP LaserJet offre un
choix de taille papier Lettre US, Légal US, Exécutive ou A4, tandis que le pilote
PostScript vous laisse choisir entre les tailles Lettre US, Légal US, Note, A4, B5,
Lettre petit format et A4 petit format.
4 Dans la zone Orientation, cliquez sur les options Portrait ou Paysage.
5 Cliquez sur OK pour enregistrer vos modifications.

Pilotes d'impression

Mise à jour des pilotes d'impression


Afin de gérer les performances, Crystal Reports interroge le pilote d'impression
pour connaître chaque élément de police (métriques), tel que la hauteur moyenne
des caractères, leur largeur, la hauteur des jambages supérieur et inférieur, les points
forts, etc. Un problème peut se poser avec des pilotes d'imprimante anciens qui ne
renvoient pas les métriques de polices avec suffisamment de précision. Si vous
rencontrez des problèmes lors de l’impression (des champs manquants, une mise en
forme incorrecte, etc.), nous vous conseillons d’acquérir et d’installer les derniers
pilotes d’impression disponibles. Ces nouveaux pilotes d’impression comportent
souvent les bonnes métriques de police et les problèmes d’impression seront résolus.

Crystal Reports Guide de l’utilisateur 237


scr8.book Page 238 Monday, April 2, 2001 12:29 PM

Utilisation de l'environnement de conception des états

Incohérences dues aux pilotes d'impression


Lors de l’impression, des incohérences peuvent subvenir si des pilotes
d’impression différents sont utilisés pour imprimer vos états. Ces incohérences
sont le résultat des méthodes varies utilisées par les pilotes d’impression pour
calculer les tailles d’un texte (par exemple, la taille d’une police). Des objets texte
peuvent être mal alignés, coupés ou même surimprimés lorsqu’ils sont imprimés.
Des exemples d’objets texte incluent des champs de chaînes ou de caractères, objets
de textes, des champs mémo, champs numériques et champs de formule.
Ces problèmes peuvent se présenter si votre système dispose de :
 deux imprimantes identiques, chacune se servant d’un pilote d’impression
différent,
 deux imprimantes différentes se servant du même pilote d’impression,
 deux imprimantes différentes se servant de pilotes d’impression différents,
 un pilote d’impression utilisant la police TrueType et un deuxième pilote
d’impression qui aligne une police TrueType en une police PostScript,
 deux imprimantes identiques utilisant le même pilote d’impression, chacune
utilisant une version différente de Microsoft Windows,
 deux imprimantes identiques utilisant le même pilote d’impression, avec des
versions différentes,
 deux imprimantes identiques, deux pilotes d’impression identiques et deux
systèmes d’exploitation identiques, mais une résolution du pilote vidéo différente.
Un document utilisant un pilote d’impression a besoin de six lignes complètes
pour présenter un bloc de texte. Cependant :
 de l’utilisation d’un deuxième pilote d’impression, qui mesure les polices
d’une façon plus étroite, il peut résulter que le même bloc de texte utilise
moins de six lignes complètes.
 de l’utilisation d’un troisième pilote d’impression qui mesure les polices d’une
façon plus large, il peut résulter que le bloc de texte nécessite plus de six lignes
complètes.
Dans l’ensemble, ces situations sont inévitables. Le but du distributeur d’états est
de concevoir des états s’adaptant à la dépendance du pilote d’impression et
imprimant d’une manière constante même en se servant de pilotes d’impression
différents. Crystal Reports fournit plusieurs solutions de conception. Si ces
solutions font partie de la conception de votre état, elles peuvent assurer une
impression et une diffusion correctes dans presque tout environnement.

238 Crystal Reports Guide de l’utilisateur


scr8.book Page 239 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Propriétés de mise en forme


Vous pouvez définir les propriétés de mise en forme en utilisant l'Éditeur de
format pour les objets et l'Expert Section pour les sections d'un état. Dans la
plupart des cas, vous pouvez définir l'un des deux types de propriétés :
 Mise en forme absolue (applique toujours la propriété)
 Mise en forme conditionnelle (applique la propriété uniquement si certains
critères sont satisfaits).

Utilisation de la mise en forme absolue


Ces opérations de mise en forme ne sont pas soumises à condition. La mise en
forme absolue suit la séquence sélectionner, puis appliquer. Par exemple, vous
sélectionnez ce que vous souhaitez modifier (objet ou section), puis vous appliquez
des instructions de mise en forme à ce qui a été sélectionné.
Pour mettre en forme vos états, vous disposez des outils suivants :
 Éditeur de format pour mettre en forme des valeurs de champs ;
 Expert Section pour mettre en forme des sections entières ;
 Expert Mise en relief pour mettre en forme des champs numériques et
monétaires.
Chacun de ces éléments permet d'activer ou de désactiver certaines propriétés et
de fixer les valeurs de certains attributs à l'aide d'outils.

Ajouter des couleurs, des ombrages et des bordures aux champs


Crystal Reports vous permet de spécifier la couleur, le cadre et la bordure des
champs de votre état, afin d'attirer l'attention sur des informations importantes et
de créer un document professionnel.

Pour ajouter des bordures, des couleurs et des ombrages à un champ


1 Cliquez avez le bouton droit de la souris sur le champ à mettre en forme pour
afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Bordure et couleurs.

Crystal Reports Guide de l’utilisateur 239


scr8.book Page 240 Monday, April 2, 2001 12:29 PM

Utilisation de la mise en forme absolue

La boîte de dialogue Éditeur de format apparaît. L'onglet Bordure est ouvert.

3 Sélectionnez le type de bordure (de ligne), la couleur, la position et la couleur


du fond que vous désirez appliquer.
4 Cliquez sur OK pour enregistrer vos modifications.

Modification des formats de champs par défaut


Dans Crystal Reports, vous pouvez définir le format de votre choix pour l'affichage
des champs de base de données dans un état. Cette section explique comment
contrôler, à l'aide de la commande Options, les paramètres de mise en forme par
défaut appliqués par Crystal Reports aux champs que vous ajoutez à vos états. La boîte
de dialogue Options permet de définir les formats par défaut des champs de base de
données de type : chaîne, numérique, monétaire, date, heure, date/heure et booléen.
Remarque : Lorsque vous modifiez les valeurs par défaut, le nouveau format
s'applique uniquement aux objets que vous ajoutez aux états. Pour mettre en
forme un champ existant, cliquez dessus avec le bouton droit de la souris et
sélectionnez l'option Format du champ dans le menu contextuel.

Pour définir le format par défaut des champs


1 Choisissez la commande Options dans le menu Fichier.
2 Dans la boîte de dialogue Options, cliquez sur l'onglet Nouvel état.
3 Cliquez sur le bouton correspondant au type de champ que vous souhaitez mettre
en forme (Chaîne, Numérique, Monétarie, Date, Heure, Date/Heure ou Booléen).
L’Editeur de format apparaît.

240 Crystal Reports Guide de l’utilisateur


scr8.book Page 241 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

4 Utilisez les onglets de l'Editeur de format pour définir les formats souhaités.
5 Cliquez sur OK.

Définition de formats par défaut pour les champs Date, Heure et


Date/Heure
Les procédures suivantes expliquent d'abord comment définir des formats
standard pour les champs Date, Heure et Date/heure, puis comment personnaliser
ces formats.
Remarque : Les valeurs par défaut s'appliquent uniquement aux objets ajoutés par
la suite. Pour mettre en forme un champ existant, cliquez dessus avec le bouton
droit de la souris et sélectionnez l'option Format du champ dans le menu contextuel.

Pour définir le format par défaut des champs Date, Heure et


Date/Heure
1 Choisissez la commande Options dans le menu Fichier.
2 Dans la boîte de dialogue Options, cliquez sur l'onglet Nouvel état.
3 Pour ouvrir l'Editeur de format, cliquez sur le bouton correspondant au type
de champ que vous souhaitez mettre en forme (Date, Heure ou Date/Heure).
Remarque : Si vous cliquez sur le bouton Date/Heure de l'Editeur de format,
les modifications apportées s'appliquent uniquement aux champs de type
Date/Heure. Vous devez sélectionner Date ou Heure pour mettre en forme
des champs de date ou des champs d'heure indépendants.
4 Dans la boîte de dialogue de l'Editeur de format, cliquez sur l'onglet Date/
Heure.
5 Sélectionnez un format prédéfini dans la liste (ou cliquez sur Personnaliser
pour définir le format de votre choix). Lorsque vous sélectionnez un nouveau
format, vous pouvez afficher un aperçu du résultat dans la zone Echantillon de
l'Editeur de format.
Remarque : Dans la liste de formats prédéfinis, vous pouvez choisir les
paramètres système par défaut afin de vous assurer que Crystal Reports utilise
des formats Windows. Pour modifier les paramètres système, utilisez la boîte
de dialogue Propriétés de paramètres régionaux du Panneau de configuration.
6 Lorsque vous avez sélectionné un format, cliquez sur OK dans la boîte de
dialogue de l'Editeur de format.
7 Cliquez sur OK dans la boîte de dialogue Options.
Désormais, lorsque vous ajoutez un champ Date, Heure ou Date/Heure à un état,
Crystal Reports utilise le format que vous avez choisi.

Crystal Reports Guide de l’utilisateur 241


scr8.book Page 242 Monday, April 2, 2001 12:29 PM

Utilisation de la mise en forme absolue

Pour personnaliser le format des champs Date, Heure et Date/Heure


1 Choisissez la commande Options dans le menu Fichier.
2 Dans la boîte de dialogue Options, cliquez sur l'onglet Nouvel état.
3 Pour ouvrir l'Editeur de format, cliquez sur le bouton correspondant au type
de champ que vous souhaitez mettre en forme (Date, Heure ou Date/Heure).
4 Dans la boîte de dialogue de l'Editeur de format, cliquez sur l'onglet Date/Heure.
5 Cliquez sur Personnaliser pour ouvrir la boîte de dialogue Style personnalisé.
Remarque : Si vous avez sélectionné la mise en forme des champs Date/Heure
à l'étape 3, trois onglets s'affichent dans la boîte de dialogue Stype personnalisé
(Date/Heure, Date et Heure). Les formats définis dans ces onglets s'appliquent
uniquement aux deux composantes des champs Date/Heure. Ils ne concernent
pas les champs de date ou les champs d'heure indépendants.
6 Pour créer le format souhaité, réglez les différents paramètres de la boîte de
dialogue Style personnalisé.
7 Lorsque vous avez terminé, cliquez sur OK dans la boîte de dialogue Style
personnalisé.
8 Cliquez sur OK dans la boîte de dialogue Editeur de format.
9 Pour mettre en forme un autre type de champ, cliquez sur le bouton approprié
de la boîte de dialogue Options. Sinon, cliquez sur OK pour revenir à Crystal
Reports.
Désormais, lorsque vous ajoutez un champ Date, Heure ou Date/Heure à un état,
Crystal Reports utilise le format personnalisé que vous avez défini.

Comment ajouter et modifier des lignes


Crystal Reports vous permet d'ajouter des lignes et des cadres pour mettre l'accent
sur des informations importantes et réaliser des documents à l’aspect professionnel.

Pour ajouter des lignes à un état


1 Cliquez sur le bouton Insérer une ligne de la barre d'outils Supplémentaire.

2 Dessinez la ligne à l'endroit voulu avec le pointeur-crayon.

242 Crystal Reports Guide de l’utilisateur


scr8.book Page 243 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Pour modifier les lignes dans un état


1 Cliquez avec le bouton droit de la souris sur la ligne à mettre en forme pour
afficher le menu contextuel.
2 Dans le menu contextuel, cliquez sur la commande Format de la ligne.
L’Editeur de format apparaît.

3 Dans l'onglet Format de la ligne, effectuez les modifications souhaitées.


4 Cliquez sur OK pour enregistrer vos modifications.

Ajout et modification de cadres dans un état


Crystal Reports vous permet d'ajouter des cadres pour mettre l'accent sur des
informations importantes et réaliser des documents à aspect professionnel.

Pour ajouter des cadres à un état


1 Cliquez sur le bouton Insérer un cadre de la barre d'outils Supplémentaire.

2 Dessinez le cadre à l'endroit voulu avec le pointeur-curseur.

Crystal Reports Guide de l’utilisateur 243


scr8.book Page 244 Monday, April 2, 2001 12:29 PM

Utilisation de la mise en forme absolue

Pour modifier les cadres dans un état


1 Cliquez avec le bouton droit de la souris sur le cadre à mettre en forme pour
afficher le menu contextuel.
2 Dans le menu contextuel, cliquez sur la commande Format du cadre.
L’Editeur de format apparaît.

3 Dans l'onglet Format du cadre, effectuez les modifications souhaitées.


4 Cliquez sur OK pour enregistrer vos modifications.

Ajout de formes à un état


Lorsque vous mettez en forme des états dans Crystal Reports, vous pouvez insérer
un certain nombre de formes telles que des cercles, des ellipses, ainsi que des
cadres pourvus de coins arrondis, dans le document que vous exploitez. Ce type
de fonction est particulièrement utile pour mettre en forme des états dans des
langues qui requièrent ces formes afin de communiquer efficacement.

Pour ajouter des formes à un état


1 Ajoutez un cadre à votre état.
Voir “Ajout et modification de cadres dans un état” à la page 243.
2 Cliquez avec le bouton droit de la souris sur le cadre pour afficher le menu
contextuel.

244 Crystal Reports Guide de l’utilisateur


scr8.book Page 245 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

3 Dans le menu contextuel, cliquez sur la commande Format du cadre.


4 Dans l'Éditeur de format qui apparaît, cliquez sur l'onglet Arrondi.

5 Déplacez le curseur vers la droite pour augmenter la courbure des coins du


cadre.
Le cadre que vous avez créé se transforme petit à petit en ellipse ou en cercle,
suivant que vous déplacez le curseur plus ou moins vers la droite.
6 Après avoir obtenu la forme souhaitée, cliquez sur OK pour enregistrer vos
modifications.

Utilisation de formats comptables conventionnels


En guise de soutien aux règles utilisées dans la profession comptable, Crystal
Reports vous laisse prendre les décisions quant à l'affichage des symboles
monétaires, des nombres négatifs et des valeurs nulles dans vos états financiers. Il
vous est même possible d'inverser les signes des montants de crédit et de débit.

Pour utiliser des conventions comptables dans un état


1 Cliquez avec le bouton droit de la souris sur le champ monétaire ou
numérique à mettre en forme pour afficher le menu contextuel.
2 Dans le menu contextuel, cliquez sur la commande Format du champ.

Crystal Reports Guide de l’utilisateur 245


scr8.book Page 246 Monday, April 2, 2001 12:29 PM

Utilisation de la mise en forme absolue

La boîte de dialogue Editeur de format apparaît. L'onglet Nombre est affiché.

3 Dans la zone Style, sélectionnez les caractéristiques d'affichage des valeurs


numériques positives et négatives qui vont figurer dans vos états.
4 Dans la zone Symbole monétaire (valeur par défaut du système), spécifiez les
caractéristiques d'affichage du symbole monétaire des valeurs qui vont figurer
dans vos états.
5 Cliquez sur OK pour enregistrer vos modifications.

Pour personnaliser les règles comptables de vos états


1 Cliquez avec le bouton droit de la souris sur le champ monétaire ou
numérique à mettre en forme pour afficher le menu contextuel.
2 Dans le menu contextuel, cliquez sur la commande Format du champ.
La boîte de dialogue Editeur de format apparaît. L'onglet Nombre est affiché.
3 Dans la zone Style, sélectionnez l'option Style personnalisé, puis cliquez sur le
bouton Personnaliser.

246 Crystal Reports Guide de l’utilisateur


scr8.book Page 247 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

La boîte de dialogue Style personnalisé apparaît. L'onglet Nombre s’affiche.

4 Sélectionnez la case Utiliser le format comptable.


Une fois cette propriété activée, les conditions suivantes se présentent :
 Dans la liste intitulée Négatifs, le mode d'affichage des valeurs négatives
dans vos états est déterminé par les paramètres régionaux de Windows. Les
valeurs négatives sont représentées soit par un signe moins, soit par des
crochets.
 Dans la liste intitulée Afficher les valeurs nulles comme, le tiret est
automatiquement adopté pour représenter les valeurs nulles dans vos états.
 Dans l'onglet Symbole monétaire de la boîte de dialogue Style personnalisé,
le symbole monétaire est positionné à gauche des valeurs monétaires et
numériques.
Remarque : Les modifications apportées aux paramètres régionaux de
Windows ne sont mises en œuvre qu'après que vous ayez quitté, puis
redémarré Crystal Reports.
5 Sélectionnez la case Inverser le signe pour l'affichage pour inverser les signes
des montants de débit et de crédit dans vos états financiers.
6 Cliquez sur OK pour enregistrer vos modifications.
7 Cliquez à nouveau sur OK pour revenir à l'état que vous exploitiez.

Crystal Reports Guide de l’utilisateur 247


scr8.book Page 248 Monday, April 2, 2001 12:29 PM

Utilisation de la mise en forme absolue

Utilisation d'espaces vides entre les lignes


L'espace entre les lignes dans une section est directement fonction de la hauteur de
la section par rapport aux objets qui en font partie.

Le nouvel onglet Conception permet d'ajouter et de supprimer les espaces vides de


deux façons :
 en dimensionnant la zone dans l'onglet Conception à l'aide du curseur de
redimensionnement, ou
 en modifiant les options à l'aide de l’Expert Section.
Remarque : Vous pouvez également cliquer sur le bouton droit de la souris sur la
zone ombrée et à gauche de la section, puis choisir la commande Ajuster la section
du menu contextuel qui apparaît. Le logiciel redimensionne automatiquement la
section pour que la limite inférieure soit égale à celle du bas de l’objet.

Ajouter des espaces vides par redimensionnement


Pour ajouter des espaces vides entre les lignes dans l’état, pointez avec votre souris
sur la bordure inférieure de la section. Le pointeur se transforme en curseur de
redimensionnement.

Avec le curseur de
redimensionnement, descendez
la limite inférieure de la section
pour ajouter un espace vide.

248 Crystal Reports Guide de l’utilisateur


scr8.book Page 249 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Remarque : vous pouvez également cliquer sur le bouton droit de la souris sur la
zone ombrée et à gauche de la section, puis choisir Insérer Ligne du menu
contextuel. Le programme redimensionne automatiquement la section pour que
la limite inférieure soit égale à celle du bas de l’objet.

Suppression des espaces vides par le redimensionnement


Pour supprimer les espaces inutiles au sein d'une section, pointez avec la souris sur
la bordure inférieure de la section. Le pointeur se transforme en Curseur de
redimensionnement.

Avec le curseur de
redimensionnement, remontez
la limite inférieure de la section
pour supprimer un espace vide.

Suppression des espaces vides en supprimant une section


Si toute une section est vide (par exemple, vous n'insérez rien dans la section Pied
de page de l'état), vous pouvez supprimer l'espace inutile en supprimant la section
depuis l'Expert Section.

Pour supprimer les espaces vides en supprimant une section


1 Dans le menu Mettre en forme, cliquez sur la commande Section.
La boîte de dialogue Expert Section apparaît.
Truc : vous pouvez également cliquer sur le bouton Expert Section de la barre
d'outils Standard.
2 Dans la zone Sections, cliquez sur la section que vous souhaitez supprimer.
3 Dans l'onglet Commun, sélectionnez la case Supprimer (Sans exploration).
4 Cliquez sur OK pour revenir à l'état que vous exploitiez.
La section vide ne s'imprimera plus.

Crystal Reports Guide de l’utilisateur 249


scr8.book Page 250 Monday, April 2, 2001 12:29 PM

Mise en forme conditionnelle

Mise en forme conditionnelle


Dans la mise en forme conditionnelle, les instructions ne sont appliquées que sous
certaines conditions. Il se peut que vous vouliez par exemple :
 imprimer en rouge les comptes clients dont les dates d'échéance sont
dépassées,
 imprimer les dates dans l'ordre mois, jour, année pour vos clients du continent
nord américain,
 faire apparaître une couleur d’arrière-plan sur une ligne sur deux.
Crystal Reports permet d'appliquer la mise en forme conditionnelle dans un grand
nombre de situations.
Pour la mise en forme absolue, on utilise la procédure sélectionner puis appliquer.
Pour la mise en forme conditionnelle, on utilise la même procédure. Mais ici, il est
nécessaire en outre de préciser les conditions déterminant si la mise en forme sera
ou non appliquée. Pour définir ces conditions, utilisez des formules simples. Pour
plus d'informations sur les formules simples en syntaxe Crystal, reportez-vous
“Principes de base de la syntaxe Crystal” à la page 464. Ou, pour de plus amples
renseignements sur les formules simples à l'aide de la syntaxe Basic, voir
“Principes fondamentaux de la syntaxe Basic” à la page 422.
Lorsque vous définissez une formule de mise en forme conditionnelle, elle
remplace toutes les instructions déjà spécifiées dans l’Editeur de format. Par
exemple, si vous avez activé l’option Supprimer, et si par la suite vous soumettez
cette option à une condition, la suppression ne prendra effet que si les conditions de
la formule sont remplies.
Les propriétés binaires et celles avec attributs peuvent être assorties de conditions
dans Crystal Reports. Toutefois, la formulation des conditions est différente.

Propriétés conditionnelles binaires


Une propriété conditionnelle binaire vérifie si une condition a été remplie. La
propriété est appliquée si la condition est remplie et non appliquée dans le cas
contraire. Il n'y a pas de cas intermédiaire. Utilisez dans ce cas des formules
booléennes.

Exemple de syntaxe Crystal


condition

Exemple de syntaxe Basic


formule = condition
Le programme analyse chaque valeur pour savoir si elle satisfait à la condition et
retourne la valeur “ oui ” ou “ non ”. La propriété est ensuite appliquée à toute
valeur pour laquelle la réponse est “ oui ”.

250 Crystal Reports Guide de l’utilisateur


scr8.book Page 251 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Propriétés conditionnelles avec attributs


La propriété conditionnelle vérifie, parmi deux conditions ou plus, laquelle est remplie.
Le logiciel applique alors la mise en forme correspondante. Supposons par exemple
que vous désiriez imprimer les résultats de vos représentants en rouge lorsqu’ils sont
inférieurs aux objectifs et en noir dans le cas contraire. Le logiciel compare les résultats
aux objectifs. Dans un cas, il appliquera l'attribut rouge, dans l'autre, l'attribut noir.
Utilisez des constructions If-Then-Else (Si-Alors-Sinon) pour formuler ces
conditions. Pour la syntaxe Crystal, reportez-vous à “Expressions If” à la page 492.
Pour la syntaxe Basic, voir “Instructions If” à la page 450.

Exemple de syntaxe Crystal


If Condition A Then
crRouge
Else
crNoir
Exemple de syntaxe Basic
If Condition A Then
formule = crRouge
Else
formula = crBlack
End If
Lorsque vous définissez des propriétés d'attributs conditionnelles, Crystal Reports
en charge certains dans la liste Fonctions de l'Editeur de formule. Cliquez deux fois
sur celles que vous désirez ajouter à votre formule. Par exemple, si vous affectez
une instruction conditionnelle à l’alignement horizontal, la liste Fonctions propose
des attributs du type DefaultHorAligned, LeftAligned et Justified. Si vous affectez
des instructions conditionnelles aux bordures, cette liste comporte des attributs
tels que NoLine, SingleLine, DashedLine, etc.
Remarque : Incluez toujours le mot-clé Else dans les formules conditionnelles ;
sinon, les valeurs qui ne satisfont pas la condition If peuvent perdre leur format
d’origine. Pour que les valeurs conservent leur format d’origine dans ce cas,
utilisez la fonction DefaultAttribute.

Exemple de syntaxe Crystal


If Condition A Then
crRouge
Else
DefaultAttribute
Exemple de syntaxe Basic
If Condition A Then
formule = crRouge
Else
formula = DefaultAttribute
End If

Crystal Reports Guide de l’utilisateur 251


scr8.book Page 252 Monday, April 2, 2001 12:29 PM

Mise en forme conditionnelle

Il est possible d'appronfondir davantage cette propriété. Vous pouvez définir une
liste de conditions et une valeur de propriété pour chaque cas ; vous n'êtes pas
limité à deux conditions. Si par exemple un des champs numériques de votre état
porte sur les résultats des ventes dans divers pays, vous pouvez définir un ou
plusieurs attributs pour chaque pays. Votre formule précisera qu'au cas où les
informations sont relatives au pays A, l'attribut correspondant au pays A sera
appliqué. Si elles sont relatives au pays B, l'attribut du pays B sera appliqué, etc.
Si vous avez plus de deux possibilités, utilisez une formule du genre :

Exemple de syntaxe Crystal


If Condition A Then
crRouge
Else If Condition B Then
crNoir
Else If Condition C Then
crVert
Else
crBleu

Exemple de syntaxe Basic


If Condition A Then
formule = crRouge
ElseIf Condition B Then
formula = crBlack
ElseIf Condition C Then
formule = crVert
Else
formule = crBleu
End If
Utilisez une formule If-Then-Else à plusieurs conditions pour ce type de mise en
page conditionnelle.

Modification des polices conditionnelles


En ce qui concerne les champs mémo ou de type chaîne qui dépendent de
conditions telles qu'une valeur de paramètre, vous pouvez modifier la police, le
style de la police, la taille et la couleur à l'aide de l'Éditeur de format.

Pour modifier les polices conditionnelles


1 Cliquez avez le bouton droit de la souris sur le champ à mettre en forme pour
afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Police.

252 Crystal Reports Guide de l’utilisateur


scr8.book Page 253 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

La boîte de dialogue Editeur de format apparaît. L'onglet Police s’affiche.

3 Pour modifier les options relatives à la police, cliquez sur le bouton Formule
approprié, situé sur le côté droit de la boîte de dialogue.
4 Dans la boîte de dialogue Éditeur de formule, vous pouvez spécifier que les
polices conditionnelles ne changeront que si certaines conditions sont remplies.
5 Cliquez sur Enregistrer.
Remarque :
 En cas d'erreur dans la formule, Crystal Reports affiche un message d'erreur
lors de la compilation de la formule. Si une erreur est présente dans votre
formule, le compilateur des formules affichera les détails de l’erreur.
 Si aucune erreur n'existe dans votre formule, vous retournez à l'Éditeur de
format. Notez que le bouton Formule a été modifié. Ceci indique qu’une
formule a été entrée pour cette propriété.
6 Cliquez sur OK pour revenir à l'état que vous exploitiez.

Création d'un pied de page à partir de la deuxième page


Vous pouvez choisir d'imprimer un pied de page sur toutes les pages sauf la
première. Pour cela, vous allez appliquer une propriété binaire conditionnelle à la
section Pied de page.

Crystal Reports Guide de l’utilisateur 253


scr8.book Page 254 Monday, April 2, 2001 12:29 PM

Mise en forme conditionnelle

Pour créer un pied de page à partir de la deuxième page


1 Placez le champ qui deviendra votre pied de page dans la section Pied de page
de votre document.
2 Dans le menu Mettre en forme, cliquez sur la commande Section.
Truc : vous pouvez également cliquer sur le bouton Expert Section de la barre
d'outils Standard.
La boîte de dialogue Expert Section apparaît.

3 Dans la zone Sections, cliquez sur Pied de page.


4 Pour ouvrir la boîte de dialogue Éditeur de formule, cliquez sur le bouton
Formule, situé à droite de la case Supprimer (sans exploration).
5 Entrez la formule suivante dans l'Éditeur de formule :

Exemple de syntaxe Crystal


pageNumber = 1
Exemple de syntaxe Basic
formula = pageNumber = 1
Cette formule supprime la section dans la première page, mais la conserve dans
les autres.
6 Cliquez sur Enregistrer.

254 Crystal Reports Guide de l’utilisateur


scr8.book Page 255 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Remarque :
 En cas d'erreur dans la formule, Crystal Reports affiche un message d'erreur
lors de la compilation de la formule. Si une erreur est présente dans votre
formule, le compilateur des formules affichera les détails de l’erreur.
 Si aucune erreur n’existe dans votre formule, vous retournerez à l’Expert
Section. Notez que le bouton Formule a été modifié. Ceci indique qu’une
formule a été entrée pour cette propriété.
7 Cliquez sur le bouton Aperçu de la barre d’outils standard pour visualiser votre
état. Confirmez que le pied de page apparaît sur toutes les pages sauf la première.
Remarque :
 Si votre pied de page fait plusieurs lignes et que vous les avez mises dans des
sections distinctes, vous devrez introduire une formule de suppression
conditionnelle pour chacune d'elles.
 Vous pouvez de même faire apparaître un en-tête de page sur toutes les pages
sauf la première. Pour ce faire, placez l'information d'en-tête dans la section
En-tête de page et supprimez-la conditionellement à l'aide de la même formule
que ci-dessus.

Utiliser l’Expert Mise en relief


Crystal Reports inclut la puissante fonctionnalité de la mise en surbrillance qui
vous permet d’appliquer efficacement la mise en forme conditionnelle aux champs
numériques et monétaires. Il est surtout utilisé pour mettre en évidence et bien
distinguer des valeurs de champ par rapport à d'autres valeurs dans l'état. Par
exemple, si vous vouliez mettre en surbrillance en rouge le champ {client.VENTES
DE L’ANNEE PRECEDENTE} lorsque les ventes sont supérieures à 25 000$, vous
pourriez spécifier dans l’Expert Mise en relief que, si la valeur est supérieure à 25
000$, un arrière-plan sera appliqué au champ. Vous pouvez aussi utiliser la boîte
de dialogue pour définir une couleur de police et un style de bordure
conditionnels.
Considérez l'Expert Mise en relief comme une solution de rechange à l'Éditeur de
formule. Il calcule, avant tout, l'équation suivante : If Condition is True, Then
Apply These Formatting Specifications (si la condition est vraie, alors
appliquer ces spécifications de mise en forme). Dans ce but, la boîte de
dialogue est coupée en deux zones : la zone Eléments qui affiche la formule et la
section Editeur d’élément qui vous permet de définir la formule. L’Editeur
d’élément inclut un affichage exemplaire pour montrer les spécifications de mise
en forme appliquées.
Voici quelques avantages à noter :
 vous pouvez vous servir de l’Expert Mise en relief pour les champs
numériques/monétaires dans les tables croisées ;
 vous pouvez annuler la mise en relief.

Crystal Reports Guide de l’utilisateur 255


scr8.book Page 256 Monday, April 2, 2001 12:29 PM

Mise en forme conditionnelle

Définir les priorités de mise en relief


Les flèches Priorité dans la zone Eléments de l’Expert Mise en relief vous
permettent de définir les priorités pour vos formules. Ceci sera extrêmement utile
si vous avez deux formules ou plus pouvant donner des résultats incohérents dans
certaines situations.
Par exemple, supposons que vous mettez en surbrillance le champ Prix unitaire
dans votre état. Vous affectez à ce champ une formule de mise en relief qui affiche
un arrière-plan jaune si le prix unitaire est supérieur à 100$. Imaginez donc, que
dans le même état, vous créez une autre formule de mise en relief affichant un
arrière-plan rouge si le prix unitaire est supérieur à 200$. En considérant que 100
est un sous-ensemble de 200, vous pourriez avoir des champs Prix unitaire avec
des arrière-plans jaunes quand, en fait, ces champs-là devraient en avoir des
rouges. Autrement dit, un prix unitaire de 300$ pourrait recevoir un arrière-plan
soit en jaune, soit en rouge, dépendant de la formule qui a reçu la priorité.

Pour définir la priorité d’une formule


1 Dans le menu Mettre en forme, cliquez sur la commande Expert Mise en relief.
2 Sélectionnez la formule.
3 Dans la zone Liste d'éléments, utilisez les flèches Priorité pour déplacer la
formule sélectionnée à un endroit au-dessous ou au-dessus de la (des)
formule(s).
Remarque : Une formule a la priorité sur une autre formule lorsqu’elle est plus
haut dans la section Liste des éléments.
4 Cliquez sur OK.
5 Actualisez votre état, ou cliquez sur l’onglet Aperçu pour voir les
modifications à la mise en relief.
Remarque : Vous pouvez utiliser les boutons Enlever et Tout enlever pour
supprimer les formules.

Champs mis en forme conditionnellement à l'aide de l'Expert Mise


en relief
Avec l'Expert Mise en relief, vous pouvez mettre en forme conditionnellement des
champs numériques et monétaires uniquement.

Pour mettre en forme conditionnellement des champs à l'aide de


l'Expert Mise en relief
1 Cliquez avec le bouton droit de la souris sur le champ monétaire ou
numérique à mettre en forme pour afficher le menu contextuel.
2 Dans le menu contextuel, cliquez sur la commande Expert Mise en relief.

256 Crystal Reports Guide de l’utilisateur


scr8.book Page 257 Monday, April 2, 2001 12:29 PM

12 : Mise en forme

Truc : Vous pouvez également cliquer sur le bouton Mise en relief de la barre
d'outils Mise en forme.
La boîte de dialogue Expert Mise en relief apparaît.

3 Dans la zone Éditeur d’élément, sélectionnez une comparaison dans la zone


Valeur est et entrez une valeur numérique dans la zone avoisinante.
4 Dans les listes intitulées Couleur de police, Arrière-plan et Bordure, spécifiez
les modifications de mise en forme que vous avez apportées au champ
sélectionné.
5 Répétez les étapes 3 et 4 si vous souhaitez appliquer plusieurs paramètres de
mise en relief au champ sélectionné.
6 Cliquez sur les flèches Priorité afin de préciser la priorité pour chaque
paramètre supplémentaire utilisé. Voir “Définir les priorités de mise en relief”
à la page 256.
7 Cliquez sur OK pour revenir à l'état que vous exploitiez.

Annuler/Répéter une action


Crystal Reports propose plusieurs niveaux d'annulation. Ceci vous permet
d'annuler autant de commandes successives que nécessaire pour revenir à une
configuration l'état qui vous convient.
Le programme dispose aussi d'une fonction qui inverse l'annulation. Par exemple,
si vous déplacez un objet et que vous n'aimez pas sa nouvelle position, vous
cliquez sur l'option Annuler. Si vous changez d'avis et que vous souhaitez le
ramener à sa dernière position, cliquez sur l'option Répéter.
Les boutons Annuler/Répéter comprennent des listes qui vous permettent
d’annuler ou de refaire plusieurs changements en une fois.

Crystal Reports Guide de l’utilisateur 257


scr8.book Page 258 Monday, April 2, 2001 12:29 PM

Mise en forme conditionnelle

 Pour annuler une action, cliquez sur le bouton Annuler de la barre d'outils
Standard.
La dernière modification apportée à votre état est annulée. Pour annuler la
modification précédente, cliquez une deuxième fois, et ainsi de suite.
Pour annuler plusieurs actions en une seule fois, cliquez sur le bouton fléché
pour afficher la liste des actions. Sélectionnez la série d’actions que vous
souhaitez annuler.
 Pour rétablir une action que vous venez d'annuler, cliquez sur le bouton
Répéter de la barre d'outils Standard.
Le programme désactive le bouton Annuler et les commandes Annuler/
Répéter lorsqu'il n'y a aucune action à annuler/répéter, ou lorsque la dernière
modification est irréversible.
Pour répéter plusieurs actions en une seule fois, cliquez sur le bouton fléché
pour afficher la liste des actions. Sélectionnez la série d’actions que vous
souhaitez répéter.
Remarque : Vous ne pouvez annuler ou répéter les actions que dans l’ordre inverse
de celui dans lequel elles ont été effectuées. Vous ne pouvez pas annuler une action
sans annuler les actions qui ont suivi celle-ci (les actions les plus récentes).

258 Crystal Reports Guide de l’utilisateur


scr8.book Page 259 Monday, April 2, 2001 12:29 PM

Création de graphes 13

Crystal Reports vous permet de présenter des données


résumées dans des graphes colorés et faciles à lire. Ce
chapitre décrit le processus de création des graphes et leurs
modes d'utilisation en vue d'une amélioration de la
signification et de l'intelligibilité des données contenues
dans vos états. En plus de choisir parmi un certain nombre
de modèles et de types de graphe, vous pouvez aussi
explorer les détails des résumés graphiques et mettre en
forme les objets graphes.

Crystal Reports Guide de l’utilisateur 259


scr8.book Page 260 Monday, April 2, 2001 12:29 PM

Concepts de création des graphes

Concepts de création des graphes


Généralités sur la création de graphes
Crystal Reports permet d’intégrer dans les états des graphes ou des graphes
élaborés et en couleur. Vous pouvez utiliser ceux-ci pour améliorer la présentation
et la lisibilité de vos états.
Vous pouvez, par exemple, utiliser un graphe pour présenter le bilan de vos ventes
par région par rapport à un sous-total des ventes de l'année précédente.

Vous pouvez utiliser les données suivantes lors de la création d'un graphe :
 des champs de résumés et de sous-totaux,
 des champs de détails, de formules et de totaux cumulés,
 des résumés de tables croisées,
 des données OLAP.
Généralement, la création d'un graphe n'est effectuée qu'avec des résumés et des
sous-totaux au niveau du groupe. Cependant, selon les données que vous
exploitez, vous pouvez créer des graphes de type Avancé, Table croisée ou
contenant des données OLAP dans vos documents.

260 Crystal Reports Guide de l’utilisateur


scr8.book Page 261 Monday, April 2, 2001 12:29 PM

13 : Création de graphes

Modèles de graphe
L'Expert Graphe offre quatre modèles correspondant à certains jeux de données.
Vous pouvez créer des graphes sur la base de tous les modèles suivants et passer très
facilement d'un modèle de graphe à un autre selon les données que vous exploitez.

Avancé
Utilisez le modèle Avancé lorsque vous avez plusieurs valeurs de graphe au lieu
d'une seule, ou lorsque vous n'avez pas de groupes ou de résumés dans votre état.
Le modèle de graphe Avancé accepte un ou deux champs de condition. Avec ces
champs, vous pouvez créer un graphe en deux ou trois dimensions. D'autres
fonctions spécifiques dans le modèle Avancé comprennent :
 la possibilité de grouper les valeurs par ordre croissant, décroissant ou spécifié
et sur la base de totaux N Sup ou Tri,
 la possibilité de tracer les valeurs pour chaque enregistrement,
 la possibilité de tracer les valeurs en tant que total général de tous les
enregistrements,
 la possibilité de baser les graphes sur des champs de formules et de totaux
cumulés.

Groupe
Le modèle Groupe est un modèle simplifié dans lequel vous montrez un résumé
sur le changement d'un champ géographique tel que Pays.
Remarque : pour créer un graphe sur la base du modèle Groupe, vous devez
avoir au moins un groupe et un champ de résumé pour ce groupe dans l'état.

Table croisée
Utilisez le modèle Table croisée lorsque vous générez un graphe sur la base d’un
objet Table Croisée. Un graphe de type Table croisée utilise les champs de la table
croisée comme champs de condition et de résumé.

OLAP
Utilisez le modèle OLAP lorsque vous générez un graphe sur la base d’une grille
OLAP. Un graphe de type OLAP utilise les champs de la grille OLAP comme
champs de condition et de résumé.

Crystal Reports Guide de l’utilisateur 261


scr8.book Page 262 Monday, April 2, 2001 12:29 PM

Concepts de création des graphes

Types de graphe
Certaines données se présentent mieux à l’aide d’un graphe ou graphe spécifique.
Référez-vous aux descriptions suivantes pour les généralités sur les principaux
types de graphes et de graphes, et leurs utilisations les plus courantes.

Barre
Un graphe en barres (également appelé graphe en colonnes) permet l'affichage ou
la comparaison de plusieurs jeux de données. Les deux types de graphe en barres
les plus utiles sont l'histogramme et le graphe en barres empilées.
 Histogramme
Un histogramme affiche les données sous forme d'une série de barres
verticales. Ce graphe affiche une rangée de colonnes juxtaposées, un format
graphe bien adapté à la présentation de données concernant plusieurs groupes
différents pendant une durée spécifique de temps (par exemple, les chiffres de
vente de l’année passée pour l’Arizona, la Californie, l’Orégon et l’état de
Washington).
 Graphe en barres empilées
Un graphe en barres empilées affiche les données sous forme d'une série de
barres verticales. Chaque type de données, portant une couleur différente, se
trouve empilée dans une seule colonne (affichant par exemple trois couleurs
représentant les ventes pour les années 1997, 1998 et 1999).

Courbe
Une courbe affiche des données en tant qu’une série de plusieurs points reliés par
une ligne. Ce type de graphe est particulièrement indiqué pour présenter de la
meilleure façon des données sur plusieurs groupes, par exemple, les chiffres totaux
de ventes s’étalant sur plusieurs années consécutives.

Aire
Ce type de graphe affiche des données en tant que zones ou surfaces, chaque zone
étant mise en valeur par des couleurs ou motifs différents. Ces graphes s’adaptent
le mieux aux présentations de données pour un nombre limité de groupes (par
exemple, le pourcentage des ventes totales pour l’Arizona, la Californie, l’Orégon
et l’état de Washington).

Secteurs
Appelé également Camembert, il présente les données sous la forme d’un
camembert dont les différentes tranches ou sections sont mises en valeur par des
couleurs ou des motifs différents. Ce type de graphe ne peut montrer qu’un seul
groupe de données (par exemple, le pourcentage de ventes pour un seul
inventaire); toutefois, vous avez maintenant l’option de sélectionner plusieurs
graphes en secteurs pour de multiples groupes de données.

262 Crystal Reports Guide de l’utilisateur


scr8.book Page 263 Monday, April 2, 2001 12:29 PM

13 : Création de graphes

Anneau
Un graphe Anneau ressemble à un graphe en secteurs qui affiche les données en
tant que sections d’un cercle ou d’un anneau. Si, par exemple, vous avez généré un
graphe des ventes par région dans un certain état, vous verriez le nombre total des
ventes (le chiffre) au centre de l’anneau et les régions en tant que sections colorées
de l’anneau. Comme le graphe en secteurs, vous avez l’option de sélectionner
plusieurs graphes Anneau pour de multiples jeux de données.

Colonnes 3D
Un graphe Colonnes 3D affiche les données en une série d’objets tridimensionnels,
rangés côte à côte sur un plan tridimensionnel. Le graphe Colonnes 3D affiche
d’excellente façon les valeurs d’état extrêmes. Par exemple, les différences de
ventes par client et pays sont visuellement dynamiques lorsqu’elles sont
présentées dans ce graphe.

Surface 3D
Les graphes Surface 3D présentent une vue topographique de plusieurs jeux de
données. Si, par exemple, vous avez besoin d’un graphe qui montre le nombre de
ventes par client par pays en format dynamique et visuellement attirant, vous
devriez penser à utiliser un graphe Surface 3D.

Nuage de points XY
Un graphe Nuage de points XY est en général une collection de points tracés qui
représentent des données spécifiques dans une mine d’informations. Ce graphe
permet à l’utilisateur d’étudier une plus grande envergure de données afin de
déterminer des tendances. Par exemple, si vous entrez des informations de client,
y compris les ventes, les produits, les pays, les mois et les années ; vous aurez
comme résultat une collection de points tracés représentant cette mine
d’information de client. Afficher toutes ces données dans un graphe Nuage de
points XY vous permettrait de faire des conjectures sur la raison pour laquelle
certains produits sont plus achetés que d’autres ou pourquoi les achats dans
certaines régions sont plus hauts que dans d’autres.

Radar
Un graphe Radar positionne les données de groupes comme Pays ou Clients au
périmètre du radar. Le graphe Radar insère ensuite des valeurs numériques,
augmentant en valeur, du centre du radar au périmètre. De cette manière,
l’utilisateur peut déterminer, d’un coup d’oeil, comment des données de groupe
spécifiques sont liées à l’ensemble de données en entier.

Crystal Reports Guide de l’utilisateur 263


scr8.book Page 264 Monday, April 2, 2001 12:29 PM

Concepts de création des graphes

Bulle
Un graphe Bulle affiche les données en tant que série de bulles dont la taille est
proportionnelle au montant des données. Un graphe Bulle serait extrêmement
utile pour afficher le nombre de produits vendus dans une région ; plus grande est
la bulle, plus grand est le nombre de produits vendus dans la région donnée.

Boursier
Un graphe Boursier présente les valeurs hautes et basses des données. Grâce à cette
capacité, un graphe Boursier est un outil excellent pour observer les ventes ou les
activités financières.

Positionnement de votre graphe


L’emplacement de votre graphe détermine le type de données qui sont affichées et
l’endroit où elles sont imprimées. Par exemple, si vous placez un graphe dans la
section En-tête d’état, le graphe inclut les données de l’état complet. En revanche,
si vous le placez dans une section En-tête ou Pied de page de groupe, il affiche les
données spécifiques au groupe.
Remarque : si votre état contient des sous-états, vous pouvez également y placer
des graphes. Voir “Sous-états” à la page 521.

Exploration à l’aide de graphes


Les graphes sont des outils puissants non seulement de présentation, mais aussi
d'analyse des données. Vous pouvez activer le mode d'exploration en cliquant
avec le bouton droit de la souris sur le modèle Groupe dans l'onglet Aperçu et en
sélectionnant la commande Explorer dans le menu contextuel. En mode
d'exploration, le pointeur que vous placez sur une zone du modèle Groupe dans
l'onglet Aperçu se transforme en curseur d'exploration. Il suffit de cliquer deux fois
pour visualiser les détails sous-jacents de la zone concernée.

Exploration à l'aide des légendes


Si le graphe contient un ou plusieurs champs de groupe, vous pouvez utiliser la
légende du graphe pour explorer des groupes individuels. Cliquez deux fois, en
utilisant le curseur d'exploration, sur les marqueurs et le texte de la légende pour
visualiser les détails de la zone concernée.

264 Crystal Reports Guide de l’utilisateur


scr8.book Page 265 Monday, April 2, 2001 12:29 PM

13 : Création de graphes

Création de graphes
Création de graphes à l'aide de champs de détails ou de formules
(modèle de graphe Avancé)
Le modèle de graphe Avancé vous permet de créer un graphe selon des valeurs
spécifiques. Ces valeurs sont souvent le résultat de données issues d'un champ de
résumé de votre état où les valeurs considérées dans le graphe dépendent de celles
du champ de résumé. Le modèle Avancé vous donne la possibilité de concevoir un
graphe sans avoir à recourir à ce champ, en utilisant les valeurs qui se trouvent
dans la section Détails de votre état.
Avant de créer un tel graphe, vous devez spécifier deux choses :
 la condition (il peut y en avoir deux), et
 la valeur (il peut y en avoir plusieurs).

Condition
La condition permet d'indiquer à quel moment placer le point. Par exemple, la
condition représente le champ Nom du client pour un graphe contenant des
données sur les ventes de l'année précédente. Chaque fois que la condition change
(ici le nom du client), un point est dessiné.
Vous avez aussi la possibilité de tracer un point pour chacun des enregistrements
ou pour tous les enregistrements.

Valeur
Le graphe de type Avancé utilise la valeur pour indiquer les points qui sont
dessinés sur votre graphe. Par exemple, si vous voulez créer un graphe contenant
des données sur les ventes de l'année précédente, le champ Ventes de l'année
précédente sera la valeur.

Pour créer un graphe selon un champ de détails ou de formule


1 Dans le menu Insérer cliquez sur la commande Graphe.
Truc : vous pouvez également cliquer sur le bouton Insérer un graphe de la
barre d'outils Standard.

Crystal Reports Guide de l’utilisateur 265


scr8.book Page 266 Monday, April 2, 2001 12:29 PM

Création de graphes

La boîte de dialogue Expert Graphe apparaît.

2 Dans la liste Type de graphe de l'onglet Type, sélectionnez un type de graphe.


Cliquez ensuite sur le type de graphe le mieux adapté aux données à
présenter. Voir “Types de graphe” à la page 262.
3 Sélectionnez Définir les options de graphe automatiquement si vous
souhaitez que l'Expert Graphe utilise les options par défaut des onglets Axes et
Options.
Remarque : Si vous souhaitez sélectionner manuellement des options des
onglets Axes et Options, veillez à ce que cette option soit désactivée.
4 Cliquez sur l'onglet Données.

266 Crystal Reports Guide de l’utilisateur


scr8.book Page 267 Monday, April 2, 2001 12:29 PM

13 : Création de graphes

5 Dans la zone Disposition, cliquez sur le bouton Avancé, si celui-ci n'est pas
déjà activé.
6 Dans la zone de liste déroulante Insérer le graphe de la section Placement,
spécifiez la fréquence d'affichage du graphe dans l'état, puis cliquez sur les
options En-tête ou Pied de page pour préciser l'emplacement du graphe.
7 Dans la section Données, spécifiez les champs de base de données que vous
souhaitez utiliser comme conditions.
Vous pouvez sélectionner le champ Sur changement de à partir de la zone de
liste déroulante, puis combiner les deux bases de données ensemble dans la
case qui se trouve en dessous de la liste.
Les boutons fléchés de la boîte de dialogue Expert Graphe permettent de
déplacer les champs d'une liste vers l'autre. Les flèches simples ne déplacent
que le champ sélectionné; les flèches doubles déplacent tous les champs à la fois.
8 Ajoutez les champs de base de données que vous voulez utiliser comme
valeurs à la zone de liste déroulante Afficher les valeurs.
9 Activez la case à cocher Ne pas résumer les valeurs si vous ne voulez pas que
Crystal Reports résume automatiquement les valeurs de graphe.
10 Lorsque les onglets Axes et Options apparaissent, vous pouvez personnaliser
certaines propriétés du graphe, telles que l'échelle des axes, la légende et les
points de données.
11 Cliquez sur l'onglet Texte.
12 Acceptez le titre proposé par défaut ou saisissez un nouveau titre, le cas échéant.
13 Cliquez sur OK.
Le graphe est placé dans la section En-tête ou Pied de page de l'état, selon la
sélection effectuée à l'étape 7. Il peut s'avérer nécessaire d'actualiser l'état pour
prévisualiser la version finale du graphe.
Remarque : lorsque vous insérez un graphe dans votre état, il peut couvrir une
partie du document. Il est donc nécessaire de déplacer le graphe et de réajuster ses
dimensions selon vos propres spécifications.

Création de graphes à l'aide de champs de résumés ou de sous-totaux


(modèle Groupe)
Un grand nombre des graphes que vous créez sont basés sur des résumés ou des
sous-totaux se trouvant dans votre état. Votre état doit déjà contenir un résumé ou
un sous-total pour que vous puissiez créer un tel graphe. Pour de plus amples
renseignements sur l'insertion de résumés et de sous-totaux, voir “Résumé de
données groupées” à la page 163 et “Sous-totaux” à la page 167.

Crystal Reports Guide de l’utilisateur 267


scr8.book Page 268 Monday, April 2, 2001 12:29 PM

Création de graphes

Pour créer un graphe selon un champ de résumé ou de sous-total


1 Dans le menu Insérer, cliquez sur la commande Graphe.
La boîte de dialogue Expert Graphe apparaît.
Truc : vous pouvez également cliquer sur le bouton Insérer un graphe de la
barre d'outils Standard.
2 Dans la liste Type de graphe de l'onglet Type, sélectionnez un type de graphe.
Cliquez ensuite sur le type de graphe le mieux adapté aux données à
présenter. Voir “Types de graphe” à la page 262.
3 Sélectionnez Définir les options de graphe automatiquement si vous souhaitez
que l'Expert Graphe utilise les options par défaut des onglets Axes et Options.
Remarque : Si vous souhaitez sélectionner manuellement des options des
onglets Axes et options, veillez à ce que cette option soit désactivée.
4 Cliquez sur l'onglet Données.

5 Dans la zone Disposition, cliquez sur le bouton Groupe, si celui-ci n'est pas
déjà activé.
Remarque : lorsque le calcul d’un champ de résumé ou de sous-total est
effectué, les données sont automatiquement groupées. Voir “Tris,
groupements et calculs de totaux” à la page 143.
6 Dans la zone de liste déroulante Insérer le graphe de la section Placement,
spécifiez la fréquence d'affichage du graphe dans l'état, puis cliquez sur les
options En-tête ou Pied de page pour préciser l'emplacement du graphe.
Remarque : La liste Insérer le graphe comprend tous les groupes de votre état
comportant des champs de résumé sauf le groupe le plus à l’intérieur.

268 Crystal Reports Guide de l’utilisateur


scr8.book Page 269 Monday, April 2, 2001 12:29 PM

13 : Création de graphes

7 Dans la zone de liste déroulante Sur changement de de la section Données,


cliquez sur le champ de groupe à utiliser. Dans la zone de liste déroulante
Afficher, cliquez sur le champ de résumé que vous voulez afficher dans le
graphe.
8 Lorsque les onglets Axes et Options apparaissent, vous pouvez personnaliser
certaines propriétés du graphe, telles que l'échelle des axes, la légende et les
points de données.
9 Cliquez sur l'onglet Texte.
10 Acceptez le titre proposé par défaut ou saisissez un nouveau titre, le cas échéant.
11 Cliquez sur OK.
Le graphe est placé dans la section En-tête ou Pied de page de l'état, selon la
sélection effectuée à l'étape 6. Il peut s'avérer nécessaire d'actualiser l'état pour
prévisualiser la version finale du graphe.
Remarque : lorsque vous insérez un graphe dans votre état, il peut couvrir une
partie du document. Il est donc nécessaire de déplacer le graphe et de réajuster ses
dimensions selon vos propres spécifications.

Création de graphes à l'aide de résumés de tables croisées (modèle


Table croisée)
Crystal Reports vous permet d'inclure un graphe basé sur des valeurs résumées
dans votre table croisée. Par exemple, avec une table croisée qui affiche le nombre
total d'un produit particulier vendu dans chaque région française, vous avez la
possibilité d'inclure un graphe qui montre le pourcentage des ventes totales de ce
produit par région.
Pour pouvoir créer un graphe de type Table croisée, vous devez disposer d'une
table croisée dans votre état. Pour de plus amples renseignements, voir “Objets
tables croisées” à la page 315.

Pour créer un graphe selon un résumé de table croisée


1 Sélectionnez la grille OLAP que vous souhaitez utiliser.
2 Dans le menu Insérer, cliquez sur la commande Graphe. La boîte de dialogue
Expert Graphe apparaît.
Truc : vous pouvez également cliquer sur le bouton Insérer un graphe de la
barre d'outils Standard.
3 Dans la liste Type de graphe de l'onglet Type, sélectionnez un type de graphe.
Cliquez ensuite sur le type de graphe le mieux adapté aux données à
présenter. Voir “Types de graphe” à la page 262.

Crystal Reports Guide de l’utilisateur 269


scr8.book Page 270 Monday, April 2, 2001 12:29 PM

Création de graphes

4 Sélectionnez Définir les options de graphe automatiquement si vous souhaitez


que l'Expert Graphe utilise les options par défaut des onglets Axes et Options.
Remarque : Si vous souhaitez sélectionner manuellement des options des
onglets Axes et options, veillez à ce que cette option soit désactivée.
5 Cliquez sur l'onglet Données.

6 Dans la zone Disposition, cliquez sur le bouton Table croisée, si celui-ci n'est
pas déjà activé.
7 Dans la section Placement, cliquez sur les options En-tête ou Pied de page
pour spécifier l'emplacement du graphe.
Remarque : la fréquence d'affichage du graphe dans l'état dépend de
l'emplacement du champ de résumé de table croisée.
8 Dans la zone de liste déroulante Sur changement de de la section Données,
cliquez sur le champ de groupe que vous voulez utiliser.
9 Le cas échéant, spécifiez une ligne ou une colonne secondaire pour votre
graphe dans la zone de liste déroulante Subdivisé par.
10 Dans la zone de liste déroulante Afficher, cliquez sur le champ de résumé que
vous voulez utiliser.

270 Crystal Reports Guide de l’utilisateur


scr8.book Page 271 Monday, April 2, 2001 12:29 PM

13 : Création de graphes

11 Lorsque les onglets Axes et Options apparaissent, vous pouvez personnaliser


certaines propriétés du graphe, telles que l'échelle des axes, la légende et les
points de données.
12 Cliquez sur l'onglet Texte.
13 Acceptez le titre proposé par défaut ou saisissez un nouveau titre, le cas échéant.
14 Cliquez sur OK.
Le graphe est placé dans la section En-tête ou Pied de page de l'état, selon la
sélection effectuée à l'étape 7. Il peut s'avérer nécessaire d'actualiser l'état pour
prévisualiser la version finale du graphe.
Remarque : lorsque vous insérez un graphe dans votre état, il peut couvrir une
partie du document. Il est donc nécessaire de déplacer le graphe et de réajuster ses
dimensions selon vos propres spécifications.

Création de graphes sur la base d'un cube OLAP (modèle OLAP)


Vous pouvez utiliser le modèle OLAP pour tracer le graphe sur une grille OLAP.
Vous devez avoir une grille OLAP dans votre état pour pouvoir créer un graphe
OLAP. Pour de plus amples renseignements, voir “Création d'un état OLAP” à la
page 336.

Pour créer un graphe sur la base d'un cube OLAP


1 Sélectionnez la grille OLAP que vous souhaitez utiliser.
2 Dans le menu Insérer, cliquez sur la commande Graphe. La boîte de dialogue
Expert Graphe apparaît.
Truc : vous pouvez également cliquer sur le bouton Insérer un graphe de la
barre d'outils Standard.
3 Dans la liste Type de graphe de l'onglet Type, sélectionnez un type de graphe.
Cliquez ensuite sur le type de graphe le mieux adapté aux données à
présenter. Voir “Types de graphe” à la page 262.
4 Sélectionnez Définir les options de graphe automatiquement si vous souhaitez
que l'Expert Graphe utilise les options par défaut des onglets Axes et Options.
Remarque : Si vous souhaitez sélectionner manuellement des options des
onglets Axes et options, veillez à ce que cette option soit désactivée.

Crystal Reports Guide de l’utilisateur 271


scr8.book Page 272 Monday, April 2, 2001 12:29 PM

Création de graphes

5 Cliquez sur l'onglet Données.

6 Dans la zone Disposition, cliquez sur bouton OLAP, si celui-ci n'est pas déjà
activé.
7 Dans la section Placement, cliquez sur les options En-tête ou Pied de page
pour spécifier l'emplacement du graphe.
Remarque : la fréquence d'apparition du graphe dans l'état dépend de la
section de l'état dans laquelle se trouve la grille OLAP.
8 Dans la zone de liste déroulante Sur changement de de la section Données,
cliquez sur le champ que vous voulez utiliser.
9 Le cas échéant, spécifiez une ligne ou une colonne secondaire pour votre
graphe dans la zone de liste déroulante Subdivisé par.
Remarque : assurez-vous que le type de graphe sélectionné à l'étape 3
reconnaît un champ de création de graphe secondaire.
10 Lorsque les onglets Axes et Options apparaissent, vous pouvez personnaliser
certaines propriétés du graphe, telles que l'échelle des axes, la légende et les
points de données.
11 Cliquez sur l'onglet Texte.
Acceptez le titre proposé par défaut ou saisissez un nouveau titre, le cas échéant.
12 Cliquez sur OK.
Le graphe est placé dans la section En-tête ou Pied de page de l'état, selon la
sélection effectuée à l'étape 7. Il peut s'avérer nécessaire d'actualiser l'état pour
prévisualiser la version finale du graphe.
Remarque : lorsque vous insérez un graphe dans votre état, il peut couvrir une
partie du document. Il est donc nécessaire de déplacer le graphe et de réajuster ses
dimensions selon vos propres spécifications.

272 Crystal Reports Guide de l’utilisateur


scr8.book Page 273 Monday, April 2, 2001 12:29 PM

13 : Création de graphes

Exploitation des graphes


Modification des graphes à l'aide de l'Expert Graphe
Une fois le graphe créé, vous avez également la possibilité d'y ajouter un titre, des
en-têtes ou une légende, de changer la police, ou de modifier le type de graphe.
L'Expert Graphe simplifie ces modifications.

Pour modifier un graphe à l'aide de l'Expert Graphe


1 Cliquez avec le bouton droit de la souris sur le graphe pour afficher le menu
contextuel.
2 Dans le menu contextuel, cliquez sur la commande Expert Graphe.
3 Dans la boîte de dialogue Expert Graphe, effectuez les modifications souhaitées.
4 Cliquez sur OK.

Modification des graphes à l'aide de l'onglet Analyseur


Crystal Reports fournit l’onglet Analyseur qui permet de créer des graphes selon
un concept avancé. Vous pouvez vous servir de cet onglet afin de réorganiser les
éléments de vos graphes en vue d'une analyse plus efficace.

Pour lancer l'onglet Analyseur


1 Dans l'onglet Aperçu, cliquez avec le bouton droit de la souris sur le graphe
pour afficher le menu contextuel.
2 Dans le menu contextuel, cliquez sur la commande Analyseur de graphe.
Crystal Reports ouvre l’onglet Analyseur.
Lors de la visualisation d'un graphe dans l'onglet Analyseur, vous pouvez
effectuer les opérations suivantes à l'aide des commandes du menu contextuel :
 effectuer un zoom avant et un zoom arrière des graphes en barres et des courbes ;
 enregistrer le modèle en cours dans un fichier ;
 changer le titre des axes dans le modèle graphe ;
 changer les spécifications du graphe ;
 changer le titre du graphe ;
 changer les grilles et les échelles des axes numériques du graphe ;
 effectuer toute opération de mise en forme supplémentaire spécifique au type
de graphe choisi ;
 réorganiser automatiquement les éléments du graphe.

Crystal Reports Guide de l’utilisateur 273


scr8.book Page 274 Monday, April 2, 2001 12:29 PM

Exploitation des graphes

Un grand nombre des opérations énumérées ici sont également disponibles dans
le menu Paramètres de graphe avancés des onglets Conception, Aperçu et
Analyseur. La sélection d'une commande de ce menu à partir des onglets
Conception ou Aperçu permet l'application des modifications que vous avez
effectuées à toutes les instances du graphe dans votre état. Ou, le choix d'une
commande du menu Paramètres de graphe avancées dans l'onglet Analyseur
permet de définir les propriétés d'une instance individuelle d'un graphe
indépendamment du reste de l'état.
L'onglet Analyseur permet d'afficher jusqu'à deux objets graphes en même temps.
Dans pareil cas, il présente deux volets, chacun affichant une section distincte.
Pour redimensionner une section, déplacez le curseur sur le bord de la section
jusqu'à ce qu'il se transforme en curseur de redimensionnement et faites glisser
ensuite le bord pour agrandir ou réduire la taille de la section selon vos besoins.
Vous pouvez aussi utiliser l'onglet Analyseur pour travailler avec des objets
graphes qui ont été insérés dans un sous-état. Le programme ouvre un troisième
onglet Analyseur pour chaque sous-état contenant l'objet graphe que vous
analysez. Vous pouvez afficher simultanément jusqu'à deux objets graphes à partir
du même sous-état dans un onglet Analyseur.
Remarque : les modifications que vous effectuez dans l'onglet Analyseur
s'appliquent au(x) graphe(s) sélectionné(s). Il est toutefois possible d'appliquer
vos modifications à toutes les instances du (des) graphe(s) en activant l'option
Appliquer les changements. Vous pouvez sélectionner deux graphes
simultanément dans l'analyseur. Lorsque deux graphes sont actifs dans l'onglet
Analyseur et que vous voulez travailler avec un troisième, un message apparaît
qui vous demande de remplacer l'un des graphes précédemment sélectionnés.

Mise en forme d'objets graphes dans l'onglet Analyseur


Lors de la visualisation d'un graphe dans l'onglet Analyseur, vous pouvez
déplacer ou redimensionner les objets graphes suivants à l'aide de la procédure
glisser-déplacer :
 le graphe,
 le titre,
 le sous-titre,
 la note de bas de page,
 la légende,
 le titre de l'axe des X,
 le titre de l'axe des Y1,
 le titre de l'axe des Y2.

274 Crystal Reports Guide de l’utilisateur


scr8.book Page 275 Monday, April 2, 2001 12:29 PM

13 : Création de graphes

Utilisation des capacités de zoom sur les graphes en barres et les courbes
Les onglets Aperçu et Analyseur disposent tous les deux de commandes vous
permettant d'agrandir (zoom avant) ou de réduire (zoom arrière) l'affichage des
graphes en barres et des courbes dans votre document. Vous avez la possibilité
d'agrandir ou de réduire l'affichage de ces types de graphe quand bon vous
semble. Chaque agrandissement ou réduction de l'affichage est spécifique à
l'instance. Si vous décidez d'enregistrer l'instance du graphe agrandi ou réduit,
vous devez enregistrer les données avec l'état.

Pour agrandir ou réduire l'affichage d'un graphe en barres ou d’une


courbe
1 Dans les onglets Aperçu ou Analyseur, cliquez avec le bouton droit de la
souris sur le graphe en barres ou la courbe pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Zoom avant.
3 Cliquez sur le graphe à l'aide du curseur Zoom avant.
Le graphe grossit d'un niveau.
4 Cliquez à nouveau sur le graphe pour accentuer le grossissement.
Remarque : pour afficher une section du graphe plus en détails (par exemple,
une augmentation dans votre graphe en barres), faites glisser le curseur Zoom
avant autour de la section pour la cerner dans un rectangle.
5 En ce qui concerne le procédé de zoom arrière, cliquez avec le bouton droit de
la souris pour afficher le menu contextuel.
6 Dans le menu contextuel, sélectionnez la commande Zoom arrière.
7 Cliquez sur le graphe à l'aide du curseur Zoom arrière.
Le graphe diminue d'un niveau.
8 Cliquez à nouveau sur le graphe pour accentuer la réduction.

Réorganisation automatique des éléments d'un graphe


Si vous décidez de déplacer ou de redimensionner des objets graphes dans l'onglet
Analyseur, n'oubliez pas d'activer la fonction Réorganisation automatique de
graphe pour redéfinir le graphe.

Pour réorganiser automatiquement les éléments d'un graphe


1 Dans l'onglet Analyseur, cliquez avec le bouton droit de la souris sur le graphe
pour afficher le menu contextuel.
2 Dans le menu contextuel, cliquez sur la commande Réorganisation
automatique de graphe.
Crystal Reports redéfinit le graphe dans l'onglet Analyseur.

Crystal Reports Guide de l’utilisateur 275


scr8.book Page 276 Monday, April 2, 2001 12:29 PM

Exploitation des graphes

Modification de la taille et de l'emplacement du graphe


Vous pouvez utiliser la boîte de dialogue Taille et emplacement de l'objet pour
spécifier la hauteur, la largeur et l'emplacement d'un graphe (en cm).

Pour modifier la taille et l'emplacement du graphe


1 Dans les onglets Conception ou Aperçu, cliquez avec le bouton droit de la
souris sur le graphe pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Taille et position d'objet.
La boîte de dialogue Taille et position d'objet apparaît.

3 Dans la zone modifiable X, entrez (en cm) la distance voulue entre le bord
gauche de l'objet graphe et la marge gauche de la section d'état.
La distance par défaut est 0,1cm.
4 Dans la zone modifiable Y, entrez (en cm) la distance voulue entre le bord
supérieur de l'objet graphe et la marge supérieure de la section d'état.
La distance par défaut est 0,07cm.
5 Dans la zone modifiable Hauteur, entrez (en cm) la hauteur souhaitée du graphe.
6 Dans la zone modifiable Largeur, entrez (en cm) la largeur souhaitée du graphe.
7 Cliquez sur OK pour enregistrer vos modifications.
Crystal Reports vous renvoie à l'état que vous exploitiez et met en œuvre vos
modifications.

Modification de la bordure d'un graphe


1 Dans les onglets Conception ou Aperçu, cliquez avec le bouton droit de la
souris sur le graphe pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Bordure et couleurs.
La boîte de dialogue Éditeur de format apparaît. L'onglet Bordure est ouvert.

276 Crystal Reports Guide de l’utilisateur


scr8.book Page 277 Monday, April 2, 2001 12:29 PM

13 : Création de graphes

3 Modifiez le style des lignes, la couleur et l'arrière-plan, et ajoutez ou


supprimez une ombre portée par rapport à la bordure du graphe.
4 Cliquez sur OK pour enregistrer vos modifications.
Crystal Reports vous renvoie à l'état que vous exploitiez et met en oeuvre vos
modifications.

Utilisation de la fonction de mise en filigrane avec des graphes


Parce que les graphes peuvent être imprimés uniquement dans certaines sections
de votre état, l'option de mise en filigrane accroît encore plus que jamais l'efficacité
de vos documents. Maintenant, au lieu d'imprimer un graphe au-dessus des
données qu'il représente, vous pouvez le faire apparaître à côté des données,
améliorant ainsi l'intelligibilité de vos informations.
Un état dans lequel les données apparaissent en filigrane d'un graphe se présente
comme suit.

Crystal Reports Guide de l’utilisateur 277


scr8.book Page 278 Monday, April 2, 2001 12:29 PM

Exploitation des graphes

Pour mettre un graphe en filigrane


1 Créez votre graphe et placez-le dans la section En-tête d'état. Voir “Création de
graphes” à la page 265.
2 Dans le menu Insérer, cliquez sur la commande Section.
Truc : vous pouvez également cliquer sur le bouton Expert Section de la barre
d'outils Standard.
La boîte de dialogue Expert Section apparaît.

3 Dans la zone Sections, cliquez sur l'option En-tête de l’état, puis activez la case
à cocher En fond sections suivantes.
4 Cliquez sur OK.
Crystal Reports vous renvoie à l’état. Votre graphe apparaît en filigrane en
dessous des sections qui le composent.
5 Déplacez ou réajustez les dimensions du graphe, le cas échéant.

278 Crystal Reports Guide de l’utilisateur


scr8.book Page 279 Monday, April 2, 2001 12:29 PM

Génération des cartes 14

Crystal Reports permet d'intégrer dans vos états des cartes


composées de données géographiques. Ce chapitre explique
comment utiliser des cartes dans vos états pour améliorer la
signification des données qu'elles contiennent et faciliter leur
interprétation. Vous pouvez personnaliser et réorganiser les
éléments d'une carte et activer le mode d'exploration afin de
visualiser les détails des résumés graphiques.

Crystal Reports Guide de l’utilisateur 279


scr8.book Page 280 Monday, April 2, 2001 12:29 PM

Concepts de la génération des cartes

Concepts de la génération des cartes


Généralités sur la création des cartes
Grâce à Crystal Reports, vous pouvez insérer des cartes géographiques
professionnelles dans vos états. Les cartes facilitent l'analyse de vos données d’état
et l'identification des tendances. Par exemple, il serait possible de créer une carte
qui montre les ventes par région. Vous pourriez donc :
 analyser les données en utilisant l'un des cinq types de carte
 réajuster l'apparence et l'organisation de la carte (pour faciliter l'identification
des tendances) à l'aide de l'onglet Analyseur
 explorer les régions de la carte pour afficher les données sous-jacentes.
Votre état doit contenir un groupe ou un champ de résumé ou de sous-total pour
que vous puissiez y insérer une carte générique basée sur un groupe. Le
programme fournit toutefois plusieurs modèles de carte spécialisés qui n’ont
besoin ni de groupes, ni de résumés.
Remarque : lorsque vous résumez ou effectuez le sous-total d’un champ, le
programme regroupe automatiquement les données. Pour de plus amples
renseignements, voir “Tris, groupements et calculs de totaux” à la page 143.

Modèles de carte
L'Expert Carte vous offre quatre modèles qui correspondent à certains jeux de
données.
Vous pouvez créer des cartes sur la base de tous les modèles suivants et, selon les
données que vous utilisez, vous pouvez modifier la carte et passer d'un modèle à
l'autre.

Avancé
Utilisez le modèle Avancé lorsque vous avez plusieurs valeurs de carte au lieu
d'une seule, ou lorsque votre état ne contient ni groupes, ni résumés.

Groupe
Le modèle Groupe est un modèle simplifié dans lequel vous montrez un résumé
au lieu d'un champ géographique (tel que Région).
Remarque : Votre état doit contenir au moins un groupe et un champ de résumé
pour que vous puissiez créer une carte à l’aide du modèle Groupe.

280 Crystal Reports Guide de l’utilisateur


scr8.book Page 281 Monday, April 2, 2001 12:29 PM

14 : Génération des cartes

Table croisée
Utilisez le modèle Table croisée lorsque vous générez une carte sur la base d'un
objet table croisée. Une carte de type Table croisée n'a besoin ni de groupes, ni de
champs de résumé.

OLAP
Utilisez le modèle OLAP lorsque vous générez une carte sur la base d’une grille
OLAP. Une carte OLAP n’a besoin ni de groupes, ni de champs de résumés.
Remarque : si aucune carte n’est associée aux données que vous spécifiez, un bloc
vide apparaîtra à moins que vous n'ayez défini la section de l’état où se trouve la
carte de manière à ce qu'elle disparaisse si elle est vide.

Types de carte
L’Expert Carte fournit également cinq types de carte élémentaires, chacun
approprié pour une stratégie d’analyse de données différente. Lorsque vous devez
décider du type de carte le mieux adapté à votre état, pensez d'abord au type de
données que vous voulez analyser. Par exemple, si vous souhaitez que votre carte
affiche un élément de données pour chaque division géographique (ville,
département, pays, etc.), il est peut-être préférable d'utiliser une carte de type
Rangé, Densité du point ou Proportionnel. Par contre, si vous voulez que votre
carte affiche plusieurs valeurs pour chaque division géographique, vous pouvez
utiliser une carte de type Graphe en secteurs ou Graphe en barres. La rubrique
suivante décrit les principaux types de carte et leurs utilisations les plus courantes.

Rangé
Une carte de type Rangé groupe les données en plages, affecte à chaque plage une
couleur spécifique et donne ensuite un code à chaque région géographique de la
carte sur la base de couleurs pour afficher la plage. Par exemple, vous voulez créer
une carte qui affiche le champ Ventes de l’année précédente par région. Si vous
avez des ventes allant de zéro à 100 000, vous donnerez à la carte cinq plages avec
des intervalles égaux de 20 000 chacun. Vous pouvez utiliser des tons de rouge (du
clair au foncé) pour coder chaque région suivant les chiffres de ventes. Vous pouvez
ensuite utiliser cette carte pour voir l’endroit où les ventes sont les plus élevées.
Avec des intervalles égaux, il se peut que vous ayez une division de toutes les
sections entre zéro et 20 000, sauf peut-être une région (la Californie, par exemple)
qui aurait des ventes particulièrement élevées (telles que 98 000). Cette carte
donnerait une représentation très déformée des données. Une carte plus utile
aurait des plages de 0 à 5 000, de 5 001 à 10 000, de 10 001 à 15 000, de 15 001 à 20000
et de plus de 20 000. Il est important de définir vos plages avec soin.

Crystal Reports Guide de l’utilisateur 281


scr8.book Page 282 Monday, April 2, 2001 12:29 PM

Concepts de la génération des cartes

Vous avez le choix entre quatre options de plage différentes :


 Compte égal
Cette option affecte des intervalles de telle façon que le même nombre de
régions (ou aussi proche du même nombre de régions que possible) apparaît
dans le même intervalle. Autrement dit, cette option affecterait des intervalles
pour que chaque couleur dans la carte soit affectée au même nombre de régions.
La quantité numérique des valeurs de résumé dans chaque intervalle peut, ou
non, être la même, selon les régions individuelles et leurs valeurs de résumé.
 Intervalles égaux
Cette option affecte des intervalles de telle façon que les valeurs de résumé
dans chaque intervalle sont égales entre elles numériquement. Le nombre de
régions dans chaque intervalle peut, ou non, être le même selon les régions
individuelles et leurs valeurs de résumé.
 Rupture naturelle
Cette option affecte des intervalles à l’aide d’un algorithme qui essaye de
minimiser la différence entre les valeurs de résumé et la moyenne des valeurs
de résumé pour chaque intervalle.
 Écart type
Cette option affecte des intervalles de telle façon que l’intervalle au milieu
saute à la valeur moyenne des données. Les intervalles au-dessus et au-
dessous de la plage moyenne sont un écart type au-dessus/au-dessous de la
moyenne. Racine carrée de la variance. Il projette comment diverses valeurs
dans un ensemble de valeurs s’écartent de la moyenne pour cet ensemble.

Densité du point
Une carte de type Densité du point affiche un point pour chaque instance d'un élément
spécifié. Par exemple, vous créez une carte des Etats-Unis qui montre un point pour
chaque constructeur de navires dans le pays. Dans des états tels que le Tennessee, il
n’y aura aucun point. Dans certains états côtiers, tels que la Caroline du Sud, vous
pourriez compter les points sur la carte puisque leur dispersion serait très étendue.
Une carte de type Densité du point a pour objectif de donner une impression globale
de la distribution de l'élément spécifié. Une carte de type Densité du point ressemble
beaucoup à une photo satellite prise de nuit et représentant les lumières de toutes les
villes des Etats-Unis. En dépit du manque de précision au niveau communication
des informations (plus particulièrement si vous disposez d'un très grand nombre
d'éléments), une telle carte donne quand même un très bon aperçu de la distribution.

Proportionnel
Une carte de type Proportionnel ressemble beaucoup à une carte de type Rangé ;
elle montre un symbole par instance d'un élément donné. Vous pouvez remplacer
le symbole par défaut (un cercle) par un autre, selon vos préférences. Chaque
symbole est proportionnel en taille à la valeur de l'élément qu'il représente (dans
une limite de trois tailles). Une carte de type Proportionnel donne les mêmes
informations que la carte de type Rangé.

282 Crystal Reports Guide de l’utilisateur


scr8.book Page 283 Monday, April 2, 2001 12:29 PM

14 : Génération des cartes

Mais, avec une carte de type Rangé, vous créez normalement une carte qui afficherait
des régions géographiques ayant des limites géographiques distinctes comme les
Départements. En revanche, une carte de type Proportionnel afficherait des données
liées aux points plutôt qu'à des régions précises (comme dans le cas des villes).
Par exemple, une carte d'une région individuelle pourrait utiliser des cercles
proportionnels pour représenter les ventes pour chaque bureau. La taille de
chaque cercle serait proportionnelle aux ventes (ou à la plage des ventes) du
bureau qu'il représente. Sur cette carte, un bureau ayant un chiffre de ventes de
70.000$ pourrait être représenté par un grand cercle et un bureau avec un chiffre
de ventes de 20.000$ par un petit cercle. Une carte de type Proportionnel fournit
une meilleure représentation des données de point qu’une carte de type Rangé.
Elle utilise des symboles triés selon leur taille au lieu de couleurs pour distinguer
les variations dans les valeurs des éléments qu’elle représente.

Graphe en secteurs
Une carte de type Graphe en secteurs affiche un graphe en secteurs pour chaque
zone géographique. Les graphes en secteurs représentent les éléments de données
qui constituent un ensemble. Chaque secteur du graphe représente un élément de
données individuel et montre son pourcentage par rapport à l'ensemble. Par
exemple, vous pouvez créer un graphe en secteurs affichant les types de chauffage
par région. Vous pourriez avoir quatre types de chauffage, ou quatre secteurs dans
chaque graphe en secteurs : électricité, gaz, bois et mazout. Chaque région aurait
donc un graphe en secteurs affichant la répartition des types de chauffage dans
cette région. L’état de Washington utiliserait peut-être un haut pourcentage (un
grand secteur du graphe) d’électricité grâce aux sources hydroélectriques dans
cette région tandis que l’état de l’Idaho aurait un haut pourcentage de gaz naturel.
Vous pouvez utiliser ce type de carte pour comparer la distribution de plusieurs
éléments au sein d'une région particulière. Vous pouvez aussi spécifier que les
graphes en secteurs seront triés proportionnellement selon leur taille afin que,
comme les symboles d’une carte de type Proportionnel, les graphes apparaissent
en tailles diverses suivant les valeurs de données sous-jacentes. Ceci vous
permettra de faire une comparaison des totaux entre régions.

Graphe en barres
Une carte de type Graphe en barres, quoique semblable à une carte de type Graphe
en secteurs, peut s'avérer plus utile avec certains ensembles de données. Vous
utiliseriez normalement une carte de type Graphe en barres pour des éléments qui
ne totalisent pas 100 % ; c’est-à-dire, pour des éléments ne constituant pas un
ensemble ou n'étant pas liés. Vous pourriez créer une carte de type Graphe en
barres affichant la consommation d’énergie par région, par exemple. Vous pourriez
choisir d’analyser la consommation de trois types d’énergie : électricité, gaz et
mazout. Chaque barre sur la carte pourrait contenir des barres individuelles pour
chacun de ces type. Dans cet exemple, les éléments de données (électricité, gaz,
mazout) ne constituent pas un ensemble. Il se pourrait que d’autres types d’énergie

Crystal Reports Guide de l’utilisateur 283


scr8.book Page 284 Monday, April 2, 2001 12:29 PM

Création de cartes

soient utilisés dans ces régions tels que le charbon, mais cette carte ne se concentre
que sur trois d’entre eux. De plus, le but de la carte est de faire une comparaison
entre la consommation de chaque type d’énergie de chaque région et celle de
chaque autre région. Dans une carte de type Graphe en secteurs, vous pourriez
afficher ces trois types de consommation en tant que pourcentages dans chaque
région et, bien que vous puissiez faire une comparaison entre les pourcentages
pour chaque région, vous ne pourriez probablement pas comparer les valeurs
réelles de chaque région parce que chacune aurait le même total de valeurs (100 %).

Emplacement d'une carte


L'emplacement de votre carte détermine la quantité de données à inclure dans
cette carte. Par exemple, si vous placez la carte dans la section En-tête d’état, la
carte inclut les données de l’état complet. En revanche, si vous la placez dans une
section En-tête ou Pied de page de groupe, elle affiche les données spécifiques au
groupe. Ce choix détermine aussi si la carte s'imprime une fois pour l’état complet
ou plusieurs fois (une fois pour chaque instance d’un groupe donné).
Remarque : si votre état contient des sous-états, vous pourrez tout aussi bien y
insérer des cartes. Voir “Création d'une carte sur la base de sous-états” à la
page 293.

Exploration à l'aide de cartes


Les cartes sont des outils puissants non seulement de présentation, mais aussi
d’analyse des données. Vous pouvez activer le mode d'exploration en cliquant avec
le bouton droit de la souris sur la carte dans l’onglet Aperçu et en sélectionnant la
commande Exploration du menu contextuel. Une fois le mode d'exploration activé,
déplacez le pointeur de la souris sur une section de la carte dans l’onglet Aperçu ;
le pointeur se transforme alors en curseur d’exploration. Cliquez deux fois pour
visualiser les détails sous-jacents pour cette section de la carte.
Remarque : si vous explorez une région qui n’a pas de données associées, un
message disant “ Il n’y a pas d’enregistrements pour [Nom de région] ” apparaîtra.

Création de cartes
Le processus de création d'une carte varie selon les données que vous utilisez. Les
sections suivantes décrivent en détail ce processus pour chaque modèle de carte.

Création d'une carte sur la base de champs de détails (modèle Avancé)


Le modèle Avancé vous permet de créer une carte basée sur des valeurs
spécifiques plutôt que sur des résumés. Vous pouvez aussi utiliser plusieurs
champs comme valeurs de carte. Utilisez ce modèle pour exploiter plusieurs
valeurs de carte ou lorsque votre état ne contient ni groupes, ni résumés.

284 Crystal Reports Guide de l’utilisateur


scr8.book Page 285 Monday, April 2, 2001 12:29 PM

14 : Génération des cartes

Remarque : La création d'une carte dépend impérativement d'un champ


géographique, tel que Pays, Région ou Ville. Crystal Reports ne peut pas générer
de carte d'après un autre champ qu'un champ géographique.

Pour créer une carte selon un champ de détail


1 Dans le menu Insérer, sélectionnez la commande Carte.
Truc : vous pouvez également cliquer sur le bouton Insérer une carte de la barre
d'outils Standard.
La boîte de dialogue Expert Carte apparaît.

2 Dans la zone Disposition de l’onglet Données, cliquez sur le bouton Avancé, si


celui-ci n'est pas déjà activé.
3 Dans la zone de liste déroulante Insérer la carte de la section Placement,
spécifiez la fréquence d'affichage de votre carte dans l'état, puis cliquez sur les
options En-tête ou Pied de page pour préciser l'emplacement exact de la carte.
4 Dans la section Données, ajoutez le champ de base de données que vous souhaitez
utiliser comme base pour votre carte dans la zone Champ géographique.
Les boutons fléchés qui figurent dans la boîte de dialogue Expert Carte vous
permettent de déplacer les champs d'une liste vers l'autre. Les flèches simples
ne déplacent que le champ sélectionné; les flèches doubles déplacent tous les
champs à la fois.

Crystal Reports Guide de l’utilisateur 285


scr8.book Page 286 Monday, April 2, 2001 12:29 PM

Création de cartes

Remarque : Si la carte que vous créez ne dépend pas d'un champ


géographique, tel que Ville, Région ou Pays, Crystal Reports ne pourra pas la
générer.
5 Ajoutez le champ de base de données que vous voulez afficher avec chaque
changement dans la zone de liste déroulante Sur changement de.
6 Ajoutez les champs de base de données que vous souhaitez utiliser comme
valeurs dans la zone de liste déroulante Valeurs de carte.
7 Activez la case à cocher Ne pas résumer les valeurs si vous ne voulez pas que
Crystal Reports résume automatiquement les valeurs de carte.
8 Cliquez sur l'onglet Type.

9 Sélectionnez le type de carte le mieux adapté au type de données à présenter


(Rangé, Densité de point, Proportionnel, Graphe en secteurs ou Graphe en
barres). Voir “Types de carte” à la page 281.
10 Utilisez la section Options pour définir les options de mise en forme liées au
type de carte choisi.

286 Crystal Reports Guide de l’utilisateur


scr8.book Page 287 Monday, April 2, 2001 12:29 PM

14 : Génération des cartes

11 Cliquez sur l'onglet Texte.

12 Vous pouvez vous servir du champ Titre de la carte pour entrer un titre de carte.
13 Dans la section Légende, sélectionnez l'une des options suivantes :
 Légende complète pour afficher une légende détaillée sur votre carte
 Légende condensée pour afficher une légende plus restreinte sur votre carte
 Aucune légende pour exclure toute légende de la carte.
14 Si vous sélectionnez l'option Légende complète, cliquez sur Créée par la carte
pour que Crystal Reports crée un titre de légende selon votre carte, ou sur
Spécifier pour entrer vous-même vos propres titre et sous-titre de légende.
15 Cliquez sur OK.
La carte apparaît dans les sections En-tête ou Pied de page de l'état selon
l'option que vous avez sélectionnée à l'étape 3.

Crystal Reports Guide de l’utilisateur 287


scr8.book Page 288 Monday, April 2, 2001 12:29 PM

Création de cartes

Création d'une carte sur la base de champs de groupe (modèle Groupe)


Pour créer une carte selon un groupe, vous pouvez utiliser le modèle Groupe dans
lequel vous affichez un résumé (tel que Ventes de l’année précédente) au lieu d’un
champ géographique (tel que Région). Votre état doit contenir au moins un groupe
et un champ de résumé pour que vous puissiez créer une carte à l’aide du modèle
Groupe.

Pour créer une carte selon un groupe


1 Dans le menu Insérer, sélectionnez la commande Carte.
Truc : vous pouvez également cliquer sur le bouton Insérer une carte de la barre
d'outils Standard.
La boîte de dialogue Expert Carte apparaît.

2 Dans la zone Disposition de l’onglet Données, cliquez sur le bouton Groupe,


si celui-ci n'est pas déjà activé.
3 Dans la zone de liste déroulante Insérer une carte de la section Placement,
spécifiez la fréquence d'affichage de votre carte dans l'état, puis cliquez sur les
options En-tête ou Pied de page pour préciser l'emplacement exact de la carte.
4 Dans la zone de liste déroulante Sur changement de de la section Données,
sélectionnez le champ de groupe que vous voulez utiliser comme base pour
votre carte, puis dans la zone de liste déroulante Afficher, cliquez sur le
champ de résumé que vous souhaitez afficher sur votre carte.

288 Crystal Reports Guide de l’utilisateur


scr8.book Page 289 Monday, April 2, 2001 12:29 PM

14 : Génération des cartes

5 Cliquez sur l'onglet Type.


6 Sélectionnez le type de carte le mieux adapté aux données à présenter (Rangé,
Densité de point ou Proportionnel). Voir “Types de carte” à la page 281.
7 Utilisez la section Options pour définir les options de mise en forme liées au
type de carte choisi.
8 Cliquez sur l'onglet Texte.
9 Vous pouvez vous servir du champ Titre de la carte pour entrer un titre de carte.
10 Dans la section Légende, sélectionnez l'une des options suivantes :
 Légende complète pour afficher une légende détaillée sur votre carte
 Légende condensée pour afficher une légende plus restreinte sur votre carte
 Aucune légende pour exclure toute légende de la carte.
11 Si vous sélectionnez l'option Légende complète, cliquez sur Créée par la carte
pour que Crystal Reports crée un titre de légende selon votre carte ou sur
Spécifier pour entrer vous-même vos propres titre et sous-titre de légende.
12 Cliquez sur OK.
La carte apparaît dans les sections En-tête ou Pied de page de l'état selon
l'option que vous avez sélectionnée à l'étape 3.

Création d'une carte sur la base des résumés de tables croisées


(modèle Table croisée)
A l’aide du modèle Table croisée, vous pouvez créer une carte sur la base d’un
champ de résumé de table croisée. Par exemple, au moyen d'une table croisée qui
affiche le nombre total d’articles d’un produit vendu dans chaque région de la
France, vous pouvez, si vous voulez, inclure une carte montrant le pourcentage
des ventes totales du produit pour chaque région.
Vous devez d'abord insérer une table croisée dans votre état pour pouvoir créer
une carte de type Table croisée. Pour de plus amples renseignements, voir “Objets
tables croisées” à la page 315.

Pour créer une carte sur la base d'un résumé de table croisée
1 Sélectionnez le champ de résumé Table croisée que vous souhaitez utiliser.
2 Dans le menu Insérer, sélectionnez la commande Carte.
Truc : vous pouvez également cliquer sur le bouton Insérer une carte de la barre
d'outils Standard.

Crystal Reports Guide de l’utilisateur 289


scr8.book Page 290 Monday, April 2, 2001 12:29 PM

Création de cartes

La boîte de dialogue Expert Carte apparaît.

3 Dans la zone Disposition de l’onglet Données, cliquez sur le bouton Table


croisée, si celui-ci n'est pas déjà activé.
4 Dans la section Placement, cliquez sur les options En-tête ou Pied de page
pour spécifier l'emplacement de la carte.
5 Dans la zone de liste déroulante Champ géographique de la section Données,
sélectionnez les zones géographiques pour votre carte.
6 Le cas échéant, spécifiez un autre champ pour la création de votre carte dans la
zone de liste déroulante Subdivisé par.
7 Crystal Reports se sert de ce champ pour subdiviser les graphes en secteurs ou
en barres figurant sur votre carte.
8 Dans la zone de liste déroulante Tracer sur, sélectionnez les données
numériques d'un champ de résumé pour votre carte.
9 Cliquez sur l'onglet Type.
10 Cliquez sur le type de carte le mieux adapté aux données à présenter. Voir
“Types de carte” à la page 281.

290 Crystal Reports Guide de l’utilisateur


scr8.book Page 291 Monday, April 2, 2001 12:29 PM

14 : Génération des cartes

 Si vous prévoyez de créer une carte sur la base d'un seul champ, vérifiez que
vous avez activé l'option Aucun dans la zone de liste déroulante Subdivisé
par, puis choisissez le type de carte Rangé, Densité de point ou Proportionnel.
 Si vous prévoyez de créer une carte sur la base de deux champs, vérifiez
que vous avez sélectionné un champ supplémentaire dans la zone de liste
déroulante Subdivisé par, puis choisissez le type de carte Graphe en
secteurs ou Graphe en barres.
11 Utilisez la section Options pour définir les options de mise en forme liées au
type de carte choisi.
12 Cliquez sur l'onglet Texte.
13 Vous pouvez vous servir du champ Titre de la carte pour entrer un titre de carte.
14 Dans la section Légende, sélectionnez l'une des options suivantes :
 Légende complète pour afficher une légende détaillée sur votre carte
 Légende condensée pour afficher une légende plus restreinte sur votre carte
 Aucune légende pour exclure toute légende de la carte.
15 Si vous sélectionnez l'option Légende complète, cliquez sur Créée par la carte
pour que Crystal Reports crée un titre de légende selon votre carte ou sur
Spécifier pour entrer vous-même vos propres titre et sous-titre de légende.
16 Cliquez sur OK.
La carte apparaît dans les sections En-tête ou Pied de page de l'état selon
l'option que vous avez sélectionnée à l'étape 4.

Création d'une carte sur la base d'un cube OLAP (modèle OLAP)
Vous pouvez utiliser le modèle OLAP pour créer une carte sur la base d'une grille
OLAP. Vous devez d'abord insérer une grille OLAP dans votre état pour pouvoir
créer une carte OLAP. Pour de plus amples renseignements sur les grilles OLAP,
voir “Création d'un état OLAP” à la page 336.

Pour créer une carte sur la base d'un cube OLAP


1 Sélectionnez la grille OLAP que vous souhaitez utiliser.
2 Dans le menu Insérer, sélectionnez la commande Carte.
Truc : vous pouvez également cliquer sur le bouton Insérer une carte de la barre
d'outils Standard.

Crystal Reports Guide de l’utilisateur 291


scr8.book Page 292 Monday, April 2, 2001 12:29 PM

Création de cartes

La boîte de dialogue Expert Carte apparaît.

3 Dans la zone Disposition de l’onglet Données, cliquez sur le bouton OLAP, si


celui-ci n'est pas déjà activé.
4 Dans la section Placement, cliquez sur les options En-tête ou Pied de page
pour spécifier l'emplacement de la carte.
5 Dans la zone de liste déroulante Sur changement de de la section Données,
cliquez sur le champ que vous voulez utiliser.
Remarque : ce champ contient des données géographiques, telles que le pays.
6 Le cas échéant, cliquez sur la liste Subdivisé par et sélectionnez une ligne ou
une colonne secondaire à insérer dans la carte.
Remarque : lorsque vous choisissez la subdivision à l'aide d'un champ de
création secondaire (ligne ou colonne), les types de cartes proposés à l'étape 8
ne sont pas les mêmes.
7 Cliquez sur l'onglet Type.
8 Cliquez sur le type de carte le mieux adapté aux données à présenter. S'il
n'existe pas de champ de création de carte secondaire, les types suivants sont
disponibles : Rangé, Densité du point ou Proportionnel. Voir “Types de
carte” à la page 281.

292 Crystal Reports Guide de l’utilisateur


scr8.book Page 293 Monday, April 2, 2001 12:29 PM

14 : Génération des cartes

9 Utilisez la section Options pour définir les options de mise en forme liées au
type de carte choisi.
10 Cliquez sur l'onglet Texte.
11 Vous pouvez vous servir du champ Titre de la carte pour entrer un titre de carte.
12 Dans la section Légende, sélectionnez l'une des options suivantes :
 Légende complète pour afficher une légende détaillée sur votre carte.
 Légende condensée pour afficher une légende plus restreinte sur votre carte.
 Aucune légende pour exclure toute légende de la carte.
Remarque : Si vous sélectionnez l'option Légende complète, cliquez sur Créée
par la carte pour que Crystal Reports crée un titre de légende en fonction de la
carte, ou sur Spécifier pour saisir vos propres titre et sous-titre de légende.
13 Cliquez sur OK.
La carte apparaît dans les sections En-tête ou Pied de page de l'état selon
l'option que vous avez sélectionnée à l'étape 4.

Création d'une carte sur la base de sous-états


Les processus d'insertion d'une carte sont identiques, qu'il s'agisse d'un sous-état
ou de l'état principal. La seule différence est que l'onglet Conception doit demeurer
actif quand vous insérez une carte dans un sous-état.
Le processus de création d'une carte varie selon le type de données que vous utilisez.

Pour créer une carte sur la base d'un sous-état


1 Dans le menu Insérer, sélectionnez la commande Carte.
Truc : vous pouvez également cliquer sur le bouton Insérer une carte de la barre
d'outils Standard.
La boîte de dialogue Expert Carte apparaît.
2 Effectuez toutes les modifications nécessaires dans l'Expert Carte avant de
cliquer sur OK.
Crystal Reports positionne la carte dans la section que vous avez spécifiée dans
l'Expert Carte avant de vous renvoyer à l'état que vous exploitiez.
3 Réajustez les dimensions ou déplacez la carte selon vos besoins.

Crystal Reports Guide de l’utilisateur 293


scr8.book Page 294 Monday, April 2, 2001 12:29 PM

Exploitation des cartes

Exploitation des cartes


Modification des cartes à l'aide de l'Expert Carte
Une fois la carte créée, vous pouvez lui ajouter un titre, des en-têtes, une légende,
changer la police ou modifier son type. L'Expert Carte (ouvert à partir des onglets
Conception ou Aperçu) facilite ces modifications.

Pour modifier une carte à l'aide de l'Expert Carte


1 Cliquez avec le bouton droit de la souris sur la carte pour afficher le menu
contextuel.
2 Dans le menu contextuel, sélectionnez la commande Expert Carte.
3 Effectuez toutes les modifications souhaitées dans la boîte de dialogue Expert
Carte qui apparaît.
4 Cliquez sur OK.

Modification des cartes à l'aide de l'onglet Analyseur


Crystal Reports fournit l’onglet Analyseur qui permet de créer des cartes selon un
concept avancé. Vous pouvez vous servir de cet onglet pour réorganiser les
éléments de vos cartes en vue d'une analyse plus efficace. L'onglet Analyseur vous
permet de définir les propriétés d'une instance individuelle d'une carte
indépendamment du reste de l'état.

Pour lancer l'onglet Analyseur


1 Dans l'onglet Analyseur, cliquez avec le bouton droit de la souris sur la carte
pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Analyseur de carte.
Crystal Reports ouvre l’onglet Analyseur.
Lors de la visualisation d'une carte dans l'onglet Analyseur, vous pouvez effectuer
les opérations suivantes :
 procéder à un zoom avant, à un zoom arrière et faire un panoramique de la carte ;
 centrer la carte ;
 changer le titre et le type de la carte et définir le style général de la carte ;
 réorganiser les couches des éléments d'état (par exemple, vous pouvez afficher
la couche Villes principales sur la couche Autoroutes) ;
 résoudre la discordance des données ;
 modifier la carte géographique ;
 masquer et afficher le Navigateur de carte.

294 Crystal Reports Guide de l’utilisateur


scr8.book Page 295 Monday, April 2, 2001 12:29 PM

14 : Génération des cartes

Remarque : les capacités de centrage, de zoom avant et arrière et de panoramique


de l'onglet Analyseur sont également disponibles sous forme de commandes de
menu contextuel dans le Navigateur de carte et l'onglet Aperçu (si vous cliquez avec
le bouton droit de la souris sur l'objet carte dans cet onglet). Pour de plus amples
renseignements sur le Navigateur de carte, voir “Comment effectuer un zoom, un
panoramique et centrer des cartes à l'aide du Navigateur de carte” à la page 301.
L'onglet Analyseur permet d'afficher jusqu'à deux objets cartes en même temps.
Dans pareil cas, il présente deux volets, chacun affichant une section distincte.
Pour redimensionner une section, déplacez le curseur sur le bord de la section
jusqu'à ce qu'il se transforme en curseur de redimensionnement et faites glisser
ensuite le bord pour agrandir ou réduire la taille de la section selon vos besoins.
Vous pouvez aussi utiliser l'onglet Analyseur pour travailler avec des objets cartes
qui ont été insérés dans un sous-état. Le programme ouvre un troisième onglet
Analyseur pour chaque sous-état contenant l'objet carte que vous analysez. Vous
pouvez afficher simultanément jusqu'à deux objets cartes à partir du même sous-
état dans l'onglet Analyseur.
Remarque : vous pouvez aussi redimensionner la légende qui est affichée à droite
de chaque carte.

Modification du titre d'une carte


1 Dans l'onglet Analyseur, cliquez avec le bouton droit de la souris sur la carte
pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez Mettre en forme une carte, puis Titre.
3 Utilisez la boîte de dialogue Changer le titre qui apparaît pour entrer un
nouveau titre.
4 Cliquez sur OK pour enregistrer vos modifications.
Crystal Reports vous renvoie à l'onglet Analyseur et met en œuvre vos
modifications.

Modification du type de carte


L'onglet Analyseur permet d'effectuer la modification du type de carte et de
procéder à la définition des propriétés du nouveau type choisi. Imaginez, par
exemple, que vous analysiez une carte de type Rangé ; vous souhaitez voir à quoi
ressembleraient les données si elles étaient présentées dans une carte de type
Densité du point. Vous pouvez réorganiser la carte sans faire appel à l'Expert Carte
et peaufiner la mise en forme. L'onglet Analyseur offre aussi des options plus
avancées pour modifier l'apparence de la carte que vous avez spécifiée.

Crystal Reports Guide de l’utilisateur 295


scr8.book Page 296 Monday, April 2, 2001 12:29 PM

Exploitation des cartes

Pour modifier le type de carte


1 Dans l'onglet Analyseur, cliquez avec le bouton droit de la souris sur la carte
pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez Mettre en forme une carte, puis Type.
La boîte de dialogue Personnaliser une carte apparaît.

3 Dans la zone de liste déroulante Type de carte, sélectionnez le nouveau type


de carte.
4 Utilisez la section Options pour définir les options de mise en forme liées au
type de carte choisi.
Les propriétés dont vous disposez varient selon la carte que vous avez sélectionnée.
5 Cliquez sur OK pour enregistrer vos modifications.
Crystal Reports vous renvoie à l'onglet Analyseur que vous exploitiez et met en
oeuvre vos modifications.

Modification des couches d'une carte


Le processus de réorganisation des couches d'une carte est relativement rapide.
Vous pouvez également définir des propriétés, telles que la visibilité, et ajouter ou
supprimer des couches, le cas échéant.

Pour modifier les couches d'une carte


1 Dans l'onglet Analyseur, cliquez avec le bouton droit de la souris sur la carte
pour afficher le menu contextuel.

296 Crystal Reports Guide de l’utilisateur


scr8.book Page 297 Monday, April 2, 2001 12:29 PM

14 : Génération des cartes

2 Dans le menu contextuel, sélectionnez Mettre en forme une carte, puis Couches.
La boîte de dialogue Contrôle des couches apparaît.

3 Dans la zone de liste déroulante Couches, cliquez sur les options En haut ou
En bas pour réorganiser les couches de la carte.
4 Dans la section Propriétés, définissez les propriétés pour chaque couche de la
carte, sans oublier de préciser si la couche est visible et si elle est
automatiquement étiquetée.
5 Le cas échéant, cliquez sur l'option Afficher pour ouvrir la boîte de dialogue
Propriétés d'affichage.
6 Utilisez cette boîte de dialogue pour définir le mode d'affichage par défaut et
les limites de zoom (les degrés de grossissement minimum et maximum
possibles) pour la couche en question, puis cliquez sur OK pour retourner à la
boîte de dialogue Contrôle de couche.
7 Cliquez sur OK pour enregistrer vos modifications.
Crystal Reports vous renvoie à l'onglet Analyseur que vous exploitiez et met en
oeuvre vos modifications.

Résolution de la discordance des données


Le nom géographique de la carte que vous exploitez est parfois différent de celui
utilisé dans la base de données. Par exemple, la désignation “ Royaume-Uni ” peut
apparaître sur une carte d'Europe tandis que la base de données contient
l'abréviation “ R.-U. ”. Tant que la discordance des données n'est pas résolue, la carte
ne peut pas afficher les informations concernant la région géographique choisie.

Crystal Reports Guide de l’utilisateur 297


scr8.book Page 298 Monday, April 2, 2001 12:29 PM

Exploitation des cartes

Pour résoudre la discordance des données


1 Dans le menu Analyseur, sélectionnez la commande Résoudre la discordance.
La boîte de dialogue Résolveur de région de la carte qui apparaît répertorie les
noms géographiques qui ne correspondent pas dans la base de données et sur
la carte.
2 Dans la zone de liste déroulante Affecter cet en-tête (qu'utilise la base de
données) de l'onglet Croisement de mot-clé, sélectionnez l'en-tête que vous
souhaitez résoudre.
Un mot-clé provenant de la zone de liste déroulante A ce mot-clé (qu'utilise la
carte) peut être automatiquement affecté à l'en-tête sélectionné.
3 Pour affecter vous-même un mot-clé, cliquez sur un autre mot-clé dans la zone
de liste déroulante A ce mot-clé.
4 En cas de concordance, cliquez sur Affecter.
La nouvelle affectation s'affiche dans la partie inférieure de la boîte de dialogue
Résolveur de région de la carte.
5 Une fois les données résolues, cliquez sur OK.
La carte affiche désormais les données de la région géographique sélectionnée.

Modification de la carte géographique


Pour présenter les valeurs de données sur une carte géographique différente,
précisez toutes les modifications que vous souhaitez apporter dans la boîte de
dialogue Modifier la carte.

Pour modifier la carte géographique


1 Dans l'onglet Analyseur, cliquez avec le bouton droit de la souris sur la carte
pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Changer la carte
géographique.
Outre le nom de la carte avec laquelle vous travaillez, la boîte de dialogue
Changer la carte géographique qui apparaît affiche une liste dans laquelle vous
pouvez choisir la carte de remplacement.

298 Crystal Reports Guide de l’utilisateur


scr8.book Page 299 Monday, April 2, 2001 12:29 PM

14 : Génération des cartes

3 Dans la zone de liste déroulante Cartes candidates, sélectionnez la nouvelle


carte à utiliser.
4 Cliquez sur OK pour enregistrer vos modifications.
Crystal Reports vous renvoie à l'onglet Analyseur que vous exploitiez et met en
oeuvre vos modifications.

Modification de la taille et de l'emplacement d'une carte


Vous pouvez utiliser la boîte de dialogue Taille et position d'objet pour spécifier la
hauteur, la largeur et l'emplacement d'une carte (en cm).

Pour modifier la taille et l'emplacement d'une carte


1 Dans les onglets Conception ou Aperçu, cliquez avec le bouton droit de la
souris sur la carte pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Taille et position d'objet.
La boîte de dialogue Taille et position d'objet apparaît.

Crystal Reports Guide de l’utilisateur 299


scr8.book Page 300 Monday, April 2, 2001 12:29 PM

Exploitation des cartes

3 Dans la zone modifiable X, entrez la distance voulue (en cm) entre le bord
gauche de l'objet carte et la marge gauche de la section d'état. La distance par
défaut est 0,1cm.
4 Dans la zone modifiable Y, entrez la distance voulue (en cm) entre le bord
supérieur de l'objet carte et la marge supérieure de la section d'état.
La distance par défaut est 0,07cm.
5 Dans la zone modifiable Hauteur, entrez la hauteur souhaitée (en cm) de la carte.
6 Dans la zone modifiable Largeur, entrez la largeur souhaitée (en cm) de la carte.
7 Cliquez sur OK pour enregistrer vos modifications.
Crystal Reports vous renvoie à l'état que vous exploitiez et met en oeuvre vos
modifications.
Remarque : vous pouvez également réajuster les dimensions et l'emplacement en
déplaçant et en redimensionnant la carte. Les ajustements sont toutefois plus
exacts s'ils sont effectués dans la boîte de dialogue Taille et emplacement d'objet.

Modification de la bordure d'une carte


1 Dans les onglets Conception ou Aperçu, cliquez avec le bouton droit de la
souris sur la carte pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Bordure et couleurs.
La boîte de dialogue Éditeur de format apparaît. L'onglet Bordure est ouvert.
3 Modifiez le style des lignes, la couleur et l'arrière-plan, et ajoutez ou
supprimez une ombre portée par rapport à la bordure de la carte.
4 Cliquez sur OK pour enregistrer vos modifications.
Crystal Reports vous renvoie à l'état que vous exploitiez et met en oeuvre vos
modifications.

Utilisation de la fonction de mise en filigrane avec des cartes


Parce que les cartes peuvent être imprimées uniquement dans certaines sections de
votre état, l'option de mise en filigrane accroît encore davantage l'efficacité de vos
documents. Maintenant, au lieu d'imprimer une carte au-dessus des données
qu'elle représente, vous pouvez la faire apparaître à côté des données, améliorant
ainsi l'intelligibilité de vos informations.

Pour mettre une carte en filigrane


1 Créez votre carte et placez-la dans la section En-tête d'état.
Pour de plus amples renseignements, voir “Création de cartes” à la page 284.

300 Crystal Reports Guide de l’utilisateur


scr8.book Page 301 Monday, April 2, 2001 12:29 PM

14 : Génération des cartes

2 Dans le menu Insérer, cliquez sur la commande Section.


Truc : vous pouvez également cliquer sur le bouton Expert Section de la barre
d'outils Standard.
La boîte de dialogue Expert Section apparaît.

3 Dans la zone Sections, cliquez sur l'option En-tête de l'état, puis activez la case
à cocher En fond sections suivantes.
4 Cliquez sur OK.
Crystal Reports vous renvoie à l’état. Votre carte apparaît en filigrane en
dessous des sections qui la composent.
5 Déplacez ou réajustez les dimensions de la carte, le cas échéant.

Comment effectuer un zoom, un panoramique et centrer des cartes à


l'aide du Navigateur de carte
Dans l'onglet Analyseur, le Navigateur de carte fournit une version à échelle
réduite de la carte affichée. Comme les onglets Aperçu et Analyseur, le Navigateur
de carte comprend des commandes qui permettent d'effectuer un zoom, un
panoramique, et de centrer des cartes géographiques. Vous avez la possibilité de
réduire ou d'agrandir l'affichage de vos cartes quand bon vous semble, pour
visualiser des informations d'ordre plus spécifique ou général.

Crystal Reports Guide de l’utilisateur 301


scr8.book Page 302 Monday, April 2, 2001 12:29 PM

Exploitation des cartes

Grâce à la fonction panoramique, vous pouvez déplacer la carte n'importe où. Il


suffit ensuite de remettre la carte au centre de l'onglet à l'aide de la commande de
centrage.

Le Navigateur de carte a, entre autres avantages, celui de toujours offrir une vue
complète de la carte géographique que vous exploitez. Si vous exécutez une
commande sur une section particulière de la carte à l'aide du Navigateur de carte,
les modifications s'affichent sur la carte grandeur réelle dans l'onglet Analyseur.
Par exemple, vous pourriez examiner de plus près la côte Est des Etats-Unis en
utilisant la commande Zoom avant du Navigateur de carte. La section de la côte
Est des Etats-Unis sur la carte grandeur réelle affichée dans l'onglet Analyseur
grossirait alors d'un niveau (tandis que la carte présente dans le Navigateur de
carte demeurerait intacte).
Remarque : bien que le Navigateur de carte permette la sélection rapide d'une
partie de la carte, il n'affiche pourtant pas le détail des modifications. Pour cette
raison, il est indispensable d'exécuter toutes les tâches de création de carte qui
nécessitent une minutie particulière sur la carte grandeur réelle affichée dans
l'onglet Analyseur.

Pour agrandir et réduire l'affichage d'une carte


1 Dans le Navigateur de carte, cliquez avec le bouton droit de la souris sur la
carte pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Zoom avant.
3 Faites glisser le curseur de sélection autour de la section de la carte que vous
souhaitez examiner, puis faites diminuer la taille du curseur pour agrandir la
section.
La carte grandeur réelle dans l'onglet Analyseur grossit d'un niveau.
4 Réduisez à nouveau la taille du curseur de sélection pour grossir la section de
la carte d'un niveau supplémentaire.

302 Crystal Reports Guide de l’utilisateur


scr8.book Page 303 Monday, April 2, 2001 12:29 PM

14 : Génération des cartes

5 Pour effectuer le zoom arrière d'une carte, cliquez avec le bouton droit de la
souris sur le Navigateur de carte pour afficher le menu contextuel.
6 Dans le menu contextuel, sélectionnez la commande Zoom arrière.
7 Augmentez la taille du curseur de sélection pour effectuer un zoom arrière de
la section de la carte choisie.
La carte grandeur réelle dans l'onglet Analyseur diminue d'un niveau.
8 Augmentez à nouveau la taille du curseur de sélection pour réduire la carte
d'un niveau supplémentaire.

Pour effectuer un panoramique sur une carte


1 Dans le Navigateur de carte, cliquez avec le bouton droit de la souris sur la
carte pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Panoramique.
3 Cliquez sur le curseur de panoramique, puis faites-le glisser vers la section de
la carte souhaitée.

Pour centrer une carte


1 Dans le Navigateur de carte, cliquez avec le bouton droit de la souris sur la
carte pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez la commande Centrer la carte.
Remarque :
 pour désactiver toutes les options de déplacement, vous pouvez également
sélectionner Aucun dans le menu contextuel. Vous éliminez ainsi tout risque
de panoramique ou de zoom involontaire.
 si une carte est créée pour chaque instance d'un groupe, tous les paramètres de
panoramique ou de zoom que vous spécifiez sont spécifiques à l'instance.
Autrement dit, si vous effectuez le zoom avant d'un en-tête de groupe, ce
paramètre concerne cet en-tête de groupe uniquement. Aucun des autres en-
têtes n'est modifié. De cette façon, vous pouvez définir chaque carte avec des
paramètres différents.
 si l'option Enregistrer les données avec l'état est activée dans le menu Fichier,
vos paramètres de panoramique et de zoom seront enregistrés avec l'état. Dans
le cas contraire, seuls les paramètres de la carte par défaut seront enregistrés.

Crystal Reports Guide de l’utilisateur 303


scr8.book Page 304 Monday, April 2, 2001 12:29 PM

Exploitation des cartes

Masquage et affichage du Navigateur de carte


Vous avez la possibilité de masquer ou d'afficher le Navigateur de carte.

Pour masquer le Navigateur de carte


1 Dans l'onglet Analyseur, cliquez avec le bouton droit de la souris sur la carte
pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez Navigateur de carte, puis Masquer.
Le Navigateur de carte disparaît de l'onglet Analyseur.

Pour afficher le Navigateur de carte


1 Dans l'onglet Analyseur, cliquez avec le bouton droit de la souris sur la carte
pour afficher le menu contextuel.
2 Dans le menu contextuel, sélectionnez Navigateur de carte, puis Afficher.
Le Navigateur de carte s'affiche dans l'onglet Analyseur.

304 Crystal Reports Guide de l’utilisateur


scr8.book Page 305 Monday, April 2, 2001 12:29 PM

OLE 15

Ce chapitre décrit le processus de modification de


graphiques ou d'autres objets au sein d'un état à l'aide de la
fonctionnalité OLE (Object Linking and Embedding, c'est-
à-dire Liaison et incorporation d'objets) plutôt qu’avec une
application supplémentaire.

Crystal Reports Guide de l’utilisateur 305


scr8.book Page 306 Monday, April 2, 2001 12:29 PM

Généralités sur la fonctionnalité OLE

Généralités sur la fonctionnalité OLE


La fonction Object Linking and Embedding (OLE) vous permet d’insérer des objets
(objets OLE) dans un état, même si ces objets proviennent d’une autre application
(des applications de serveur OLE). Vous pouvez ensuite vous servir de ces
applications à l’intérieur de Crystal Reports pour modifier les objets si nécessaire.
Sans la fonction OLE, vous seriez obligé de quitter Crystal Reports, de lancer
l'application d'origine, de modifier l'objet, puis de rouvrir Crystal Reports, de
supprimer l'objet que vous aviez inséré au début et enfin d'insérer l'objet modifié.

Terminologie OLE
Avant d'utiliser les objets OLE dans Crystal Reports, il est conseillé d’étudier la
terminologie de base :
 OLE
OLE est l’acronyme de “ Object Linking and Embedding ”. Capacité à créer
des états combinés contenant des éléments empruntés à d'autres applications
qui peuvent être modifiés à l'aide de ces dernières.
 Objet OLE
Un objet OLE représente des données créées depuis une autre application
maintenant un lien avec leur application d’origine. Un bitmap, ou graphique
en mode points, conçu depuis un logiciel de dessin, une feuille de calcul
d’Excel ou un graphe créé à l’aide de l’application MS Graph, peuvent tous
être des objets OLE s’ils sont conçus et insérés dans le document de destination
en tant qu’objets OLE. Tout autre objet inséré sans être un objet OLE ne
maintient aucune liaison avec l’application d’origine.
 Application incorporante OLE
Une application incorporante OLE contient et traite des objets OLE créés à
partir d’autres applications (telles que Paint ou Excel). Crystal Reports est une
application incorporante.
 Document incorporant
Un document incorporant est créé à partir de l’application incorporante et
contient un objet OLE.
 Application serveur OLE
Ces applications peuvent concevoir des objets OLE qui peuvent, par la suite,
être insérés dans des documents créés par des applications incorporantes.
Microsoft Word et Excel sont des exemples d'applications qui servent à la fois
de serveurs OLE et de conteneurs OLE. C'est-à-dire qu'elles sont en mesure de
créer de nouveaux objets OLE et de contenir des objets OLE provenant
d'autres applications.
 Document serveur
Le document serveur est le fichier créé dans l’application serveur contenant
l’objet OLE d’origine.

306 Crystal Reports Guide de l’utilisateur


scr8.book Page 307 Monday, April 2, 2001 12:29 PM

15 : OLE

Types d’objets OLE


 Objet statique
Un objet statique OLE est une image d'un objet que vous pouvez montrer ou
imprimer, mais qu'il est impossible de modifier sur place. Il n'a aucun rapport
avec le document serveur.
 Objet incorporé
Un objet incorporé contient une représentation de l'objet, ainsi que des
informations qui définissent le contenu. Il n'a aucun rapport avec l'objet
d'origine dans le document serveur. En règle générale, utilisez des objets
incorporés quand vous souhaitez modifier l'objet indépendamment du
document serveur initial.
 Objet lié
Un objet lié comporte une “ présentation ” de l’objet et un pointeur indiquant
une partie spécifique du document serveur. En général, il est souhaitable de
vous servir des objets liés lorsque les données dans le document serveur
changent et que vous désirez que l’objet se trouvant dans le document
incorporant soit mis à jour lors de ces changements.

Remarques sur les objets OLE


Tenez compte des informations suivantes lorsque vous employez les fonctions des
objets OLE :
 Lorsque vous cliquez deux fois sur un objet OLE incorporé, l'objet est affiché,
prêt à subir une modification, et les menus et barres d'outils du Report
Designer sont ajoutés à ceux de l'application serveur OLE. Une fois que
l’édition est terminée, cliquez à l’extérieur de l’objet et les barres d’outils du
Report Designer réapparaissent.
 Lorsque vous cliquez deux fois sur un objet OLE lié, le logiciel ouvre
l’application serveur. L’objet est affiché et prêt à subir toute modification.
Vous ne pouvez pas modifier un objet lié sur place dans Crystal Reports parce
que vous travaillez avec l’objet d’origine. L’objet peut être lié à plusieurs
documents et l’affichage de l’objet d’origine depuis l’application serveur limite
l’accès uniquement à un seul éditeur à la fois.
 Windows 3.x fournit Microsoft Paintbrush™ (PBRUSH.EXE) en tant
qu'éditeur de bitmaps natif. Windows 95 et Windows 98 utilisent Microsoft
Paint (MSPAINT.EXE) comme nouvel éditeur de bitmaps. Tandis que
Windows 95 et Windows 98 enregistrent et transforment les bitmaps OLE de
PBRUSH.EXE en bitmaps OLE de MSPAINT, l’inverse n’est pas possible.
 Vous pouvez ouvrir dans Windows 95 et Windows 98 un état qui contient un
objet bitmap créé dans Windows 3.1 ; en revanche, il est impossible d'ouvrir
dans Windows 3.1 un état Windows 95 ou Windows 98 avec un objet bitmap.
C'est pourquoi, si vous devez travailler avec ces différents systèmes
d'exploitation, il est préférable de créer les états dans Windows 3.1, plutôt que
dans Windows 95 et Windows 98.

Crystal Reports Guide de l’utilisateur 307


scr8.book Page 308 Monday, April 2, 2001 12:29 PM

Insertion des objets OLE dans vos états

Insertion des objets OLE dans vos états


L'insertion d'objets au sein d'une application peut s'effectuer de plusieurs
manières différentes.
 Vous pouvez importer un objet existant ou créer de nouveaux objets à l'aide de
la commande Objet OLE du menu Insérer. Cette méthode permet d'insérer
des objets liés ou des objets incorporés.
 Vous pouvez couper l'objet d'une application serveur OLE et le coller dans
votre état à l'aide de la commande Collage spécial. Vous avez la possibilité de
définir le format à appliquer, le cas échéant. Par exemple, lorsque vous insérez
un texte d'un document Microsoft Word, vous pouvez coller le texte en tant
que texte de document Microsoft Word (modifiable dans l'application Word)
ou en tant que méta-fichier, c'est-à-dire une image du texte que vous ne
pouvez pas modifier. L'usage de la commande Collage spécial permet
d'insérer des objets incorporés ou des objets liés.
 Enfin, vous pouvez faire glisser et déplacer un objet à partir d'une application
serveur OLE. Pour cela, ouvrez Crystal Reports dans une fenêtre et
l'application serveur OLE dans une autre et faites glisser l'objet entre les deux.
Toutefois, lorsque vous faites glisser un objet dans un état, l'objet n'est pas lié,
mais incorporé.
Remarque : le recours aux commandes Copier et Collage spécial du menu Edition
ou aux fonctions glisser et déplacer est particulièrement utile lorsque vous insérez
des informations (provenant de fichiers volumineux). La commande Objet OLE
du menu Insérer s'applique plutôt à l'insertion de fichiers complets.

Pour faire glisser et déplacer des objets OLE


Cette procédure suppose que vous avez installé Microsoft Excel dans votre
ordinateur ou un autre logiciel de feuille de calcul qui sert aussi d'application
serveur OLE.
1 Ouvrez à la fois Crystal Reports et Microsoft Excel, et réajustez les dimensions
des fenêtres pour que celles-ci soient correctement juxtaposées. De cette façon,
vous voyez les provenances et destinations exactes d'un objet.
2 Ouvrez un état existant depuis Crystal Reports.
3 Créez une feuille de calcul dans Microsoft Excel en plaçant les chiffres 1 à 10
dans les cellules A1 à A10.
4 Sélectionnez les cellules A1 à A10.
5 Déplacez le curseur vers le bord gauche des cellules en surbrillance jusqu'à ce
qu'apparaisse un pointeur de flèche.
6 Appuyez sur le bouton gauche de la souris et maintenez-le enfoncé. Ceci active
les cellules à déplacer. Puisque vous ne faites que copier les cellules, appuyez
sur la touche Ctrl et maintenez-la également enfoncée.

308 Crystal Reports Guide de l’utilisateur


scr8.book Page 309 Monday, April 2, 2001 12:29 PM

15 : OLE

7 Faites glisser les cellules dans la section Détails de l'état Crystal Reports, puis
relâchez le bouton de la souris ainsi que la touche Ctrl une fois que les cellules
sont positionnées.
8 Cliquez avec le bouton droit de la souris sur l'objet feuille de calcul dans l'état.
Notez qu'il a maintenant pris la forme d'un objet OLE tandis que la deuxième
commande à partir du bas l'identifie comme Objet feuille de travail.
9 Cliquez deux fois sur l'objet feuille de calcul.
Les menus et les outils deviennent ceux de l'application serveur OLE. Vous
pouvez désormais modifier l'objet sur place. Il s'agit d'un objet incorporé. Les
modifications que vous lui apportez ne sont pas répercutées sur l'original.
10 Cliquez à l'extérieur de l'objet lorsque vous avez terminé.
Les menus et outils de Crystal Reports réapparaissent.

Présentation des objets OLE dans votre état


Un objet OLE peut être affiché dans votre état sous différents formats selon le type
d’insertion de l’objet.
 Si vous avez décidé d’afficher votre objet sous la forme d'une icône, celle-ci
figurera dans votre état. Les utilisateurs peuvent choisir de modifier l’objet
bitmap plus tard en cliquant deux fois sur l’icône.
 Si vous avez créé votre objet à partir d’un fichier existant, les données de ce
fichier (ou icône) s’afficheront dans votre état. Pour modifier ces données,
cliquez deux fois sur l’objet ou son icône.
 Si vous créez un nouvel objet, l’application pour le type d’objet choisi s’ouvre pour
vous permettre de commencer la création de votre objet. Une fois terminé, fermez
ou sortez de l’application. L’objet (ou son icône) sera affiché dans votre état.

Modification des objets OLE dans les états


Modification sur place
La modification sur place permet de remplacer les propriétés d'un objet OLE au
sein d'une application incorporante OLE (telle que Crystal Reports). Les éléments
de menu de l'application incorporante changent pour afficher les outils d'édition
de l'application serveur et faciliter les modifications.
Lorsque vous insérez un objet OLE dans un état, cet objet devient partie intégrante
de l'état. Si vous souhaitez modifier l’objet, cliquez deux fois sur l’objet. Modifiez
l’objet comme il se doit à l'aide des outils d’édition provenant de l’application dans
laquelle l’objet a été initialement créé (ou d’une application semblable offrant les
mêmes capacités de modification sur place).

Crystal Reports Guide de l’utilisateur 309


scr8.book Page 310 Monday, April 2, 2001 12:29 PM

Exploitation des objets statiques OLE

Commandes dynamiques du menu OLE


La commande Objet OLE du menu Edition est dynamique. C’est-à-dire qu’elle
s’adapte aux propriétés de l’objet sélectionné.
Les termes objet document, objet image bitmap, objet image ou objet feuille de
travail décrivent tous un objet donné.
 Si l’objet est incorporé, le menu Edition affiche les commandes qui sont
disponibles à ce type d’objet incorporé.
 Si l’objet est lié, le menu Edition affiche les commandes appropriées pour ce
type d’objet lié.
Les commandes des menus contextuels changent de façon similaire.
Ces commandes dynamiques vous permettent de mieux contrôler votre travail
avec les objets OLE.

OLE et la commande Insérer l’Image


Si vous insérez des images dans votre état à l’aide de la commande Objet OLE du
menu Insérer, l’image peut être traitée en tant qu’objet incorporé ou en tant
qu’objet lié.
Cependant, si vous placez des images dans votre état à l’aide de la commande
Image du menu Insérer, leReport Designer les convertit en objets statiques.
Les objets statiques ne peuvent pas être édités. Si vous voulez modifier un objet, il
est nécessaire de le transformer en objet modifiable à l’aide de la commande
Convertir du menu Edition.

Exploitation des objets statiques OLE


Pour insérer un objet statique OLE
1 Créez un état basé sur les données exemple de Xtreme.mdb et placez un
champ dans la section Détails.
2 Cliquez sur l'onglet Conception.
3 Dans le menu Insérer, choisissez la commande Image.
Truc : vous pouvez également cliquer sur le bouton image de la barre d'outils
Supplémentaire.
La boîte de dialogue Ouvrir apparaît.
Remarque : Crystal Reports supporte les fichiers Bitmap, TIFF, JPEG et PNG.
4 Sélectionnez Xtreme.bmp dans le répertoire \Program Files\Seagate
Software\Crystal Reports\Samples\Fr\Databases

310 Crystal Reports Guide de l’utilisateur


scr8.book Page 311 Monday, April 2, 2001 12:29 PM

15 : OLE

Remarque : l'emplacement de l'image bitmap varie selon la destination


spécifiée durant l'installation.
5 Cliquez sur Ouvrir.
6 Lorsque le cadre de positionnement apparaît, placez l'image dans la section
En-tête d'état à l'extrême gauche.
7 Cliquez avec le bouton droit de la souris sur l'image. Notez que l'image
apparaît sous la forme d'un objet OLE dans le menu contextuel.
8 Lorsque vous cliquez deux fois sur l'objet, rien ne se passe. Un objet statique
OLE ne peut pas être modifié.

Conversion d’un objet OLE statique en objet image bitmap lié


1 Placez le curseur sur l’objet statique OLE puis cliquez sur le bouton droit de la
souris. Lorsque le menu contextuel apparaît, choisissez la commande
Convertir objet image.
La boîte de dialogue Convertir s’affiche.
2 Sélectionnez Paintbrush Picture de la liste Type d’objet, et cliquez sur OK.
Vous venez de transformer un objet statique en un objet modifiable OLE.
3 Cliquez avec le bouton droit de la souris sur l’objet transformé.
La deuxième commande à partir du bas du menu contextuel a pris le caractère
d’Objet image bitmap, la même commande que celle qui est apparue avec le
premier objet que vous avez lié.
4 Cliquez deux fois sur l’objet.
Microsoft Paint, ou toute application graphique installée sur votre ordinateur,
s’ouvre de la même façon que pour l’objet bitmap lié.
5 Enregistrez l'état sous le nom OLE.RPT.

Exploitation des objets incorporés par rapport aux


objets liés
Les objets incorporés et les objets liés disposent de propriétés qui leur sont propres.
Il est donc important de bien comprendre ces différentes caractéristiques lorsque
vous décidez d'utiliser un format OLE.

Objets incorporés
Vous pouvez créer un objet incorporé à l’intérieur de Crystal Reports ou à l’aide d’un
fichier existant. Si vous optez pour la deuxième méthode, l'objet est copié vers l'état.
Les modifications apportées à un objet incorporé n’affectent pas l’objet initial et
inversement. Elles ne concernent que l'objet au sein de votre état.

Crystal Reports Guide de l’utilisateur 311


scr8.book Page 312 Monday, April 2, 2001 12:29 PM

Exploitation des objets incorporés par rapport aux objets liés

Pour insérer un objet incorporé OLE


1 Cliquez sur l'onglet Conception.
2 Dans le menu Insérer, choisissez la commande Objet OLE.
La boîte de dialogue Insérer un objet apparaît.
3 Cliquez sur l’option Créer à partir du fichier.
La boîte de dialogue change pour vous permettre d'entrer le nom d'un objet ou
de rechercher un objet.
4 Cliquez sur le bouton Parcourir et choisissez Xtreme.bmp dans le répertoire
\Program Files\Seagate Software\Crystal Reports\Samples\Fr\Databases
Remarque : l'emplacement de l'image bitmap varie selon la destination
spécifiée durant l'installation.
5 Cliquez sur le bouton Ouvrir pour revenir à la boîte de dialogue Insérer un objet.
6 Cliquez sur OK pour revenir à l’état. Un cadre de positionnement apparaît.
7 Placez l'objet dans la section En-tête d'état juste à droite de la première image.
8 Cliquez avec le bouton droit de la souris sur cette image. Notez que l'image a
pris la forme d'un objet OLE dans le menu contextuel. La deuxième commande
à partir du bas du menu contextuel l'identifie comme Objet image bitmap.
C'est un objet incorporé OLE.
9 Cliquez deux fois sur l’objet. Vous êtes toujours dans Crystal Reports mais tous
les menus et les outils appartiennent à Microsoft Paint ou à un autre logiciel
graphique installé sur votre machine. Le recours à ces outils vous permet de
modifier le bitmap sur place. N'oubliez pas que même si vous utilisez les outils
de l'application serveur OLE, vous ne travaillez pas avec l'objet initial ; l'objet
affiché est une copie de l'objet et l'objet initial n'est pas affecté.

Objets liés
Lorsque vous insérez un objet lié, l’application Windows copie une photo des
données provenant d’un fichier existant. Seule l’image de l’objet est insérée dans
votre état. Les données réelles restent avec le fichier d’origine.
Lorsque vous activez l’objet depuis votre état, le fichier d’origine s’ouvre à
l’intérieur de l’application utilisée pour sa création. Toute modification affecte
aussi le fichier original.
Si vous désirez que les données de l’objet restent à la disposition d’autres
applications et reflètent les derniers changements opérés dans les données, il est
nécessaire de lier l’objet à votre état.
Lorsque vous supprimez la liaison d’un objet à l’aide de la boîte de dialogue
Liaisons, vous supprimez toute connexion aux données originales du document
serveur. Un objet lié dans une application incorporante est constitué simplement

312 Crystal Reports Guide de l’utilisateur


scr8.book Page 313 Monday, April 2, 2001 12:29 PM

15 : OLE

d’une représentation de cet objet ainsi que de la liaison entre l’objet et le document
serveur. Lorsque vous supprimez cette liaison, il ne vous reste que cette
représentation. Il n’existe plus de relation avec les données d’origine ou avec les
capacités d’édition de l’application serveur. Dans une telle situation, Crystal
Reports change l’objet en image (un méta-fichier). Cet objet ne peut être modifié à
l’aide des propriétés OLE, ni converti en objet OLE modifiable.

Objet image bitmap lié


1 Choisissez la commande Objet OLE. du menu Insérer.
La boîte de dialogue Insérer un objet apparaît.
2 Cliquez sur l’option Créer à partir du fichier.
La boîte de dialogue se modifie, et cela vous permet de taper le nom d’un objet
ou de rechercher un objet.
3 Cliquez sur le bouton Parcourir et choisissez Xtreme.bmp du répertoire
\Program Files\Seagate Software\Crystal Reports\Samples\Fr\Databases
Remarque : l'emplacement de l'image bitmap varie selon la destination
spécifiée durant l'installation.
4 Cliquez sur le bouton Ouvrir pour revenir à la boîte de dialogue Insérer un objet.
5 Cochez la case à cocher Liaison.
6 Cliquez sur OK pour revenir à l’état.
Un cadre de positionnement apparaît.
7 Placez l’objet juste à la droite de l’objet incorporé.
8 Placez le curseur sur cette image et cliquez sur le bouton droit de la souris. Le
menu contextuel identifie l’image comme un objet OLE. La deuxième
commande à partir du bas du menu l’identifie comme Objet Image bitmap lié.
9 Cliquez deux fois sur l’objet. Microsoft Paint ou votre application graphique
affiche la version d’origine de l’objet. Chaque modification faite à l’original
apparaît dans la version se trouvant dans votre état.
10 Fermez Microsoft Paint ou votre application graphique et revenez à votre état.

Crystal Reports Guide de l’utilisateur 313


scr8.book Page 314 Monday, April 2, 2001 12:29 PM

Exploitation des objets incorporés par rapport aux objets liés

314 Crystal Reports Guide de l’utilisateur


scr8.book Page 315 Monday, April 2, 2001 12:29 PM

Objets tables croisées 16

Un objet table croisée est une grille qui affiche des valeurs
qui sont groupées et résumées dans deux directions. Ce
chapitre vous fournit des informations sur la façon
d'utiliser les objets table croisée dans votre état.

Crystal Reports Guide de l’utilisateur 315


scr8.book Page 316 Monday, April 2, 2001 12:29 PM

Propriétés d’une table croisée

Propriétés d’une table croisée


Un objet table croisée est une grille qui retourne des valeurs basées sur des critères
que vous définissez vous-même. Les données sont présentées dans un format
compact sous forme de lignes et de colonnes. Ce format facilite la comparaison et
l’identification des tendances. Une table croisée comporte trois éléments :
 des lignes,
 des colonnes, et
 des champs de résumé.

 Les lignes de la table croisée sont horizontales (d'un côté à l'autre). Dans
l'exemple ci-dessus, “ Gants ” correspond à une ligne.
 Les colonnes de la table croisée sont verticales (de haut en bas). Dans l'exemple
ci-dessus, “ EU ” correspond à une colonne.
 Les champs de résumé se trouvent à l’intersection d’une colonne et d’une
ligne. La valeur à chaque intersection représente un résumé (somme, compte,
etc.) des enregistrements remplissant les conditions de la ligne et de la
colonne. Dans l’exemple ci-dessus, la valeur affichée à l’intersection de
“ Gants ” et “ EU ” représente la somme des gants vendus aux Etats-Unis.
Une table croisée inclut également plusieurs totaux.

316 Crystal Reports Guide de l’utilisateur


scr8.book Page 317 Monday, April 2, 2001 12:29 PM

16 : Objets tables croisées

 A la fin de chaque ligne se trouve le total pour cette ligne. Dans l’exemple ci-
dessus, ce total représente le nombre d’un seul produit vendu dans tous les
pays. A la fin de la ligne “ Gants ”, la valeur 8 indique la somme de gants
vendus dans tous les pays.
 En bas de chaque colonne se trouve le total pour cette colonne. Dans l’exemple
ci-dessus, ce total représente le nombre de tous les produits vendus dans un
seul pays. En bas de la colonne “ EU ”, la valeur 4 indique la somme des
produits (gants, ceintures et chaussures) vendus aux EU.
 L’intersection de la colonne Total (totaux pour les produits) et de la ligne Total
(totaux pour les pays) constitue un total général. Dans l’exemple ci-dessus, la
valeur 12 à l’intersection indique la somme de tous les produits vendus dans
tous les pays.

Exemple de table croisée


Les exemples suivants ont été choisis de manière à illustrer l’intérêt des tables
croisées là où leur utilisation s'avère pertinente. L'objectif de cet état est l'analyse
des ventes de cinq types d'antivols différents dans quatre régions (ventes par
produit par région). Par souci de clarté, seules les informations essentielles ont été
reprises :
 région (province) d'où provient la commande,
 nom du produit,
 quantité commandée.
On peut examiner les données de la manière la plus élémentaire, c'est-à-dire sous
la forme d'un état en colonnes, sans tri ni groupement.

Etat des données de commandes - sans tri/groupement

Crystal Reports Guide de l’utilisateur 317


scr8.book Page 318 Monday, April 2, 2001 12:29 PM

Exemple de table croisée

Cet état montre des détails. Chaque ligne représente une commande individuelle.
Il y a beaucoup de commandes émanant de chaque région pour chacun des
différents types d'antivols. Mais en l'absence de toute récapitulation organisée, il est
quasiment impossible de retirer d'un tel état une information pertinente utilisable.
Pour organiser ces données, vous devez d'abord les regrouper d'une manière ou
d'une autre. Les deux possibilités qui se présentent logiquement sont le classement
par région et le classement par produit. Nous allons examiner chacune d'elles.

Etat des données de commandes - groupées par région


Cet état comporte les mêmes données que le précédent, groupées cette fois par
Région. Toutes les commandes d'une même Région sont présentées ensemble,
mais chaque groupe régional comporte des commandes pour toutes sortes
d'antivols. Le total de la colonne des quantités pourrait bien nous donner le total
des commandes de la Région, mais de cette méthode ne permet pas d'obtenir le
total par catégorie d’antivol.

Chaque groupe
régional
contient les
commandes
pour différents
types
d'antivols.

Etat des données de commandes - groupées par produit


Cet état groupe les données, classées cette fois par produit. Chaque groupe affiche
toutes les commandes relatives à un produit déterminé. Cela peut, à première vue,
paraître intéressant, mais il s'avère que chaque groupe de produit contient les
commandes en provenance de différentes régions.
Ces données sont intéressantes et vous rapprochent du but, mais elles ne
correspondent pas aux informations dont vous avez réellement besoin.

318 Crystal Reports Guide de l’utilisateur


scr8.book Page 319 Monday, April 2, 2001 12:29 PM

16 : Objets tables croisées

Chaque groupe de
produits contient
des commandes
émanant de
plusieurs régions
différentes.

Etat des données de commandes - groupées par région et par produit


Cet état constitue l'étape suivante. Puisque l'état Par région contient les différents
produits pour chaque groupe régional et que l'état Par produit contient à l'intérieur
de chaque groupe de produit plusieurs régions, il semble logique de combiner les
deux. Le regroupement s'effectue d'abord par région, puis par produit.

Chaque groupe
contient des
commandes
pour un produit
et une région.

Crystal Reports Guide de l’utilisateur 319


scr8.book Page 320 Monday, April 2, 2001 12:29 PM

Exemple de table croisée

Toutefois les données sont dispersées et restent difficiles à analyser. Ces


informations sont exploitables et vous permettent d'utiliser facilement ce type
d'état afin d'obtenir les renseignements dont vous avez besoin. Mais l'utilisation
d'une table croisée représente néanmoins une solution plus satisfaisante.

Données de commandes organisées dans un objet table croisée


L’information est maintenant sous un format plus condensé. Cet état présente les
ventes par produit et par région et analyse les ventes. Il apparaît donc clairement
que le produit “Mini” antivol de bicyclette Guardian n'est pas du tout populaire en
Californie mais représente la plus grosse vente en Colombie britannique (BC). Ou
encore que l'Alabama obtient de bien meilleurs résultats que la Floride pour
chaque catégorie d'antivols.
Régions

Total - un
produit
dans toutes
les régions.

Nom des
produits

Total -
un produit
par région.

Total - tous
les produits
dans toutes
les régions.
Total - tous les produits d'une région.

Dans cette table croisée :


 Les noms de produits forment les titres des lignes.
 Les régions représentent les titres des colonnes.
 Les valeurs aux intersections des lignes et des colonnes représentent la somme
des ventes d'un produit donné pour une région donnée : le nombre total de
“ Mini ” antivols de bicyclette Guardian commandés en Colombie Britannique,
par exemple.

320 Crystal Reports Guide de l’utilisateur


scr8.book Page 321 Monday, April 2, 2001 12:29 PM

16 : Objets tables croisées

 Le chiffre à l’extrémité de chaque ligne représente le total des ventes d’un


produit dans toutes les régions. Exemple : le total des ventes d'antivols de
bicyclette Guardian ATB pour l'Alabama, la Colombie britannique, la
Californie et la Floride réunis.
 La somme figurant au bas de chaque colonne représente le nombre total
d'antivols, toutes catégories confondues, vendus par région. Par exemple, le
nombre d’antivols, tous types confondus, vendus en Californie.
 La somme figurant dans l'angle inférieur droit représente le total général des
ventes des cinq catégories d'antivols dans les quatre régions considérées.
L'état est présenté de façon très synthétique et il vous permet très rapidement de
comparer les habitudes d'achat de vos clients.

Création d'un état table croisée


Cette section vous fournit les étapes qui vous permettent de créer un objet table
croisée dans un nouvel état et vous expliquent comment ajouter un objet table
croisée à un état existant.
Points à retenir concernant l'utilisation des objets table croisée:
 Vous pouvez avoir plusieurs lignes, colonnes et champs résumés.
 Vous pouvez insérer dans un état autant d'objets table croisée que vous le
souhaitez.
 Vous pouvez insérer la table croisée dans l'En-tête ou le Pied d'état, ou dans
l'En-tête ou le Pied de groupe.
 Vous pouvez placer des objets table croisée dans des sous-états. C'est utile
lorsque vous voulez faire référence aux résultats d'un autre état.

Pour créer un nouvel état table croisée


1 Dans le menu Fichier, cliquez sur Nouveau.
Truc : une autre façon de faire consiste à cliquer sur le bouton Nouveau dans la
barre d'outils standard.
La Collection d'états Crystal Report apparaît.
2 Dans la zone Sélectionner un Expert cliquez sur Table croisée.

Crystal Reports Guide de l’utilisateur 321


scr8.book Page 322 Monday, April 2, 2001 12:29 PM

Création d'un état table croisée

3 Cliquez sur OK.


L'Expert Table croisée s'affiche.

Spécification de la source de données


1 Cliquez sur le type de source de données : Base de données, Requête SQL
Crystal ou Dictionnaire Crystal.
Dans cet exemple, c'est le type Base de données qui est utilisé.
La boîte de dialogue Explorateur de données apparaît.

322 Crystal Reports Guide de l’utilisateur


scr8.book Page 323 Monday, April 2, 2001 12:29 PM

16 : Objets tables croisées

2 Localisez la source de données.


Dans cet exemple, c'est la base de données exemple Xtreme.mdb qui est utilisée.
3 Cliquez sur le signe plus pour développer le dossier.

4 Sélectionnez les tables qui contiennent les champs à inclure dans l'état.
Truc : Utilisez la combinaison Ctrl-cliquer pour choisir une plage de champs
non contigus ou la combinaison Maj-cliquer pour sélectionner une liste de
champs. Dans cet exemple, les champs suivants sont utilisés :
Client, Commandes, Détails de commande et Produit.

5 Cliquez sur Ajouter.


6 Cliquez sur Fermer.
L'onglet Liaisons s'affiche.

Crystal Reports Guide de l’utilisateur 323


scr8.book Page 324 Monday, April 2, 2001 12:29 PM

Création d'un état table croisée

Modification des liaisons


1 Dans cet exemple, vérifiez que la table Client est liée à la table Produit par
l'intermédiaire des tables Commandes et Détail des commandes.
Si vous ne voulez pas conserver la liaison qui a été automatiquement suggérée
par Crystal Reports, changez-la en cliquant sur Effacer liaisons, puis
sélectionnez les champs que vous voulez relier.
2 Cliquez sur Suivant.
L'onglet Table croisée s'affiche.

Définition de la structure de la table croisée


Ajoutez des champs de la zone Champs disponibles dans les zones Lignes,
Colonnes et Champ de résumé.
1 Dans la table Client, cliquez sur Région, puis sur Ajouter une ligne.
Truc : Vous pouvez aussi ajouter des champs dans les différentes sections de la
table croisée en cliquant sur le champ et en le copiant par glisser-déplacer dans
les zones Colonnes, Lignes ou Champ de résumé.
Le champ Région est ajouté à la zone Lignes.
2 Dans la table Produit, cliquez sur Classe du produit, puis sur Ajouter une
colonne.
Le champ Classe du produit est ajouté à la zone Colonne.
3 Dans la table Commandes, cliquez sur Montant de commande, puis cliquez
sur Champ de résumé.
Le champ Montant de commande est ajouté à la zone Champ de résumé.

324 Crystal Reports Guide de l’utilisateur


scr8.book Page 325 Monday, April 2, 2001 12:29 PM

16 : Objets tables croisées

4 Appliquez une structure supplémentaire comme suit :


 Pour ajouter des formules à l'un des champs, sélectionnez le champ puis
cliquez sur Nouvelle formule.
Pour plus d'informations, consultez “Utilisation de l'Editeur de formule” à
la page 405.
 Pour définir la méthode de tri, sélectionnez le champ puis cliquez sur
Options de groupe (ordre croissant, décroissant ou spécifié).
 Pour changer l'opération de résumé, sélectionnez le champ puis cliquez sur
Modifier résumé.
5 Cliquez sur Suivant.
L'onglet Style s'affiche.

Application d'un style prédéfini


1 Sélectionnez un style.
Pour cet exemple, choisissez Original.

2 Cliquez sur Suivant.


L'onglet Personnaliser le style s'affiche.

Mise en forme d'une table croisée


Truc : Si vous ne voulez pas personnaliser le style de votre table croisée, cliquez
sur Suivant.

Crystal Reports Guide de l’utilisateur 325


scr8.book Page 326 Monday, April 2, 2001 12:29 PM

Création d'un état table croisée

Changer la couleur d’arrière-plan d’une ligne ou d’une colonne.


1 Sélectionnez la ligne ou la colonne.
2 Sélectionnez la couleur dans la liste déroulante Couleur d'arrière-plan.
3 Cliquez sur Suivant si vous avez fini de personnaliser votre table croisée.

Créer un pseudonyme pour une ligne ou une colonne.


Vous pouvez créer des pseudonymes pour raccourcir des noms de lignes ou de
colonnes longs. Ceci est utile lorsque vous prévoyez de faire référence à une ligne
ou une colonne dans des formules de mise en forme conditionnelle.
1 Sélectionnez la ligne ou la colonne.
2 Entrez le nom du pseudonyme.
3 Cliquez sur Suivant si vous avez fini de personnaliser votre table croisée.

Modifier les options de grille


Vous pouvez changer la mise en forme de votre grille à l'aide des cases à cocher
associées aux options suivantes :
 Afficher marges de cellule
 Retrait des étiquettes de lignes
 Répéter les étiquettes de lignes
 Conserver les colonnes ensemble
 Totaux de lignes en haut
 Totaux de colonnes à gauche
 Supprimer lignes vides
 Supprimer colonnes vides
 Supprimer les totaux généraux de lignes
 Supprimer les totaux généraux de colonnes
Mettre en forme les lignes de grille
Dans la zone Mise en forme de la grille vous pouvez définir si les lignes, la couleur,
le style ou la largeur doivent s'afficher ou non.
1 Cliquez sur Mise en forme de la grille.
La boîte de dialogue Mise en forme de la grille s'affiche.
2 Dans la liste, choisissez la description de la zone dans laquelle vous voudriez
voir s'afficher les lignes, ou cliquez sur la zone appropriée dans le schéma Mise
en forme de la grille.
3 Sélectionnez la couleur, le style et la largeur.
4 Sélectionnez la case à cocher Dessiner pour que vos lignes s'affichent dans l'état.

326 Crystal Reports Guide de l’utilisateur


scr8.book Page 327 Monday, April 2, 2001 12:29 PM

16 : Objets tables croisées

5 Cliquez sur OK.


6 Cliquez sur Suivant.
L'onglet Graphe s'affiche.

Ajout d'un graphe


1 Utilisez les différents onglets pour ajouter un graphe à votre table croisée.

Pour plus d'informations, reportez-vous à “Concepts de création des graphes”


à la page 260.
2 Cliquez sur Suivant.
3 L'onglet Sélectionner apparaît.

Sélection de champs
Utilisez cet onglet pour appliquer des conditions de sélection. Ceci limite aux
enregistrements qui vous intéressent les résultats qui sont renvoyés dans votre état.
1 Cliquez sur le champ auquel la sélection doit être appliquée.
Pour cet exemple, choisissez Région.
2 Cliquez sur Ajouter.
Le champ est ajouté à la zone Sélectionner les champs et la liste déroulante de
filtrage s'affiche au-dessous de cette zone.
3 Dans la liste déroulante de filtrage, choisissez une méthode de filtrage.

Crystal Reports Guide de l’utilisateur 327


scr8.book Page 328 Monday, April 2, 2001 12:29 PM

Création d'un état table croisée

Choisissez “ est parmi ” comme méthode de filtrage.


Choisissez AZ, CA et OR dans la liste déroulante.
L'état fera apparaître une décomposition et un résumé des ventes d'accessoires
et de cycles pour l'Arizona, la Californie et l'Oregon.

Finir l’état
1 Cliquez sur Terminer.
La table croisée s'affiche dans l'onglet Aperçu.
2 Si vous ne souhaitez pas afficher la table croisée dans l'en-tête d'état, cliquez
sur l'onglet Conception et déplacez la table vers le pied de page d'état, l'en-
tête de groupe ou le pied de groupe.
Remarque : Si vous placez la table croisée dans le pied de page d'état, annulez
la suppression du pied de page en cliquant avec le bouton droit de la souris
dans la zone grise Pied de page d'état et en sélectionnant Ne pas supprimer.
3 Cliquez sur l'onglet Aperçu pour afficher l'état.

Pour ajouter une table croisée à un état existant


Dans cet exemple, une table croisée est ajoutée à un état existant pour montrer les
ventes de l'Amérique du nord comparées à celles du reste du monde.
1 Ouvrez votre état.
Cet exemple utilise l'état Group by Intervals.rpt inclus dans le répertoire
Feature Examples.
2 Cliquez sur l'onglet Conception.

328 Crystal Reports Guide de l’utilisateur


scr8.book Page 329 Monday, April 2, 2001 12:29 PM

16 : Objets tables croisées

3 Dans le menu Insérer, cliquez sur Table croisée.


Truc : vous pouvez également cliquer sur le bouton Insérer une table croisée
dans la barre d'outils supplémentaire.
La boîte de dialogue Mettre en forme une table croisée s'affiche. Cette boîte de
dialogue est constituée de trois onglets: Table croisée, Style et Personnaliser le style.

Définition de la structure de la table croisée


Ajoutez des champs dans les zones Lignes, Colonnes et Champ de résumé.
1 Dans la liste Champs disponibles, cliquez sur Pays, puis sur Ajouter ligne(s).
Truc : Vous pouvez aussi ajouter des champs dans les différentes sections de la
table croisée en cliquant sur le champ et en le copiant par glisser-déplacer dans
les zones Colonnes, Lignes ou Champ de résumé.
Le champ Pays est ajouté à la zone Ligne.
2 Dans la liste Champs disponibles, cliquez sur Ventes de l'année précédente,
puis sur Ajouter un champ résumé.
Le champ Ventes de l'année précédente est ajouté à la zone Champ de résumé.
3 Appliquez une structure supplémentaire:
 Cliquez sur Pays dans la zone Ligne.
 Cliquez sur Options de groupe.
 Sélectionnez dans l'ordre spécifié de la liste déroulante.
 Tapez Amérique du Nord comme nom du Groupe nommé.
 Cliquez sur Nouveau.
 Choisissez est parmi dans la liste déroulante.

Crystal Reports Guide de l’utilisateur 329


scr8.book Page 330 Monday, April 2, 2001 12:29 PM

Mise en forme des tables croisées

 Sélectionnez Canada, Mexique et Etats-Unis dans la liste déroulante.

 Cliquez sur OK pour fermer la boîte de dialogue Définir un groupe nommé.


 Cliquez sur OK pour fermer la boîte de dialogue Options de groupe de
table croisée.

Choix d'un style prédéfini


1 Cliquez sur l'onglet Style.
2 Sélectionnez un style.

Application d'un style personnalisé


1 Cliquez sur l'onglet Personnaliser le style.
2 Personnalisez le style à votre guise.

Achèvement de la table croisée


1 Cliquez sur OK.
2 Placez la table croisée dans l'En-tête d'état ou dans le Pied d'état.
3 Dans le menu Etat, cliquez sur Actualiser les données d'état. L'état actualisé
s'affiche.
Comment mettre en forme une table croisée

Mise en forme des tables croisées


Crystal Reports possède des capacités puissantes de mise en forme qui peuvent être
appliquées à votre table croisée. Les sections suivantes décrivent ces procédures :
 Modification de la largeur et de la hauteur des cellules de table croisée
 Mise en forme de la couleur d’arrière-plan de lignes/colonnes entières
 Mise en forme de plusieurs champs individuellement
 Mise en forme de plusieurs champs à la fois
 Suppression des données de table croisée
 Impression de tables croisées s'étendant sur plusieurs pages

330 Crystal Reports Guide de l’utilisateur


scr8.book Page 331 Monday, April 2, 2001 12:29 PM

16 : Objets tables croisées

En utilisant les capacités de mise en forme telles que les couleurs d’arrière-plan, les
bordures et les polices, vous pouvez mettre en évidence les données importantes
et créer des tables croisées plus faciles à comprendre et d’aspect professionnel.
Pour de plus amples renseignements, voir “Mise en forme” à la page 209.

Modification de la largeur et de la hauteur des cellules de table croisée


1 Dans l’onglet Conception, cliquez sur un en-tête de colonne ou de ligne pour
activer les poignées de redimensionnement.
2 Cliquez et faites glisser l’une des poignées afin d’agrandir la largeur ou la
hauteur de la cellule de table croisée.
3 Cliquez sur l’onglet Aperçu pour afficher les changements.
Remarque : changer un en-tête de ligne ou de colonne touchera tous les en-têtes
de ligne ou de colonne.

Mise en forme de la couleur d’arrière-plan de lignes/colonnes entières


Utilisez les couleurs de fond pour faire ressortir certaines lignes ou colonnes d'une
table croisée.
1 Cliquez avec le bouton droit sur la zone supérieure gauche vide de la table croisée
et sélectionnez Mettre en forme une table croisée dans le menu contextuel.
La boîte de dialogue Table croisée s'affiche.
2 Cliquez sur l'onglet Personnaliser le style.
3 Sélectionnez la ligne (de la zone de liste Lignes) ou la colonne, (de la zone de
liste Colonnes) à modifier et sélectionnez la couleur d’arrière-plan souhaitée
dans la zone de liste déroulante Couleur d’arrière-plan.
4 Cliquez sur OK pour revenir à la table croisée.
La ligne/colonne sera mise en forme selon vos spécifications.

Mise en forme de plusieurs champs individuellement


1 Cliquez avec le bouton droit sur le champ que vous voulez mettre en forme et
choisissez Format du champ dans le menu contextuel.
L’Editeur de format apparaît.
2 Dans l'Editeur de format, choisissez la police, l'arrière-plan, les bordures, la
numérotation, les symboles monétaires et les caractéristiques d'impression.
3 Cliquez sur OK pour revenir à la table croisée.
Le champ est mis en forme comme demandé.

Crystal Reports Guide de l’utilisateur 331


scr8.book Page 332 Monday, April 2, 2001 12:29 PM

Mise en forme des tables croisées

Mise en forme de plusieurs champs à la fois


1 Utilisez la méthode Maj-cliquer pour mettre en surbrillance les champs désirés.
2 Cliquez avec le bouton droit sur n'importe lequel d'entre eux et choisissez
Format des objets dans le menu contextuel.
L’Editeur de format apparaît.
3 Dans l'Editeur de format, choisissez la police, l'arrière-plan, les bordures, la
numérotation, les symboles monétaires et les caractéristiques d'impression.
4 Cliquez sur OK pour revenir à la table croisée.
Les champs sont mis en forme comme demandé.

Suppression des données de table croisée


Cette section présente les étapes nécessaires pour supprimer des données dans
votre état. Vous pouvez supprimer :
 des lignes et des colonnes vides ;
 des totaux généraux de lignes et de colonnes ;
 des sous-totaux et leur étiquettes.

Pour supprimer des lignes vides et des colonnes


1 Cliquez avec le bouton droit sur la zone supérieure gauche vide de la table croisée
et sélectionnez Mettre en forme une table croisée dans le menu contextuel.
La boîte de dialogue Table croisée s'affiche.
2 Cliquez sur l'onglet Personnaliser le style.
3 Sélectionnez la case à cocher Supprimer lignes vides ou Supprimer colonnes
vides.
4 Cliquez sur OK.
Maintenant, lorsque vous imprimerez l'état, les lignes et/ou les colonnes vides
ne s'afficheront pas.

Pour supprimer des totaux généraux de lignes et de colonnes


1 Cliquez avec le bouton droit sur la zone supérieure gauche vide de la table croisée
et sélectionnez Mettre en forme une table croisée dans le menu contextuel.
La boîte de dialogue Table croisée s'affiche.
2 Cliquez sur l'onglet Personnaliser le style.
3 Sélectionnez la case à cocher Supprimer totaux généraux de ligne ou
Supprimer totaux généraux de colonne.
4 Cliquez sur OK.

332 Crystal Reports Guide de l’utilisateur


scr8.book Page 333 Monday, April 2, 2001 12:29 PM

16 : Objets tables croisées

Pour supprimer les sous-totaux et les étiquettes


Si vous avez plus de deux groupes dans votre table croisée, vous pouvez
supprimer le sous-total et l'étiquette de l'un d'entre eux.
1 Cliquez avec le bouton droit sur la zone supérieure gauche vide de la table
croisée et sélectionnez Mettre en forme une table croisée dans le menu
contextuel.
La boîte de dialogue Mettre en forme une table croisée s'affiche.
2 Cliquez sur l'onglet Personnaliser le style.
3 Cliquez sur le champ dont vous voulez supprimer le sous-total.
Les cases à cocher Supprimer le sous-total et Supprimer l'étiquette deviennent
actives.
4 Dans la zone Options groupe, sélectionnez la case à cocher Supprimer le sous-
total.
5 Cliquez sur la case à cocher Supprimer l'étiquette pour supprimer l'étiquette
associée au sous-total.
6 Cliquez sur OK.

Impression de tables croisées s'étendant sur plusieurs pages


Lorsque vous créez une table croisée qui est plus large ou plus longue que le format
de page spécifié, le programme étend automatiquement l'impression sur un nombre
de pages suffisant pour accepter la taille de la table croisée. Dans l'onglet Aperçu,
une ligne s'affichera à chaque saut de page. Dans le but de faciliter la lecture, les titres
de colonne seront répétés sur les pages suivantes. Les en-têtes de lignes peuvent
également être répétés en utilisant l'option Conserver les colonnes ensemble.

Pour répéter les étiquettes de lignes


1 Cliquez avec le bouton droit sur la zone supérieure gauche vide de la table
croisée et sélectionnez Mettre en forme une table croisée dans le menu
contextuel.
La boîte de dialogue Table croisée s'affiche.
2 Cliquez sur l'onglet Personnaliser le style.
3 Le cas échéant, cochez la case Répéter les étiquettes de lignes.

Crystal Reports Guide de l’utilisateur 333


scr8.book Page 334 Monday, April 2, 2001 12:29 PM

Mise en forme des tables croisées

334 Crystal Reports Guide de l’utilisateur


scr8.book Page 335 Monday, April 2, 2001 12:29 PM

Les états avec les données OLAP 17

Ce chapitre décrit comment créer des états OLAP avec un


grand nombre de sources de données OLAP et
multidimensionnelles et comment les mettre à jour lorsque
vos données sont déplacées.

Crystal Reports Guide de l’utilisateur 335


scr8.book Page 336 Monday, April 2, 2001 12:29 PM

Création d’états OLAP avec Crystal Reports

Création d’états OLAP avec Crystal Reports


Les serveurs SQL et les bases de données PC comptent parmi les sources de base
de données les plus courantes. Cependant, les formats de stockage de données et
d’analyse OLAP (Online Analytical Processing) et MDD (Multi-Dimensional Data)
deviennent de plus en plus populaires. Crystal Reports comporte des
caractéristiques d'accès et de conception d'états identiques pour les sources de
données OLAP ainsi que les données relationnelles.
Remarque : dans cette rubrique, le terme OLAP désigne toutes les formes
courantes de systèmes d'accès et de stockage de données OLAP et MDD.

Objets grille OLAP


Lors de la conception d’un état généré sur des données, Crystal Reports crée un
état principal contenant un ou plusieurs objets grilles OLAP. Ces objets grilles
OLAP ressemblent et fonctionnent presque de la même manière que les objets
tables croisées, mais ils sont spécifiquement conçus pour les données OLAP.
Les objets grille OLAP offrent de réelles possibilités de gestion
multidimensionnelle des états. Ajoutez plusieurs dimensions à l'un des axes pour
en analyser trois, quatre ou plus dans une seule grille OLAP. Vous pouvez
également créer plusieurs grilles OLAP dans un même rapport (au lieu d'afficher
plusieurs dimensions dans une grille).

Création d'un état OLAP


Les états OLAP sont créés à l'aide de l'Expert Etat OLAP. L'Expert est composé de
sept onglets. Avant de commencer la création de votre état, assurez-vous que vous
disposez des informations suivantes :
 type OLAP (Cube Essbase, serveur OLAP IBM DB2™, OLE DB pour OLAP,
MetaCube ® Informix® ou Cube Holos HDC),
 nom du serveur et de la base de données,
 ID utilisateur,
 mot de passe,
 mot de passe Paramètres (uniquement pour OLE DB pour OLAP).

Pour créer un état OLAP


Cette procédure utilise le cube exemple xtreme.hdc inclus dans le dossier OLAP Data.
1 Dans le menu Fichier, cliquez sur Nouveau.
La Collection d'états Crystal Report apparaît.
Truc : une autre façon de faire consiste à cliquer sur le bouton Nouveau dans la
barre d'outils standard.

336 Crystal Reports Guide de l’utilisateur


scr8.book Page 337 Monday, April 2, 2001 12:29 PM

17 : Les états avec les données OLAP

2 Sélectionnez OLAP.

3 Cliquez sur OK.


L'Expert Etat OLAP s'affiche avec l'onglet Données actif.

Spécification de la source de données


Utilisez l'onglet Données pour définir la source de données OLAP.
1 Cliquez sur Type de serveur.
La boîte de dialogue Sélectionner le type OLAP s'affiche.
2 Sélectionnez le type OLAP que vous utilisez.

3 Cliquez sur OK.


La boîte de dialogue Parcourir s'affiche.

Crystal Reports Guide de l’utilisateur 337


scr8.book Page 338 Monday, April 2, 2001 12:29 PM

Création d’états OLAP avec Crystal Reports

4 Cliquez sur Parcourir et sélectionnnez la source de données OLAP.


Cet exemple utilise le cube Xtreme.hdc qui se trouve dans le dossier Données
OLAP.
5 Cliquez sur Ouvrir.
La boîte de dialogue Parcourir s'affiche.
6 Cliquez sur OK.
L'onglet Données s'affiche avec les informations de source de données indiquées.
7 Cliquez sur Suivant.

Définition de la structure de la grille


Utilisez l'onglet Lignes/Colonnes pour définir comment vos données seront
structurées dans la grille. Vous pouvez placer les dimensions dans les zones
Colonnes ou Lignes.
Truc : il est également possible de placer les dimensions par glisser-déplacer dans
la zone Lignes ou Colonnes.
1 Sélectionnez une dimension devant s'afficher dans l'état.
2 Cliquez sur Ajouter ligne ou Ajouter colonne, selon l'emplacement que vous
souhaitez pour la dimension.
3 Continuez à ajouter des dimensions dans les zones Lignes et Colonnes.

4 Cliquez sur les boutons Flèches haut et bas associés aux zones Lignes et
Colonnes pour modifier l'ordre des dimensions.

338 Crystal Reports Guide de l’utilisateur


scr8.book Page 339 Monday, April 2, 2001 12:29 PM

17 : Les états avec les données OLAP

Remarque :
 Si vous ajoutez accidentellement une dimension à l'une des zones Lignes ou
Colonnes, cliquez sur Supprimer pour la renvoyer dans la liste Dimensions.
 La case à cocher Utiliser noms de champ longs est sélectionnée par défaut.
Ceci signifie, par exemple, que le champ mois s'affichera sous la forme
Janvier, Février, etc., au lieu de M01, M02, etc.
5 Cliquez sur le sélecteur de champs pour spécifier les champs à inclure dans
votre état.
La boîte de dialogue Sélectionner des champs pour la dimension s'affiche.
6 Sélectionnez les champs que vous voulez inclure.
7 Cliquez sur OK.
8 Cliquez sur Suivant.
L'onglet Filtre/Page s'affiche.

Spécification du nombre de grilles et application de filtres


Utilisez cet onglet pour limiter les enregistrements qui sont renvoyés, et spécifiez
le nombre de grilles qui sont nécessaires.
La zone Filtre détermine les limites qui seront placées sur votre état. Par exemple,
si vous avez une dimension temps composée de champs Trimestre fiscal, vous
pouvez demander que l'état renvoie les résultats d'un trimestre particulier.
Truc : Par défaut, tous les enregistrements sont non filtrés ; si vous n'avez pas besoin
de filtrer des enregistrements ou de spécifier le nombre de grilles, cliquez sur Suivant.
Remarque : Si tous vos champs ont été utilisés dans l'onglet Lignes/Colonnes,
rien ne s'affichera ici.
La zone Page vous permet de déterminer le nombre de grilles et l'objet de chacune.
Par exemple, si vous aviez une dimension produit, vous pourriez la placer dans la
zone page et spécifier deux produits différents. Ceci produirait deux grilles ayant
les mêmes lignes, les mêmes colonnes et la même mise en forme, mais chacune
serait basée sur un produit différent.

Spécifier un filtre
1 Cliquez sur le sélecteur de champ pour déterminer les champs qui vont être
utilisés en tant que filtre.
La boîte de dialogue Sélectionner des champs pour la dimension s'affiche.
2 Sélectionnez le champ approprié, en développant la structure si nécessaire.
3 Cliquez sur OK.
4 Cliquez sur Suivant si vous ne voulez pas ajouter une page.
L'onglet Style s'affiche.

Crystal Reports Guide de l’utilisateur 339


scr8.book Page 340 Monday, April 2, 2001 12:29 PM

Création d’états OLAP avec Crystal Reports

Ajouter une page


1 Placez le (les) dimension(s) dans la zone page par glisser-déplacer.
La boîte de dialogue Sélectionner des champs pour la dimension s'affiche.
2 Développez la structure dimensions et sélectionnez les champs appropriés.
3 Cliquez sur OK.
4 Cliquez sur Suivant.
L'onglet Style s'affiche.

Application d'un style prédéfini


1 Sélectionnez dans la liste un style prédéfini pour la grille.
Truc : Si vous ne voulez pas utiliser un style prédéfini, cliquez sur Suivant.
Un aperçu du modèle de couleur que vous avez sélectionné s'affiche sur la droite.

Remarque : la couleur du style que vous sélectionnez peut ne pas apparaître


correctement si votre écran est réglé sur une résolution de 256 couleurs.
Augmentez la résolution pour corriger ce problème.
2 Cliquez sur Suivant.
L'onglet Personnaliser le style s'affiche.

Mise en forme de la grille


Truc : Si vous ne voulez pas personnaliser le style de votre grille, cliquez sur Suivant.

340 Crystal Reports Guide de l’utilisateur


scr8.book Page 341 Monday, April 2, 2001 12:29 PM

17 : Les états avec les données OLAP

Changer la couleur d'arrière-plan d'une dimension.


1 Sélectionnez la dimension.
2 Sélectionnez la couleur dans la liste déroulante Couleur d'arrière-plan.
3 Cliquez sur Suivant si vous avez fini de personnaliser votre grille.

Créer un pseudonyme pour une dimension.


Vous pouvez créer des pseudonymes pour raccourcir des noms de dimension
longs. Ceci est utile lorsque vous prévoyez de faire référence à une dimension dans
des formules de mise en forme conditionnelle (fonction GridRowColumnValue).
1 Sélectionnez la dimension.
2 Entrez le nom du pseudonyme.
3 Cliquez sur Suivant si vous avez fini de personnaliser votre grille.

Modificer les options d'objet grille


Vous pouvez changer la mise en forme de vos objets grille à l'aide des cases à
cocher associées aux options suivantes :
 Afficher marges de cellule
 Retrait des étiquettes de lignes
 Répéter les étiquettes de lignes
 Conserver les colonnes ensemble
 Totaux de lignes en haut
 Totaux de colonnes à gauche
 Supprimer lignes vides
 Supprimer colonnes vides

Crystal Reports Guide de l’utilisateur 341


scr8.book Page 342 Monday, April 2, 2001 12:29 PM

Création d’états OLAP avec Crystal Reports

Mettre en forme les lignes de grille


La boîte de dialogue Mise en forme de la grille permet de définir si les lignes sont
visibles, ainsi que de préciser leur couleur, leur style et leur largeur.
1 Cliquez sur Mise en forme de la grille.
La boîte de dialogue Mise en forme de la grille s'affiche.
2 Dans la liste, choisissez la description de la zone dans laquelle vous voudriez
voir s'afficher les lignes, ou cliquez sur la zone appropriée dans le schéma Mise
en forme de la grille.
3 Sélectionnez la couleur, le style et la largeur.
4 Sélectionnez la case à cocher Dessiner pour que vos lignes s'affichent dans l'état.
5 Cliquez sur OK.
6 Cliquez sur Suivant.
L'onglet Etiquettes s'affiche.

Etiquetage des dimensions


Dans l'onglet Etiquettes, vous êtes en mesure de définir les dimensions qui seront
étiquetées et leur mode d'affichage dans la grille. Les dimensions auxquelles vous
pouvez accéder sont celles qui ont été conçues comme une page ou un filtre.
1 A l'aide des boutons flèches, déplacez les dimensions vers les zones non
étiquetées et étiquetées selon vos besoins.
2 Modifiez l'aspect de l'étiquette en utilisant les options disponibles dans les
zones Dimensions non étiquetées et Dimensions étiquetées.

342 Crystal Reports Guide de l’utilisateur


scr8.book Page 343 Monday, April 2, 2001 12:29 PM

17 : Les états avec les données OLAP

3 Cliquez sur Suivant.


L'onglet Graphe s'affiche.

Insertion d'un graphe


Le processus de création de graphe pour les états OLAP est semblable à celui
utilisé pour les états standards.
Pour avoir plus d'informations, reportez-vous aux sections “Création de graphes
sur la base d'un cube OLAP (modèle OLAP)” à la page 271 et “Création de
graphes” à la page 265.

Achèvement du processus
Pour terminer votre état, cliquez sur Terminer.

Mise à jour d'un état OLAP


L'emplacement des données OLAP auxquelles accède votre état peut changer. Ce
changement peut résulter, par exemple, de l'une ou l'autre des circonstances
suivantes :
 L'emplacement du serveur OLAP ou de la base de données peut changer par
suite d'une restructuration des ressources du système d'informations.
 Une autre instance de cube peut avoir été traitée avec succès et refléter des
informations plus récentes.
 De nouveaux états ont pu être développés sur une base de données plus petite
représentant un sous-ensemble ou une version de production de la base de
données OLAP principale, puis transférés sur la véritable base de données
opérationnelle pour pouvoir baser les états sur les données réelles.
Avant d'effectuer la mise à jour de votre état, il est important de vous assurer qu'il
est compatible avec les données. Veillez en particulier à :
 supprimer les dimensions qui existent dans l'état mais pas dans le cube;
 supprimer les champs, tels que les formules, auxquels il est fait explicitement
référence dans la conception de l'état.
Remarque : si un état contient des sous-états ou des grilles, et que la base de
données à laquelle ces éléments se rapportent a changé de nom ou d'emplacement,
vous devez mettre à jour chaque sous-état ou grille.

Crystal Reports Guide de l’utilisateur 343


scr8.book Page 344 Monday, April 2, 2001 12:29 PM

Création d’états OLAP avec Crystal Reports

Pour mettre à jour l'emplacement d'un cube dans un objet grille OLAP
1 Sélectionnez la grille en cliquant sur sa bordure.
2 Dans le menu Base de données, cliquez sur Définir l'emplacement de cube
OLAP.
Truc : vous pouvez également cliquer avec le bouton droit de la souris sur
Définir l'emplacement de cube OLAP.
La boîte de dialogue Confirmer la commande s'affiche.
3 Cliquez sur Oui.
La boîte de dialogue Définir l'emplacement de base de données OLAP s'affiche.
4 Cliquez sur Sélectionner.
La boîte de dialogue Sélectionner le type OLAP s'affiche.
5 Sélectionnez le type OLAP.
6 Cliquez sur OK.
La boîte de dialogue Connexion au serveur s'affiche.
7 Entrez les informations appropriées dans les champs Serveur OLAP, ID
utilisateur et Mot de passe
Remarque : les champs varient en fonction du type OLAP que vous utilisez.
8 Cliquez sur Connexion.
La boîte de dialogue Sélectionner un cube s'affiche.
9 Sélectionnez un cube.
10 Cliquez sur OK.
La boîte de dialogue Définir l'emplacement OLAP s'affiche.
11 Cliquez sur OK.
La boîte de dialogue Etendre la définition de l'emplacement s'affiche.
12 Cliquez sur Oui pour mettre à jour les grilles OLAP restantes et suivre les
étapes de mise à jour de l'emplacement de la base de données, sinon cliquez sur
Non pour revenir à l'état.

Mise à jour de l'emplacement de la base de données


1 Cliquez sur Oui pour mettre à jour l'emplacement de la base de données.
La boîte de dialogue Définir l'emplacement s'affiche.
2 Sélectionnez la base de données, puis cliquez sur Définir l'emplacement.
L'Explorateur de données s'affiche
3 Développez le répertoire pour le cube.

344 Crystal Reports Guide de l’utilisateur


scr8.book Page 345 Monday, April 2, 2001 12:29 PM

17 : Les états avec les données OLAP

4 Sélectionnez la table puis cliquez sur Définir.


La boîte de dialogue Connexion au serveur s'affiche.
5 Entrez les informations appropriées dans les champs Serveur OLAP, ID
utilisateur et Mot de passe
Remarque : les champs varient en fonction du type OLAP que vous utilisez.
6 Cliquez sur Connexion.
La boîte de dialogue Sélectionner un cube s'affiche.
7 Sélectionnez le cube, puis cliquez sur OK.
8 La boîte de dialogue Etendre la définition de l'emplacement s'affiche avec un
message vous invitant à propager les modifications du serveur et de la base de
données vers les tables possédant les mêmes informations d'origine.
9 Cliquez sur Oui.

Utilisation de la méthode Informix MetaCube SQL pour créer un état


création Il existe deux méthodes pour créer des états OLAP basés sur des
informations Informix MetaCube. La première consiste à utiliser l'Expert Etat
OLAP et la deuxième consiste à utiliser la méthode Informix MetaCube SQL.
Cette section vous donne des instructions pour la création d'états OLAP pour les
bases de données Informix MetaCube à l'aide de la méthode Informix MetaCube
SQL.
La création d'un état avec Informix MetaCube est très semblable à celle d'un état
basé sur n'importe quelle base de données. Lors de la création d'un état, vous
verrez une liste de tables, de tables exemples et de requêtes prédéfinies avec des
dimensions, des attributs et des mesures. Pour travailler sur des données OLAP, il
est souvent préférable de créer un état de style table croisée. De plus, il est
également intéressant d'ajouter un filtre à votre état pour limiter le nombre
d'enregistrements qui sont renvoyés lorsque vous exécutez l'état. Ce filtrage peut
être effectué à l'aide de l'Editeur de formule de sélection d'enregistrements.
Les procédures suivantes utilisent la source de données Metademo incluse sur le
CD-ROM Informix Metacube.

Pour créer un état OLAP à l'aide de la méthode Informix MetaCube


SQL
1 Dans le menu Fichier, cliquez sur Nouveau.
Truc : une autre façon de faire consiste à cliquer sur le bouton Nouveau dans la
barre d'outils standard.
La Collection d'états Crystal Report apparaît.

Crystal Reports Guide de l’utilisateur 345


scr8.book Page 346 Monday, April 2, 2001 12:29 PM

Création d’états OLAP avec Crystal Reports

2 Vérifiez que les options Utilisation de l'Expert Etat et Standard sont


sélectionnées, puis cliquez sur OK.

3 Cliquez sur Base de données.


L'Explorateur de données s'affiche
4 Développez le dossier Autres sources de données, puis cliquez sur le dossier
Informix MetaCube.

5 Dans la boîte de dialogue Connexion RDBMS et Sélectionner le système DSS,


entrez le mot de passe, puis cliquez sur OK.
6 Sélectionnez la table Brand Channel Net Profit.

346 Crystal Reports Guide de l’utilisateur


scr8.book Page 347 Monday, April 2, 2001 12:29 PM

17 : Les états avec les données OLAP

7 Cliquez sur Ajouter, puis cliquez sur Fermer.


L'Expert Etat Standard apparaît.
8 Cliquez sur Suivant.
L'onglet Champs apparaît.
9 Pour cet exemple, sélectionnez les champs Channel.Channel, Product Brand
et Sales Transactions puis cliquez sur Ajouter.
10 Cliquez sur Prévisualiser un échantillon pour afficher l'état.
Remarque : vous serez peut-être amené à régler la largeur des colonnes de champs
et les en-têtes de champs pour voir toutes les données. Si vous souhaitez cacher la
colonne Channel Field, sélectionnez le premier élément du champ, cliquez sur le
bouton droit de la souris et sélectionnez Supprimer dans le menu contextuel.

Pour créer un état table croisée Informix MetaCube


1 Dans le menu Fichier, cliquez sur Nouveau.
Truc : une autre façon de faire consiste à cliquer sur le bouton Nouveau dans la
barre d'outils standard.
La Collection d'états Crystal Report apparaît.
2 Sélectionnez l'Expert Table croisée

3 Cliquez sur OK.


L'Expert Table croisée s'affiche.

Crystal Reports Guide de l’utilisateur 347


scr8.book Page 348 Monday, April 2, 2001 12:29 PM

Création d’états OLAP avec Crystal Reports

4 Cliquez sur Base de données.


L'Explorateur de données s'affiche.
5 Développez le dossier Autres sources de données, puis cliquez sur le dossier
Informix MetaCube.

6 Dans la boîte de dialogue Connexion RDBMS et Sélectionner le système DSS,


entrez le mot de passe, puis cliquez sur OK.
Remarque : si vous avez déjà travaillé sur des états Informix MetaCube au
cours de cette session, l'étape précédente n'est pas nécessaire.

348 Crystal Reports Guide de l’utilisateur


scr8.book Page 349 Monday, April 2, 2001 12:29 PM

17 : Les états avec les données OLAP

7 Sélectionnez les tables Audio Sales YTD by Channel et Brand Channel Net
Profit, cliquez sur Ajouter, puis cliquez sur Fermer.
L'Expert Table croisée s'affiche avec l'onglet Liaisons actif.
8 Cliquez sur Suivant.
L'onglet Table croisée s'affiche.
9 Faites passer les champs suivants par glisser-déplacer de la zone Champs de
l'état aux zones Table croisée appropriées :
 Attributes.Channel.Channel de la table Audio Sales YTD Channel à la
zone Lignes.
 Attributes.Product.Brand de la table Brand Channel Net Profit à la zone
Colonnes.
 Measures.Sales Transactions.Net Profit de la table Brand Channel Net
Profit à la zone Champs de résumé.
10 Cliquez sur Terminer pour afficher un état table croisée basé sur les champs
que vous avez sélectionnés.
11 Enregistrez l'état.
Cet état est utilisé dans le didacticiel Ajout d'un champ à un état table croisée.

Pour ajouter un champ à un état table croisée Informix MetaCube


Ce didacticiel est basé sur l'état créé dans le didacticiel pour la création d'états table
croisée Informix MetaCube.
1 Sélectionnez tout l'objet table croisée en cliquant dans l'angle supérieur gauche
de l'objet, au-dessus de l'en-tête de la ligne du haut jusqu'à la gauche de l'en-
tête de colonne le plus à gauche.
2 Dans le menu Mettre en forme, cliquez sur Mettre en forme une table croisée.
La boîte de dialogue Mettre en forme une table croisée s'affiche.
3 Par un glisser-déplacer, faites passer le champ Attributes.Time.Fiscal Year de
la table Audio Sales TYD by Channel à la zone Colonnes.
4 Cliquez sur OK.
Fiscal Years est maintenant ajouté à l'état table croisée.
Remarque : vous pourrez être amené à développer les colonnes pour voir
toutes les informations.
5 Enregistrez l'état.
Cet état est utilisé dans les champs pivot d'un didacticiel d'état table croisée
Informix MetaCube.

Crystal Reports Guide de l’utilisateur 349


scr8.book Page 350 Monday, April 2, 2001 12:29 PM

Création d’états OLAP avec Crystal Reports

Pour faire pivoter des champs dans un état table croisée Informix
MetaCube
Ce didacticiel est basé sur l'état créé dans le didacticiel traitant de la façon d'ajouter
un champ à un état table croisée Informix MetaCube. A cause des nombreuses
marques, l'état est difficile à manipuler en ce qui concerne l'affichage des données
ou l'impression. Pour rendre son utilisation plus conviviale, il serait avantageux de
permuter les champs pour que les colonnes deviennent les lignes et vice versa.
1 Cliquez sur l'en-tête de colonne du haut "Alden", faites-le glisser de façon à ce
qu'il soit positionné sur l'en-tête de ligne "Department Stores" et déposez-le.
2 Prenez maintenant l'en-tête de ligne “Department Stores”, faites-le glisser de
façon à ce qu'il soit positionné sur l'en-tête de colonne "Year 1996" et déposez-le.
3 Enfin, prenez l'en-tête de colonne "Year 1996", positionnez-le sur l'en-tête de
ligne Alden et déposez-le.

Pour mettre à jour l'emplacement d'un MetaCube Informix en


utilisant la méthode MetaCube SQL
1 Dans le menu Base de données, cliquez sur Définir l'emplacement.
La boîte de dialogue Définir l'emplacement s'affiche.
2 Sélectionnez la base de données, puis cliquez sur Définir l'emplacement.
L'Explorateur de données s'affiche
3 Sélectionnez la table.
4 Cliquez sur Définir.
La boîte de dialogue Etendre la définition de l'emplacement s'affiche.
5 Cliquez sur Oui.
6 Cliquez sur Terminé.

350 Crystal Reports Guide de l’utilisateur


scr8.book Page 351 Monday, April 2, 2001 12:29 PM

Distribution et visualisation des états 18

Ce chapitre fournit les informations nécessaires à la


distribution des états terminés à l'aide de diverses
méthodes (impression, télécopie, exportation). Vous y
trouverez également des informations sur l’ouverture des
états dans les dossiers Enterprise.

Crystal Reports Guide de l’utilisateur 351


scr8.book Page 352 Monday, April 2, 2001 12:29 PM

Diffusion des états

Diffusion des états


Crystal Reports permet de distribuer les états de différentes façons. Ce chapitre
aborde les sujets suivants :
 Imprimer un état
 Envoyer un état par télécopie
 Exportation d'un état
 Enregistrer un état dans le format de la version 7
 Utilisation des dossiers Enterprise.

Imprimer un état
Pour imprimer un état
1 Dans le menu Fichier, sélectionnez Imprimer, puis cliquez sur Imprimante.
Truc : vous pouvez également effectuer cette opération en cliquant sur le
bouton Impression de la barre d'outils standard.
La boîte de dialogue Imprimer apparaît.

2 Choisissez les éléments suivants :


 Etendue d'impression : toutes les pages ou une étendue spécifique.
 Nombre de copies.
 Trier : lorsque cette option est sélectionnée, l'état imprime toutes les pages
dans l'ordre. Si vous imprimez par exemple deux copies d'un état comportant
quatre pages, la première, la deuxième, la troisième et la quatrième pages de
la première copie sont imprimées, puis la seconde copie est imprimée.
3 Cliquez sur OK.
La boîte de dialogue Impression des enregistrements apparaît et affiche l'état
du travail d'impression.

352 Crystal Reports Guide de l’utilisateur


scr8.book Page 353 Monday, April 2, 2001 12:29 PM

18 : Distribution et visualisation des états

Envoyer un état par télécopie


De nombreuses applications telles que Microsoft Fax et Delrina WinFax
permettent d'installer un pilote d'imprimante pour envoyer par télécopie des
documents via un modem. Si vous utilisez ces applications, il est possible
d'envoyer un état par télécopie depuis Crystal Reports.

Pour envoyer un état par télécopie


1 Dans le menu Fichier, cliquez sur Configuration de l'imprimante.
La boîte de dialogue Configuration de l'imprimante apparaît.
2 Sélectionnez le pilote de télécopie dans la liste déroulante Nom.
3 Cliquez sur OK.
4 Dans le menu Fichier, sélectionnez Imprimer, puis cliquez sur Imprimante.
La boîte de dialogue Imprimer apparaît.
5 Cliquez sur OK.
L'application de télécopie apparaît, vous invitant à sélectionner une page d'en-
tête et à fournir les informations concernant la télécopie.

Exportation d'un état


Les états terminés peuvent être exportés dans plusieurs formats de tableur ou de
traitement de texte courants, ainsi qu'au format HTML, ODBC, et au format
d'échange de données (DIF). Cela facilite la diffusion des informations. Il est par
exemple possible d'utiliser les données de l'état pour afficher les tendances dans
un tableur ou d'étoffer la présentation des données dans un logiciel de publication.
Le processus d'exportation nécessite la spécification d'un format et une
destination. Le format détermine le type de fichier et la destination détermine
l'emplacement du fichier.

Types de formats
Crystal Reports fournit plus de vingt types de formats d’exportation différents.
Parmi ceux-ci :
 Adobe Acrobat (PDF)
 Fichier délimité par un caractère
 Fichier délimité par virgule (CSV)
 Crystal Reports (RPT)
 Crystal Reports 7 (RPT)
 Format d'échange de données (DIF)
 Microsoft Excel
 HTML 3.2

Crystal Reports Guide de l’utilisateur 353


scr8.book Page 354 Monday, April 2, 2001 12:29 PM

Diffusion des états

 HTML 4.0 (DHTML)


 Lotus® 1-2-3
 ODBC
 Texte paginé
 Style d'état (colonnes de valeurs)
 Définition d'état
 Format Texte Enrichi (RTF)
 Texte délimité par des tabulations
 Valeurs séparées par des tabulations
 Texte
 Format Word
 Document Word pour Windows
 XML.
En plus des formats d'exportation standard installés sur votre ordinateur, certains
formats d'exportation supplémentaires sont peut-être disponibles. Cela dépend
des DLL installées sur votre ordinateur.
Remarque : lorsque vous exportez vers un format de fichier autre que le format
(.RPT) de Crystal Reports, il est possible que vous perdiez une partie ou la totalité
de la mise en forme de l'état. Toutefois, le programme essaie de conserver autant
de mise en forme que le format d'exportation le permet.

Destination
La destination détermine l'emplacement de l'exportation de votre état. Seagate
Crystal Report vous permet de choisir l'une des six destinations Parmi ceux-ci :
 Application
 Fichier sur disque
 Dossier Microsoft® Exchange®
 Lotus® Domino™
 Lotus® cc:Mail (VIM)
 Microsoft Mail™ (MAPI).

Exportation vers une application


Si vous effectuez une exportation vers une application, le programme exporte l'état
vers un fichier temporaire du format spécifié, et ouvre le fichier dans l'application
appropriée.

354 Crystal Reports Guide de l’utilisateur


scr8.book Page 355 Monday, April 2, 2001 12:29 PM

18 : Distribution et visualisation des états

Remarque :
 Lors de l'exportation au format ODBC, “ Application ” et “ Fichier disque ” ont
la même signification.
 Il est nécessaire de spécifier un chemin de fichier pour l'exportation au format
HTML.
 Le nom de fichier de l'état et le nom du fichier temporaire ne peuvent pas être
identiques.
Les sections ci-dessous fournissent des instructions sur l'exportation d'un état au
format étendu Microsoft Excel 7.0 vers les différents types de destinations.

Pour exporter vers une application


1 Ouvrez l'état que vous voulez exporter.
2 Dans le menu Fichier, sélectionnez Imprimer, puis cliquez sur Exporter.
Truc : Vous pouvez également cliquer sur le bouton Exporter de la barre
d’outils Standard.
La boîte de dialogue Exporter apparaît.

3 Sélectionnez le format d'exportation dans la liste déroulante Format. Dans ce


cas précis, sélectionnez Excel 7.0 (XLS) (Etendu).
4 Sélectionnez Application dans la liste déroulante Destination.
5 Cliquez sur OK.
La boîte de dialogue Options de mise en forme apparaît.
6 Modifiez les options de mise en forme selon vos besoins.
7 Cliquez sur OK.
La boîte de dialogue Exportation d'enregistrements apparaît.
Remarque : cliquez sur Annuler l'exportation pour annuler le processus
d'exportation.
Le programme exporte l'état et l'ouvre dans l'application appropriée. Dans cet
exemple, Microsoft Excel s'ouvre avec les données exportées.

Crystal Reports Guide de l’utilisateur 355


scr8.book Page 356 Monday, April 2, 2001 12:29 PM

Diffusion des états

Exportation vers un fichier disque


Si vous exportez vers un fichier disque, le programme enregistre l'état sur le disque
ou la disquette spécifié.

Pour exporter vers un fichier disque


1 Ouvrez l'état que vous voulez exporter.
Truc : Vous pouvez également cliquer sur le bouton Exporter de la barre
d’outils Standard.
2 Dans le menu Fichier, sélectionnez Imprimer, puis cliquez sur Exporter.
La boîte de dialogue Exporter apparaît.

3 Sélectionnez le format d'exportation dans la liste déroulante Format. Dans ce


cas précis, sélectionnez Excel 7.0 (XLS) (Etendu).
4 Sélectionnez Fichier disque dans la liste déroulante Destination.
5 Cliquez sur OK.
La boîte de dialogue Options de mise en forme apparaît.
6 Modifiez les options de mise en forme selon vos besoins.
7 Cliquez sur OK.
La boîte de dialogue Choisir le fichier d'exportation apparaît
8 Sélectionnez le dossier approprié.
9 Entrez le nom de fichier.
10 Cliquez sur Enregistrer.
Remarque : cliquez sur Annuler l'exportation pour annuler le processus
d'exportation.
Le programme exporte l'état et l'enregistre dans le répertoire de destination choisi.
Dans cet exemple, le fichier est enregistré dans le répertoire Temp, au format .xls.

Exportation vers un dossier Microsoft Exchange


Crystal Reports vous permet d'exporter un fichier d'état vers un dossier Microsoft
Exchange. Après sélection du dossier, l'état est stocké dans le dossier au format
spécifié. Un dossier Microsoft Exchange peut contenir des notes standard
(messages), des fichiers et des instances de formulaires Microsoft Exchange.

356 Crystal Reports Guide de l’utilisateur


scr8.book Page 357 Monday, April 2, 2001 12:29 PM

18 : Distribution et visualisation des états

Pour exporter vers un dossier Microsoft Exchange


1 Ouvrez l'état que vous voulez exporter.
2 Dans le menu Fichier, sélectionnez Imprimer, puis cliquez sur Exporter.
Truc : Vous pouvez également cliquer sur le bouton Exporter de la barre
d’outils Standard.
La boîte de dialogue Exporter apparaît.

3 Sélectionnez le format d'exportation dans la liste déroulante Format. Dans ce


cas précis, sélectionnez Excel 7.0 (XLS) (Etendu).
4 Sélectionnez Dossier Exchange dans la liste déroulante Destination.
5 Cliquez sur OK.
La boîte de dialogue Options de mise en forme apparaît.
6 Modifiez les options de mise en forme selon vos besoins.
7 Cliquez sur OK.
La boîte de dialogue permettant de choisir un profil apparaît.
Remarque : l'Expert d'installation de Microsoft Outlook, Microsoft Exchange,
Microsoft Mail ou Internet E-mail s'afficheront si le programme n'est pas
installé sur votre ordinateur.
8 Sélectionnez le profil voulu dans la liste déroulante Nom de profil. Si le profil
n'est pas dans la liste, cliquez sur Nouveau pour le créer.
9 Cliquez sur OK lorsque vous avez terminé.
10 Lorsque la boîte de dialogue Sélectionner un dossier apparaît, sélectionnez le
dossier dans le profil où vous voulez que l'état apparaisse, puis cliquez sur OK.
L'état est exporté vers le dossier Microsoft Exchange que vous avez sélectionné.
L'accès à l'état exporté est alors possible avec le client Microsoft Exchange.

Exportation vers Lotus Domino


La version 3.0 ou ultérieure du client Lotus Notes pour Windows est nécessaire.
Les droits d'accès en dépôt sont aussi nécessaires. Crystal Reports n'effectue pas
d'exportation vers le client Lotus Notes pour OS/2.

Crystal Reports Guide de l’utilisateur 357


scr8.book Page 358 Monday, April 2, 2001 12:29 PM

Diffusion des états

Pour exporter vers Lotus Domino


1 Ouvrez l'état que vous voulez exporter.
2 Dans le menu Fichier, sélectionnez Imprimer, puis cliquez sur Exporter.
Truc : Vous pouvez également cliquer sur le bouton Exporter de la barre
d’outils Standard.
La boîte de dialogue Exporter apparaît.

3 Sélectionnez le format d'exportation dans la liste déroulante Format. Dans ce


cas précis, sélectionnez Excel 7.0 (XLS) (Etendu).
4 Sélectionnez Base de données Lotus Notes dans la liste déroulante
Destination.
5 Cliquez sur OK.
La boîte de dialogue Options de mise en forme apparaît.
6 Modifiez les options de mise en forme selon vos besoins.
7 Cliquez sur OK.
La boîte de dialogue Sélectionner une base de données apparaît.
8 Cliquez deux fois sur le serveur Lotus Notes vers lequel vous voulez exporter
l'état.
Le nom de fichier est attribué par défaut.
9 Sélectionnez la base de données vers laquelle vous voulez exporter l'état.
10 Cliquez sur OK.
La boîte de dialogue Commentaires apparaît.
11 Entrez un commentaire devant apparaître lorsqu'un autre utilisateur
sélectionne votre état dans le bureau Lotus Notes.
12 Cliquez sur OK.
Le processus d'exportation démarre.
A la prochaine connexion à la base de données Lotus Notes spécifiée, votre état
apparaîtra dans la liste du bureau Lotus Notes. Il est alors possible de cliquer deux
fois sur le nom de fichier de l'état pour afficher les commentaires que vous avez
écrits puis de cliquer deux fois sur l'icône de l'état pour l'afficher.

358 Crystal Reports Guide de l’utilisateur


scr8.book Page 359 Monday, April 2, 2001 12:29 PM

18 : Distribution et visualisation des états

Exportation vers Microsoft Mail (MAPI)


1 Ouvrez l'état que vous voulez exporter.
2 Dans le menu Fichier, sélectionnez Imprimer, puis cliquez sur Exporter.
Truc : Vous pouvez également cliquer sur le bouton Exporter de la barre
d’outils Standard.
La boîte de dialogue Exporter apparaît.

3 Sélectionnez le format d'exportation dans la liste déroulante Format. Dans ce


cas précis, sélectionnez Excel 7.0 (XLS) (Etendu).
4 Sélectionnez Microsoft Mail (MAPI) dans la liste déroulante Destination.
5 Cliquez sur OK.
La boîte de dialogue Options de mise en forme apparaît.
6 Modifiez les options de mise en forme selon vos besoins.
7 Cliquez sur OK.
La boîte de dialogue Envoyer un message apparaît.
8 Entrez les détails de l'adresse, puis cliquez sur Envoyer.
La boîte de dialogue Exportation d'enregistrements apparaît.
Remarque : cliquez sur Annuler l'exportation pour annuler le processus
d'exportation.

Enregistrer un état dans le format de la version 7


Pour permettre aux personnes utilisant la version 7 de Crystal Reports de faire des
modifications dans un état créé avec la version 8, enregistrez votre état en tant
qu'Etat Crystal Reports (version7).

Pour enregistrer un état dans le format de la version 7


1 Dans le menu Fichier, cliquez sur Enregistrer sous.
La boîte de dialogue Enregistrer sous apparaît.
2 Choisissez un dossier.
3 Entrez le nom de fichier.
Vérifiez que le fichier a l'extension.rpt.

Crystal Reports Guide de l’utilisateur 359


scr8.book Page 360 Monday, April 2, 2001 12:29 PM

Diffusion des états

4 Dans la liste déroulante Enregistrer sous, sélectionnez Crystal Reports


(version 7.0).

5 Cliquez sur Enregistrer.


Remarque : Certaines fonctionnalités de Crystal Reports version 8 ne sont pas
prises en charge par la version 7. N'enregistrez pas votre état au format de la
version 7 si vous utilisez ces fonctionnalités. Si votre état utilise par exemple des
formules créées avec la syntaxe Basic, l'état ne se compilera pas correctement si
vous l'enregistrez au format 7.0.

Utilisation des dossiers Web


Il est possible d'ouvrir et d'enregistrer des états au moyen des dossiers Web si
vous :
 utilisez Windows 2000 ou que Office 2000 est installé ;
 avez accès à un serveur Web configuré pour la prise en charge des dossiers
Web ;
 ajoutez un dossier Web depuis ce serveur dans votre dossier Dossiers Web.

Pour ouvrir l'état


1 Dans le menu Fichier, cliquez sur Ouvrir.
La boîte de dialogue Ouvrir apparaît.
2 Cliquez sur Dossiers Web.
3 Ouvrez le dossier contenant l'état.
4 Cliquez deux fois pour ouvrir l'état.

360 Crystal Reports Guide de l’utilisateur


scr8.book Page 361 Monday, April 2, 2001 12:29 PM

18 : Distribution et visualisation des états

Pour enregistrer votre état


1 Dans le menu Fichier, cliquez sur Enregistrer sous.
La boîte de dialogue Enregistrer sous apparaît.
2 Cliquez sur Dossiers Web.
3 Cherchez le dossier dans lequel vous voulez enregistrer les états.
4 Entrez le nom de fichier.
5 Cliquez sur Enregistrer.
Remarque : après avoir effectué des modifications dans un état du Dossier Web, les
modifications doivent être enregistrées dans le même fichier du même Dossier Web.

Utilisation des dossiers Enterprise


Vous pouvez ouvrir des états contenus dans les dossiers Crystal Enterprise dans
Crystal Reports. Si Crystal Reports détecte Crystal Enterprise sur votre ordinateur,
il affiche les dossiers appropriés dans la boîte de dialogue Ouvrir/Enregistrer sous.

Pour ouvrir un état d’un dossier Enterprise


1 Dans le menu Fichier, cliquez sur Ouvrir.
2 Dans la boîte de dialogue Ouvrir, cliquez sur Dossiers Enterprise.
Remarque : Le bouton Dossiers Enterprise n’est pas visible si Crystal Reports
ne détecte pas Crystal Enterprise sur votre ordinateur.
Si vous ne vous êtes pas déjà connecté à l’APS (Automated Process Scheduler),
la boîte de dialogue Connexion à APS apparaît.

Truc : Vous pouvez également vous connecter à un APS à partir du menu


Fichier avant d’ouvrir un état.
3 Cliquez sur la liste Connexion utilisant pour sélectionner Authentification
Enterprise ou Authentification Windows NT.

Crystal Reports Guide de l’utilisateur 361


scr8.book Page 362 Monday, April 2, 2001 12:29 PM

Diffusion des états

L’authentification Enterprise requiert un nom d’utilisateur et un mot de passe


reconnus par Crystal Enterprise.
L’authentification Windows NT requiert un nom d’utilisateur et un mot de
passe reconnus par Windows NT.
4 Entrez votre nom d’utilisateur et votre mot de passe.
5 Dans le champ Nom APS, entrez le nom de l’APS auquel vous souhaitez vous
connecter.
6 Cliquez sur OK.
Les dossiers Enterprise apparaissent et vous pouvez sélectionner l’état à ouvrir
dans Crystal Reports.
Remarque : Après avoir effectué des modifications dans un état du dossier
Enterprise, les modifications doivent être enregistrées dans le même fichier du
même dossier Enterprise.

362 Crystal Reports Guide de l’utilisateur


scr8.book Page 363 Monday, April 2, 2001 12:29 PM

Alertes d’état 19

Ce chapitre fournit les informations nécessaires à la


création et à l’utilisation des alertes dans vos états.

Crystal Reports Guide de l’utilisateur 363


scr8.book Page 364 Monday, April 2, 2001 12:29 PM

A propos des alertes d’état

A propos des alertes d’état


Les alertes d'état sont des messages créés dans Crystal Reports qui s'affichent
lorsque les données d'un état répondent à des critères définis. Elles peuvent
signaler à l'utilisateur une intervention nécessaire ou lui apporter des informations
au sujet des données.
Les alertes d'état sont créées à partir de formules d'évaluation des conditions
définies. Lorsqu'une condition est vraie, l'alerte est déclenchée et le message
s'affiche. Il peut s'agir de chaînes de texte ou de formules qui combinent texte et
champs d'états.
Une fois qu’une alerte est déclenchée, elle n’est pas réévaluée jusquà ce que vous
actualisiez les données de votre état.
Les alertes sont propres à chaque état, vous pouvez donc décider quand elles doivent
être utilisées. Elles sont utiles pour attirer l'attention sur des informations importantes
(chutes des ventes en dessous d'une certaine limite, par exemple). Comme vous créez
vous-même le message, vous pouvez l'adapter exactement à vos données.

Utilisation des alertes d’état


La section de ce manuel explique les tâches que vous devrez accomplir pour
utiliser les alertes d’état :
 “Création d'alertes d'état” à la page 364
 “Modification des alertes d’état” à la page 367
 “Suppression d’alertes d’état” à la page 367
 “Affichage des alertes d'état” à la page 367
 “Utilisation d'alertes d'état dans les formules” à la page 368.

Création d'alertes d'état


Trois étapes sont nécessaires à la création d'une alerte :
 l'attribution d'un nom à l'alerte,
 la définition de la condition qui déclenche l'alerte,
 la définition du message qui s'affiche lorsque l'alerte est lancée (facultatif).

Pour créer une alerte d'état


1 Dans le menu Etat, cliquez sur Créer alertes.
La boîte de dialogue Créer alertes s'affiche.

364 Crystal Reports Guide de l’utilisateur


scr8.book Page 365 Monday, April 2, 2001 12:29 PM

19 : Alertes d’état

2 Cliquez sur Nouveau.


La boîte de dialogue Créer alerte s'affiche.

3 Entrez un nom pour la nouvelle alerte dans la zone Nom.


4 Saisissez le message d'alerte dans la zone Message.
La zone Message vous permet de définir un message par défaut. Ce message
apparaît alors chaque fois que l'alerte est déclenchée.
Si, toutefois, vous souhaitez utiliser une formule afin de personnaliser le
message avec des éléments de données, procédez à l'étape suivante.
L’Editeur de formules de conditions d'alerte s’affiche. Cet éditeur est identique
à l'Editeur de formules ; pour des informations sur son utilisation, reportez-
vous à “Utilisation de l'Editeur de formule” à la page 405.
5 Pour créer un message d'alerte à l'aide d'une formule, cliquez sur le bouton
Formule situé à droite de Message.
L’Editeur de formules de messages d'alerte s’affiche. Cet éditeur est identique
à l'Editeur de formule. Pour des informations sur son utilisation, reportez-vous
à “Utilisation de l'Editeur de formule” à la page 405.
6 Saisissez votre formule de message d'alerte.

Crystal Reports Guide de l’utilisateur 365


scr8.book Page 366 Monday, April 2, 2001 12:29 PM

Utilisation des alertes d’état

Par exemple, si vous souhaitez afficher le message “Pays : les performances


sont excellentes ” (où Pays correspond au nom d'un pays donné), vous pouvez
créer la formule suivante :
GroupName ({Client.Pays}) + " : les performances sont excellentes"
Remarque :
 Le résultat d'une formule de message d'alerte doit être une chaîne.
 Vous pouvez utiliser la fonction DefaultAttribute pour faire référence à un
message inséré dans la zone Message d'alerte. Par exemple, si le message
dans la zone Message d'alerte est “ les performances sont excellentes ”,
vous pouvez créer la formule suivante :
GroupName ({Client.Pays}) + DefaultAttribute
 Vous pouvez créer les formules de conditions de message à l'aide de la
syntaxe Crystal ou de la syntaxe Basic.
7 Cliquez sur Condition
L’Editeur de formules de conditions d'alerte s’affiche. Cet éditeur est identique
à l'Editeur de formules de messages d'alerte - il peut également baser les
formules sur des champs récurrents.
8 Saisissez la formule de conditions d'alerte.
Les formules d’alertes peuvent être basées sur des enregistrements récurrents
ou des champs de résumé, mais ne peuvent pas être basées sur des champs
heure d’impression, tels que des totaux cumulés ou des formules heure
d’impression. Elles ne doivent pas contenir de variables partagées.
Lorsqu'une formule d'alerte est basée sur un champ de résumé, tout champ
récurrent utilisé doit avoir une valeur constante sur le champ de résumé. Par
exemple, si vous effectuez un regroupement par pays, région et ville, vous
pouvez créer une alerte du type :
Sum ({Client.Ventes de l’année précédente}, {Client.Région})
Dans cet exemple, votre formule peut faire référence au pays ou à la région,
mais ni à la ville ni au nom du client car il ne s'agit pas de constantes.
Remarque : Vous pouvez créer les formules de conditions à l'aide de la
syntaxe Crystal ou de la syntaxe Basic.
9 Désactivez la case Activer si vous ne souhaitez pas que l'alerte soit évaluée.
Sinon, cochez cette case.
10 Cliquez sur OK pour enregistrer l’alerte.
Vous revenez à la boîte de dialogue Créer alertes et la nouvelle alerte est
répertoriée. Son nom et son statut s'affichent (Activé ou Désactivé).

366 Crystal Reports Guide de l’utilisateur


scr8.book Page 367 Monday, April 2, 2001 12:29 PM

19 : Alertes d’état

Seuls les alertes activées et désactivées apparaissent dans la boîte de dialogue


Créer alertes. Lorsqu'une alerte est déclenchée, elle s'affiche dans la boîte de
dialogue Afficher alertes.

Modification des alertes d’état


1 Dans le menu Etat, cliquez sur Créer alertes.
2 Dans la boîte de dialogue Créer alertes, sélectionnez l'alerte à modifier et
cliquez sur Modifier.
Truc : pour éditer une alerte, il suffit de cliquer deux fois dessus.
3 Apportez les modifications souhaitées dans la boîte de dialogue Editer alerte.
4 Cliquez sur OK pour enregistrer vos modifications.

Suppression d’alertes d’état


1 Dans le menu Etat, cliquez sur Créer alertes.
2 Dans la boîte de dialogue Créer alertes, sélectionnez l'alerte à modifier et
cliquez sur Supprimer.
L'alerte sélectionnée est supprimée de la boîte de dialogue Créer alertes.

Affichage des alertes d'état


Il existe plusieurs manières d'afficher les alertes déclenchées :
 en actualisant les données de vos états
 en sélectionnant l'option Afficher alertes du menu Etat.
Remarque : Si vous souhaitez afficher les alertes lors de l’actualisation des données
d'un état, vous devez activer l'option Afficher alertes lors de l'actualisation de
l'onglet Création d'état de la boîte de dialogue Option (cette option est également
disponible dans la boîte de dialogue Options de création d'états).

Crystal Reports Guide de l’utilisateur 367


scr8.book Page 368 Monday, April 2, 2001 12:29 PM

Utilisation des alertes d’état

Pour afficher les alertes d'état


1 Dans le menu Etat, cliquez sur Afficher alertes.
La boîte de dialogue Alertes d'état s'affiche.

2 Sélectionnez l'alerte dont vous souhaitez voir les enregistrements.


3 Cliquez sur Afficher les enregistrements.
L'enregistrement d'état qui a déclenché l'alerte apparaît. Si cet enregistrememt
est caché, le groupe d’enregistrement s’affiche mais l’exploration n’a pas lieu.
4 Cliquez sur Réinitialiser pour revenir à l'état complet.

Utilisation d'alertes d'état dans les formules


Vous pouvez faire référence à des alertes dans les formules. Toute formule qui se
réfère à une alerte devient une formule d'impression.
Les formules suivantes sont disponibles :
 IsAlertEnabled( )
 IsAlertTriggered( )
 AlertMessage( )
Ces fonctions agissent de la même manière que les alertes créées dans la boîte de
dialogue Créer alertes :
 IsAlertTriggered("AlertName") est valable seulement pour les enregistrements
pour lesquels l’alerte s’est déclenchée.
 AlertMessage("AlertName") affiche le message pour un enregistrement
lorsque l'alerte est vraie.
Les alertes ne sont pas des objets champs (il est impossible de les déposer dans un
état), c'est pourquoi elles ne sont pas représentées de la même manière que les
champs d'états dans l'éditeur de formules. Dans l’arborescence Fonctions, vous
trouverez un en-tête Alertes dans lequel les fonctions apparaissent également. Les
alertes disponibles sont répertoriées sous cet en-tête.

368 Crystal Reports Guide de l’utilisateur


scr8.book Page 369 Monday, April 2, 2001 12:29 PM

XML 20

Ce chapitre décrit l'accès aux données XML ainsi que les


capacités d'exportation de Crystal Reports. Après une
présentation rapide de la technologie XML, sont décrites les
procédures de configuration de l'accès aux données et
d'utilisation des fonctions d'exportation XML.

Crystal Reports Guide de l’utilisateur 369


scr8.book Page 370 Monday, April 2, 2001 12:29 PM

Généralités sur le format XML

Généralités sur le format XML


XML (Extensible Markup Language) est un format d’échange de données. Ce
format n’appartient à aucune organisation spécifique. Il est utilisé par de
nombreuses entreprises en tant que norme d’échange de données informatisées.
XML facilite la manipulation de données structurées sur Internet sans aucune
restriction liée au système ou à la plate-forme utilisés.
XML est le format de transmission utilisé par B2B (Business to Business) et B2C
(Business to Consumer), parce qu’il permet l’échange d’informations et facilite la
publication d’informations d’état sur de multiples plate-formes et périphériques.
A l’inverse de la norme HTML, qui stocke une quantité limitée d’informations
relatives à la mise en page avec le contenu, le contenu XML est stocké sans aucune
information de ce type. Celles-ci peuvent être enregistrées dans une feuille de
style. Le contenu XML est structuré de façon à le rendre accessible à un large
éventail d’utilisateurs, applications et plate-formes.
Le format XML présente de multiples avantages :
 les fichiers XML sont fiables et faciles à manipuler parce qu’ils ne contiennent
pas d’informations de mise en page.
 plusieurs formats de sortie peuvent être pris en charge simultanément. à partir
d’un simple document XML, vous pouvez générer un fichier HTML pour un
navigateur, un fichier PDF pour l’impression, etc.
 il est possible de convertir les fichiers XML dans d’autres formats sans affecter
le contenu d’un fichier.
 l’utilisation de feuilles de style pour stocker des informations de mise en page
permet de modifier facilement l’aspect d’un site Web.
 le format XML est facile à valider, cela afin de limiter le nombre d’informations
incorrectes ou de fichiers corrompus sur votre site Web.
 XML facilite et augmente la précision des recherches dans un grand nombre de
fichiers en raison de sa conception particulièrement élaborée.
 les fichiers XML peuvent stocker des données en plusieurs langues. un traducteur
XML affiche le contenu relatif aux préférences d’un langage spécifique.
Néanmoins, la norme XML ne possède pas que des avantages :
 Les fichiers XML sont quelquefois de grande taille et ne prennent pas en
charge les données binaires, telles que les images.
 Les données existantes doivent être adaptées de façon à tirer parti au mieux
des fonctionnalités uniques du format XML et pour prendre en charge le
nombre croissant de nouveaux périphériques en toute sécurité.
 Les normes XML sont en cours d’élaboration, c’est pourquoi le choix d’une
méthodologie spécifique implique des risques.
 A l’heure actuelle, le nombre d’outils de gestion de données graphiques est
encore limité.

370 Crystal Reports Guide de l’utilisateur


scr8.book Page 371 Monday, April 2, 2001 12:29 PM

20 : XML

Eléments, étiquettes et structure XML


Le contenu XML se compose d’éléments décrivant les données. Chaque élément
contient généralement deux étiquettes : la première servant à ouvrir l’élément et la
seconde à le fermer (des éléments vides peuvent être ouverts et fermés dans une
même étiquette). La définition des étiquettes varie selon les besoins de votre
entreprise. Par exemple, vous pouvez créer une étiquette <Ventesannéedernière>
afin de décrire le chiffre des ventes de l’année passée. Toute autre étiquette
convient, du moment qu’elle décrit correctement les données que vous souhaitez
et qu’elle est utilisée de façon cohérente dans l’ensemble du fichier XML. Les
étiquettes XML respectent la casse et peuvent contenir des informations
supplémentaires appelées attributs.
XML facilite l’émulation de la structure hiérarchique des documents en autorisant
les éléments à contenir d’autres éléments. Par exemple, vous pouvez afficher la
structure des données de l'état en regroupant les éléments de la manière suivante :
<Objetétatformaté>
<Nomd’objet>Champ2</Nomd’objet>
<Valeurformatée>Australie</Valeurformatée>
<Value>Australie</Value>
</Objetétatformaté>
Dans cet exemple, l’élément <Objetétatformaté> contient 3 autres éléments
décrivant les données qu’il contient. Ce groupement d’éléments fait office de
structure du contenu XML. Vous pouvez ajouter autant de couches de groupement
que vous le souhaitez pour créer une structure adaptée à vos besoins.

Schéma XML
Le schéma XML est une norme du Consortium Web (W3C) permettant de définir
le contenu et la structure des documents XML et de les interpréter. Le schéma XML
définit les types de données pouvant être associés aux éléments et attributs XML.
Il décrit également la structure du contenu des documents XML et définit les règles
régissant la validation des schémas. Basé sur ces principes, le schéma XML est
capable de garantir l’intégrité des données ainsi que la compatibilité des
documents XML.
Les schémas XML étant eux-mêmes des documents XML, ils peuvent être gérés
par des outils de création de page Web XML.

Document Type Definition


A l’instar du schéma XML, le DTD est un ensemble de règles décrivant les éléments
et attributs d’un document XML. Initialement, le DTD constituait une description
d'un type de document en SGML. En raison de la spécificité de la syntaxe DTD et
de ses fonctionnalités limitées, ce système s’est progressivement vu remplacé par
le système XML.

Crystal Reports Guide de l’utilisateur 371


scr8.book Page 372 Monday, April 2, 2001 12:29 PM

XML dans Crystal Reports

Un fichier DTD peut être inclus dans un fichier XML ou peut être un fichier séparé,
référencé par un fichier XML.

Feuilles de style
Les feuilles de style fournissent des informations sur la présentation et la
disposition du contenu XML. A l’instar du DTD, les feuilles de style peuvent être
inclues dans un fichier XML ou peuvent être placées dans un fichier séparé,
référencé par un fichier XML.
Le format XSL (Extensible Stylesheet Language) est le type de feuille de style
spécifique au format XML. XSL constitue à la fois une méthode de formatage des
documents XML et une méthode de transformation par un navigateur des
documents XML dans des formats reconnus.
Par exemple, vous pouvez utiliser XSL pour convertir une sortie d’état XML de
telle sorte qu’elle puisse être lue comme un fichier Wireless Markup Language
(WML) par des périphériques portables.

XML dans Crystal Reports


Dans Crystal Reports, XML représente à la fois une source de données et un format
d’exportation. Vous pouvez créer un état Crystal Report à partir d’une source de
données XML et transformer par là même des données XML brutes en
informations d’état. Vous pouvez également exporter un état Crystal Report vers
XML, vous permettant ainsi de convertir les données au format HTML, WML, etc.

372 Crystal Reports Guide de l’utilisateur


scr8.book Page 373 Monday, April 2, 2001 12:29 PM

20 : XML

Les sections suivantes présentent l’ensemble des tâches liées au format XML
réalisables dans Crystal Reports :
 “Accès aux données XML” à la page 373
 “Exportation au format XML” à la page 377
 “Personnalisation des définitions d’état XML” à la page 379.

Accès aux données XML


Crystal Reports permet d’accéder aux données XML grâce à un pilote ODBC
Merant DataDirect du nom de Crxml15.dll. Ce pilote est installé dans le répertoire
Windows\System ou Winnt\System32. Avec ce pilote, vous pouvez vous
connecter à une source de données XML et créer des états de façon similaire à
d’autres sources de données.
Remarque : Toutefois, l’utilisation du pilote Merant pour la connexion à des
sources de données XML a des limitations. Pour plus d’informations, reportez-
vous à la rubrique “ Limitations du pilote Merant XML ” figurant dans l’aide en
ligne.
Une source de données ODBC, du nom de CRXMLV36, est créée lors de
l’installation de Crystal Reports. Vous pouvez également créer une source de
données XML dans l’administrateur de source de données ODBC.

Configurer une source de données XML


Pour créer une source de données XML, vous devez utiliser le pilote ODBC
Merant, Crxml15.dll. Le pilote prend en charge l’accès aux types de fichiers XML
suivants :
 Iles de données XML IE5
 XML persistant ADO 2.5
 Fichiers XML avec ou sans schémas XML.
Remarque : Cette section contient une description générique de la méthode de
création d’une source de données XML. Si vous souhaitez des exemples de
création de sources de données pour les îles de données XML IE5 et XML
persistant ADO 2. Visitez le site web de Crystal Reports à l’adresse suivante :
http://www.seagatesoftware.com/products/crystalreports
Le pilote Merant requiert une structure de fichier XML pouvant être lue comme
une base de données. A l’intérieur d’un fichier XML, le premier élément rencontré
est considéré comme la “ table ”. Les éléments enfants du nœud sont considérés
comme des “ lignes ”. Les éléments enfants des nœuds de la ligne sont considérés
comme des “ colonnes ”. Les éléments enfants des colonnes sont considérés
comme faisant partie des colonnes elles-mêmes. Lors de la configuration du pilote,
vous pouvez utiliser un conseil table et/ou un conseil ligne pour identifier les
éléments XSL devant être utilisés en tant que nœuds de tables et de lignes.

Crystal Reports Guide de l’utilisateur 373


scr8.book Page 374 Monday, April 2, 2001 12:29 PM

XML dans Crystal Reports

Conseil table
Un conseil table spécifie un élément XSL faisant référence à une table ou un
ensemble de rangées. Les conseils table doivent théoriquement désigner un nœud
unique. Si ce n’est pas le cas, le premier nœud dans l’ensemble de nœuds est utilisé
comme nœud de la table.

Conseil ligne
Un conseil ligne spécifie une structure XSL indiquant les nœuds à utiliser en tant
que lignes dans la table. Le conseil ligne indique également si le contenu de la table
est basé sur un élément XML ou un type d’attribut.

Spécification des conseils table et ligne


Le pilote Merant suppose que les nœuds des lignes sont les enfants immédiats du
nœud de la table :
 Si vous ne spécifiez qu’un conseil table, les nœuds des lignes seront les enfants
du nœud résolus par le conseil. On suppose que tous les nœuds enfants
possèdent le même nom.
 Si vous ne spécifiez qu’un conseil ligne, le nœud de la table est le parent du
nœud résolu par le conseil. Si le conseil ligne résout un ensemble de nœuds, les
nœuds de cet ensemble doivent tous posséder le même parent.
 Si vous spécifiez un conseil table et une ligne, ce dernier est considéré comme
lié au nœud résolu par le conseil table.
Pour en savoir plus sur l’utilisation des conseils, reportez-vous à la rubrique
“ Exemples de conseils table et ligne ” présentée dans l’aide en ligne.

Pour définir une source de données XML


1 Dans le panneau de configuration, cliquez deux fois sur Source de données
ODBC.
L’Administrateur de source de données ODBC apparaît.
Remarque : Crystal Reports installe la version 3.510 de l’Administrateur de
sources de données ODBC. Si vous possédez une version différente, les étapes
de cette procédure peuvent légèrement différer.

374 Crystal Reports Guide de l’utilisateur


scr8.book Page 375 Monday, April 2, 2001 12:29 PM

20 : XML

2 Pour ajouter une nouvelle source de données ODBC, cliquez sur le bouton
Ajouter.
La boîte de dialogue Créer une nouvelle source de données apparaît.

3 Sélectionnez CR XML v3.6 dans la liste.


4 Cliquez sur Terminer.

Crystal Reports Guide de l’utilisateur 375


scr8.book Page 376 Monday, April 2, 2001 12:29 PM

XML dans Crystal Reports

La boîte de dialogue pour la configuration du pilote XML ODBC apparaît.

5 Dans l’onglet General, entrez un nom et une description de la source de


données XML.
6 Recherchez votre source de données XML ou entrez directement son URL ou
le chemin d’accès au répertoire correspondant.
7 Dans l’onglet Advanced, entrez un conseil table et/ou un conseil ligne.
Pour en savoir plus sur l’utilisation des conseils, reportez-vous à la rubrique
“ Exemples de conseils de table et de ligne ” présentée dans l’aide en ligne.
Pour en savoir plus sur les autres options des onglets Avancé et Options,
cliquez sur le bouton Aide de la boîte de dialogue Pilote XML ODBC.
8 Cliquez sur OK.
Vous êtes renvoyé vers l’Administrateur de source de données ODBC. Votre
nouvelle source de données XML est répertoriée en tant que source de donnée
utilisateur.
9 Cliquez sur OK lorsque vous avez terminé.

Sélection d’une source de données XML


Une fois que vous avez créé une source de données XML, celle-ci est disponible
dans l’explorateur de données du dossier ODBC.
Les sources de données XML peuvent être sélectionnées lors de la création de
nouveaux états ou lors de l’utilisation des options du menu Base de données.

376 Crystal Reports Guide de l’utilisateur


scr8.book Page 377 Monday, April 2, 2001 12:29 PM

20 : XML

Pour sélectionner une source de données XML


1 Ouvrez la boîte de dialogue Explorateur de données en créant un nouvel état
ou en ajoutant une base de données à un état existant.

2 Choisissez la source de données XML que vous souhaitez ouvrir dans le


dossier ODBC et cliquez sur Ajouter.
Si des informations supplémentaires sont nécessaires pour la connexion, une
autre boîte de dialogue s’affiche.
3 Entrez les informations que vous utilisez habituellement pour vous connecter
à cette base de données puis cliquez sur OK.
Si vous n’avez pas spécifié une source de données XML lors de la configuration
de l’ODBC, la boîte de dialogue Connexion du pilote ODBC XML apparaît.
Tapez l’URL ou le répertoire du fichier XML, entrez une ID et un mot de passe
et cliquez sur OK.

Exportation au format XML


L’option d’exportation XML de Crystal Reports vous permet de créer des données
XML brutes à partir de vos états Crystal. Avec ces données, vous pouvez appliquer
une feuille de style ou un format en vue de leur utilisation dans une autre application.
Par exemple, vous pouvez appliquer un format effectuant le rendu de vos données
XML sous forme de fichier HTML en vue de leur distribution sur Internet.
Remarque : L’option d’exportation XML n’effectue pas le rendu de votre état
Crystal Report sous forme d’état XML. Au lieu de cela, elle crée des données XML
brutes faciles à manipuler.
Il est possible de personnaliser la structure de vos données XML lors de
l’exportation d’un état. Pour plus d’informations, reportez-vous à la rubrique
“Personnalisation des définitions d’état XML” à la page 379.

Crystal Reports Guide de l’utilisateur 377


scr8.book Page 378 Monday, April 2, 2001 12:29 PM

XML dans Crystal Reports

Pour exporter un état vers le format XML


1 Ouvrez l'état que vous voulez exporter.
2 Dans le menu Fichier, sélectionnez Imprimer, puis cliquez sur Exporter.
Truc : Vous pouvez également cliquer sur le bouton Exporter de la barre
d’outils Standard.
La boîte de dialogue Exporter apparaît.

3 Sélectionnez le format d'exportation dans la liste déroulante Format. Dans ce


cas, sélectionnez XML.
4 Sélectionnez Fichier disque dans la liste déroulante Destination.
Remarque : S’agissant d’un format OBDC, les fonctions “ Application ” et
“ Fichier disque ” produisent un résultat identique.
5 Cliquez sur OK.
La boîte de dialogue Exporter vers répertoire apparaît.

6 Entrez le nom du répertoire où vous souhaitez enregistrer le ou les fichiers XML.


Vous pouvez spécifier un répertoire existant sur n’importe quel lecteur dans les
boîtes situées en-dessous du nom du répertoire.

378 Crystal Reports Guide de l’utilisateur


scr8.book Page 379 Monday, April 2, 2001 12:29 PM

20 : XML

7 Entrez un nom de fichier de base pour le ou les fichier(s) XML.


Le fichier de sortie XML et ses composantes XSD ou DTD (si vous avez spécifié
un schéma externe ou DTD dans l’onglet Options de la boîte de dialogue
Format XML) utilisent ce nom de fichier de base.
Remarque : La boîte de dialogue Type de validation indique le choix de
validation effectué dans l’onglet options de la boîte de dialogue Format XML.
Il est impossible de modifier le type de validation dans la boîte de dialogue
Exporter au répertoire.
8 Cliquez sur OK lorsque vous avez terminé.
L’état est exporté vers le répertoire sélectionné. L’état exporté peut à présent être
ouvert comme une donnée XML brute.
Remarque : Crystal Reports peut également exporter des états au format XML à
partir d’un navigateur, à l’aide de la ligne de commande URL. Pour plus
d’informations, visitez le site web de Crystal Reports à l’adresse suivante :
http://www.seagatesoftware.com/products/crystalreports

Personnalisation des définitions d’état XML


Crystal Reports fournit automatiquement une définition d’état XML pour chaque
état que vous créez ou éditez. La nature des modifications apportées à cette
définition par défaut dépend du format de sortie sélectionné dans l’onglet Options
de la boîte de dialogue Format XML :
 Schéma Crystal ML
Le schéma Crystal ML est le format par défaut. Avec ce format, vous pouvez
créer de nouveaux attributs pour les éléments XML existants mais vous ne
pouvez pas effectuer d’autres types de modifications.
L’avantage de ce format est qu’il vous dispense de créer votre propre schéma
ou DTD. Le schéma Crystal ML est le schéma standard Crystal Reports publié
à l’adresse suivante :
http://www.seagatesoftware.com/xml/schema.xsd
 Format personnalisé
L’option Format personnalisé vous permet de modifier les noms d’éléments, de
créer des attributs et de supprimer des étiquettes XML. La sortie XML créée
avec ce format n’est pas contrôlée par le schéma Crystal ML ; un DTD ou un
schéma personnalisés sont créés instantanément.
Ce format présente l’avantage de vous permettre de créer librement votre
propre format XML. Vous pouvez renommer des éléments XML pour les
adapter à un DTD ou schéma existant et vous pouvez supprimer les étiquettes
XML pour modifier la hiérarchie de votre sortie, qui à son tour, permet de
minimiser la sortie de données.

Crystal Reports Guide de l’utilisateur 379


scr8.book Page 380 Monday, April 2, 2001 12:29 PM

XML dans Crystal Reports

Vous pouvez librement choisir entre ces options de format de sortie. Si, toutefois,
vous passez d’une option à l’autre après avoir effectué des modifications à des
noms d’élément et/ou des attributs, ces modifications seront perdues. Les noms
des éléments et les attributs reviendront à leur valeur par défaut.
Remarque : Les étiquettes des éléments créées pour les états à l’aide du schéma
Crystal ML et le Format personnalisé ne sont pas identiques. Pour de plus amples
renseignements, voir “Spécifications de sortie XML” à la page 384.

Pourquoi créer votre propre format XML ?


Bien que le schéma Crystal ML fournisse un format par défaut pour l’exportation
vers XML, nous vous conseillons de créer votre propre format XML pour diverses
raisons :
 Vous devez incorporer des données issue de l’état Crystal Report dans un
document XML existant possédant ses propres schéma/DTD et étiquettes ;
dans ce cas, vous devez personnaliser les données XML de l’état Crysta à l’aide
d’étiquettes qui sont adaptées à votre document XML existant.
 Vous possédez une application devant lire des données XML depuis Crystal
Reports, mais cette application ne peut identifier qu’un seul ensemble
d’étiquettes. Dans ce cas, vous devez personnaliser les étiquettes XML de
Crystal report pour les faire correspondre aux étiquettes identifiées par
l’application.
 Vous utilisez déjà un schéma XML /DTD standard requis par votre entreprise.
Dans ce cas, vous devez personnaliser vos données XML Crystal Reports de
telle sorte que celles-ci soient conformes à la norme que vous devez utiliser.

Personnalisation des étiquettes XML


Utilisez les options de personnalisation de la boîte de dialogue Format XML
lorsque la définition d’état créée par Crystal Reports ne fournit pas les
informations XML dont vous avez besoin. Le degré de personnalisation peut
varier de la définition d’un petit nombre de nouveaux attributs d’éléments XML à
l’attribution de nouveaux noms d’éléments en passant par la suppression
d’étiquettes pour les champs pour lesquels vous ne souhaitez pas exporter de
données.
Lorsque vous sélectionnez l’option Schéma Crystal ML, vous pouvez effectuer les
opérations suivantes dans la boîte de dialogue Format XML :
 affichage de l’arborescence définition d'état,
 affichage des noms d’éléments et attributs XML ,
 ajout, édition et suppression d’attributs d’étiquette XML.

380 Crystal Reports Guide de l’utilisateur


scr8.book Page 381 Monday, April 2, 2001 12:29 PM

20 : XML

En sélectionnant l’option Format personnalisé, vous pouvez effectuer les tâches


supplémentaires suivantes :
 attribution d’un nouveau nom aux étiquettes XML,
 suppression d’étiquettes XML.
Remarque : Vous ne pouvez pas ajouter de nouveaux objets d’état (nœuds
d’arborescence) lors de l’utilisation de la boîte de dialogue Format XML. Si vous
souhaitez créer un nouveau nœud, ajoutez un objet d’état à votre état Crystal
Report et celui-ci sera ajouté à l’arborescence définition d'état.

Pour personnaliser les étiquettes XML


1 Ouvrez un état dans Crystal Reports.
2 Dans le menu Mettre en forme, cliquez sur la commande Format XML.
La boîte de dialogue Format XML s’affiche avec l’arborescence définition d’état.

Truc : La boîte de dialogue Format de sortie XML utilisé affiche le format utilisé
par votre définition d’état. Cliquez sur l’onglet Options pour sélectionner une
option différente.
3 Développez l’arborescence définition d’état pour trouver l’objet d’état dont
vous souhaitez personnaliser l’étiquette XML.
Remarque :
 Les nœuds parents peuvent représenter des zones ou des sections de votre
état. Par exemple, chaque groupe d’état possède son propre nœud parent.
 Les nœuds enfants de premier niveau peuvent représenter des zones liées,
tels qu’un En-tête d'état et un Pied de page d'état.

Crystal Reports Guide de l’utilisateur 381


scr8.book Page 382 Monday, April 2, 2001 12:29 PM

XML dans Crystal Reports

Modification du nom d’étiquettes XML


Cette option ne s’applique qu’aux définitions d’état utilisant le format personnalisé.
1 Sélectionnez un objet d’état dans l’arborescence définition d’état.
2 Dans la boîte de dialogue Nom élément XML, tapez le nouveau nom élément
XML.
3 Cliquez ailleurs dans l’arborescence définition d’état pour voir le nouveau
nom de l’élément.
Lorsque vous exporterez l’état au format XML, le nouveau nom d’étiquette que
vous avez attribué sera utilisé.
Remarque : Deux objet d’états ou plus de l’arborescence définition d’état peuvent
être associés au même élément XML. Utilisez le bouton Nouveau (situé près de la
liste Nom élément XML) pour créer un nouvel élément XML pour l’objet d’état
sélectionné.

Pour créer un nouvel élément XML


1 Dans l’arborescence définition d’état, sélectionnez un objet d’état partageant
un élément XML avec un autre objet d’état.
Le bouton Nouveau est activé.
2 Cliquez sur Nouveau et entrez un nouveau nom d’élément XML.
3 Cliquez ailleurs dans l’arborescence définition d’état pour voir le nouveau
nom de l’élément.

Ajout d’attributs XML


Cette option s’applique aux définitions d’état utilisant les options Schéma Crystal
ML ou Format personnalisé.
1 Sélectionnez un objet d’état dans l’arborescence définition d’état.
2 Cliquez sur Créer.
La boîte de dialogue Attribut XML s’affiche.

382 Crystal Reports Guide de l’utilisateur


scr8.book Page 383 Monday, April 2, 2001 12:29 PM

20 : XML

3 Dans la boîte de dialogue Noms de l’attribut, entrez un nom pour l’attribut en


cours de création.
Remarque : Chaque attribut dans un élément doit avoir un nom d’attribut unique.
Néanmoins, les noms d’attribut ne doivent pas être uniques parmi les éléments.
4 Dans la liste Type d’attribut, cliquez sur l’option appropriée pour l’attribut en
cours de création :
 Chaîne
 Décimal
 Formule Booléenne
 Date
 Heure
 Date/Heure.
5 Dans la zone Valeur de l’instance, sélectionnez l’option Champ ou Texte.
L’option Champ vous permet de sélectionner un champ d’état du type spécifié
pour la valeur de votre instance. L’option Champ est uniquement disponible si
l’objet d’état correspondant n’est ni Etat (entité racine) ni un type de zone liée.
L’option Texte vous permet d’entrer le texte dans la boîte associée comme
valeur d’instance pour un élément.
6 Dans la boîte Valeur par défaut, entrez une valeur si vous souhaitez vous
assurer que l’attribut ne reste pas vide en cas d’absence de valeur d’instance.
7 Cliquez sur OK.
Le bouton OK n’est pas disponible jusqu’à ce qu’un nom d’attribut et une
instance ou une valeur par défaut soient entrés.
Vous êtes ramené à la boîte de dialogue Format XML. Votre nouvel attribut
apparaît dans la liste Attributs.

Modification d’attributs XML


Cette option s’applique aux définitions d’état utilisant les options Schéma Crystal
ML ou Format personnalisé.
Remarque : Vous ne pouvez modifier que les attributs ajoutés à l’aide de la boîte
de dialogue Attribut XML.
1 Sélectionnez un élément de l’arborescence définition d’état possédant des attributs.
2 Sélectionnez l’attribut que vous souhaitez modifier dans la liste d’attribut
d’étiquettes XML et cliquez sur Modifier.
Truc : Les attributs précédés des lettres bleues “ ab ” sont des attributs
modifiables. Ceux précédés des lettres grises “ ab ” ne peuvent être modifiés.
3 Effectuez vos modifications dans la boîte de dialogue Attribut XML.
4 Cliquez sur OK pour enregistrer vos modifications.

Crystal Reports Guide de l’utilisateur 383


scr8.book Page 384 Monday, April 2, 2001 12:29 PM

XML dans Crystal Reports

Suppression des attributs XML


Cette option s’applique aux définitions d’état utilisant les options Schéma Crystal
ML ou Format personnalisé.
Remarque : Il n’est possible de supprimer ces attributs qu’à travers la boîte de
dialogue XML Attribut.
1 Sélectionnez un élément dans l’arborescence définition d’état possédant des
attributs.
2 Sélectionnez l’attribut que vous souhaitez supprimer dans la liste d’attribut
d’étiquettes XML et cliquez sur Supprimer.
Truc : Les attributs précédés des lettres bleues “ ab ” sont supprimables. Ceux
précédés des lettres grises “ ab ” ne peuvent être supprimés.
Si vous souhaitez supprimer tous les attributs ajoutés à l’aide de la boîte de
dialogue Attribut XML pour l’élément sélectionné, cliquez sur Supprimer tout.

Suppression d’étiquettes XML


Cette option ne s’applique qu’aux définitions d’état utilisant le format
personnalisé.
1 Sélectionnez un objet d’état dans l’arborescence définition d’état.
2 Cochez la case Supprimer étiquette XML..
L’objet d’état sélectionné ne sera pas exporté et l’élément XML associé ne sera pas
disponible pour l’édition.
Remarque : Vous pouvez supprimer tous les enfants de l’objet d’état sélectionné
en cochant la case Supprimer tous les enfants.
Pour annuler cette action, désélectionnez la case Supprimer étiquette XML et/ou
la case Supprimer tous les enfants.

Spécifications de sortie XML


Cette section décrit la sortie obtenue lors de l’exportation d’un état Crystal Report
au format XML. Comme indiqué dans la section “ Exportation au format XML ”,
Crystal Reports crée des données XML brutes pouvant être manipulées à votre gré.
Ces données correspondent à l’information contenue dans votre état Crystal
Report et inclut les éléments correspondants aux sections, zones, objets champ,
objets texte, sous-états, tables croisées, etc.
Remarque :
 Les sections masquées ou supprimées dans un Crystal report ne sont pas
exportées sous forme de sortie XML même si elles sont affichées dans
l’arborescence définition d’état de la boîte de dialogue Format XML.

384 Crystal Reports Guide de l’utilisateur


scr8.book Page 385 Monday, April 2, 2001 12:29 PM

20 : XML

 Les champs Binary Large Object (BLOB), tels que les diagrammes, les cartes et
les autres types d’images ne sont pas exportés.
Les noms et attributs des étiquettes élément XML dépendent du format de sortie
choisi dans l’onglet Autres de la boîte de dialogue Format XML. La sortie des
options Schéma Crystal ML et Format personnalisé est décrite ci-dessous.

Schéma Crystal ML
Si vous utilisez un navigateur pour ouvrir un fichier XML exporté à l’aide de la
fonction Schéma Crystal ML, le document affiché aura l’aspect suivant :

A la suite du XML et des Document Type Declarations, vous pouvez observer une
liste d’étiquettes. Ces étiquettes représentent le contenu de votre état classé
élément par élément, de manière consécutive. Par exemple, les premières lignes
des données XML affichées ci-dessus représentent un état dont la zone d’en-tête
contient un objet table croisée :
<FormattedReport xmlns="urn:crystal-reports:schemas" xmlns:xsi="http://
www.w3.org/2000/10/XMLchema-instance">
<FormattedAreaPair Level="1" Type="Report">
<FormattedArea Type="Header">
<FormattedSections>
<FormattedSection SectionNumber="0">
<FormattedReportObjects>
<FormattedReportObject xsi:type="CTFormattedGrid">
<ObjectName>TableCroisée1</ObjectName>

Crystal Reports Guide de l’utilisateur 385


scr8.book Page 386 Monday, April 2, 2001 12:29 PM

XML dans Crystal Reports

 <FormattedReport> représente l’état lui-même


 <FormattedAreaPair> représente la générique de l’état (telle que l’en-tête et le
pied de page)
 <FormattedArea Type="Header"> représente la zone d’état spécifique : En-tête
 <FormattedSections> représente une subdivision de la zone d’en-tête de l’état
 <FormattedSection SectionNumber="0"> représente une itération de la
subdivision
 <FormattedReportObjects> représente un objet d’état (dans ce cas, une grille
formatée, ou une table croisée)
 <ObjectName> représente le nom de l’objet d’état (correspondant à la table croisée).
L’intégralité du fichier XML peut être lue de la sorte. Chaque ligne des données
XML est directement liée à votre Crystal report et sa définition d’état tels qu’ils ont
été définis dans le Schéma Crystal XML et la boîte de dialogue Format XML.
Remarque : Pour de plus amples informations sur les éléments et les étiquettes
XML de cet exemple, reportez-vous au schéma Crystal ML disponible à l’adresse
Internet suivante :
http://www.seagatesoftware.com/xml/schema.xsd

Format personnalisé
Si vous utilisez un navigateur pour ouvrir un fichier XML exporté à l’aide de la
fonction Format personnalisé, le document affiché aura l’aspect suivant :

386 Crystal Reports Guide de l’utilisateur


scr8.book Page 387 Monday, April 2, 2001 12:29 PM

20 : XML

A la suite du XML et des Document Type Declarations, vous pouvez observer une
liste d’étiquettes. Ces étiquettes représentent le contenu de votre état classé
élément par élément, de manière consécutive. Par exemple, les premières lignes
des données XML affichées ci-dessus représentent un état dont la zone d’en-tête
contient un objet table croisée :
<Etat xmlns="urn:crystal-reports:schemas">
<Zonedétat Niveau="1" Type="Report">
<En-têtedelétat Type=”Header”>
<En-têtedelétat_1 SectionNumber="0">
<Table_croisée>
 <Etat> représente l’état lui-même
 <Zonedétat> représente la zone d’état générique
 <En-têtedelétat Type=”Header”> représente la zone d’état spécifique : En-tête
 <En-têtedelétat_1 SectionNumber="0"> représente une subdivision de la zone
d’en-tête de l’état
 <Table_croisée> représente un objet table croisée.
L’intégralité du fichier XML peut être lu de la sorte. Chaque ligne des données
XML est directement liée à votre Crystal report et sa définition d’état tels qu’ils ont
été définis dans la boîte de dialogue Personnaliser XML.
Remarque : Dans cet exemple, les noms d’étiquette de l’élément sont les noms par
défaut. Ceux-ci varient s’ils ont été modifiés dans la boîte de dialogue Format XML.

Crystal Reports Guide de l’utilisateur 387


scr8.book Page 388 Monday, April 2, 2001 12:29 PM

XML dans Crystal Reports

388 Crystal Reports Guide de l’utilisateur


scr8.book Page 389 Monday, April 2, 2001 12:29 PM

Création d'états
à partir d'Excel ou Access 21

Ce chapitre décrit les compléments (Add-Ins) pour


Microsoft Excel et Microsoft Access. Vous y trouverez la
procédure de création d'états à partir d'une table ou d'une
requête Access ou à partir d'une feuille de calcul Excel à
l'aide de l'Assistant de Crystal Report.

Crystal Reports Guide de l’utilisateur 389


scr8.book Page 390 Monday, April 2, 2001 12:29 PM

Vue d'ensemble des compléments de Crystal Reports

Vue d'ensemble des compléments de Crystal Reports


Crystal Reports tire parti de la technologie des compléments de Microsoft grâce à un
assistant de création d'état que vous pouvez utiliser avec Microsoft Excel et Microsoft
Access. L'Assistant de Crystal Report permet de disposer des possibilités courantes
de création d'état directement depuis les applications de Microsoft Office (vous
pouvez créer un état Crystal Report avec vos données sans quitter Excel ou Access).
Le mode d'utilisation des compléments est le même dans Excel et Acces :
 Lancez Microsoft Excel ou Microsoft Access (les compléments sont installés
automatiquement lorsque vous installez Crystal Reports)
 Sélectionnez une feuille de calcul (ou des cellules), une table ou une requête et
lancez l'assistant.
 Utilisez la disposition d'écran habituelle de l'assistant pour créer un état
conforme à vos spécifications.
Remarque : les compléments ne fonctionnent qu'avec les versions Office 97 et
Office 2000 d'Excel et d'Access.

A propos du complément Microsoft Excel


Choisissez une plage complète de données dans une feuille de calcul, ou
sélectionnez certaines cellules pour créer un état Crystal Report. L'état que vous
créez est lié à votre feuille de calcul Excel et peut être actualisé pour afficher les
modifications apportées aux données de la feuille de calcul.
Remarque : les états du complément Excel sont mis à jour lorsque vous actualisez
leurs données dans Crystal Reports si vous avez :
 ajouté une ligne dans la plage sélectionnée de la feuille de calcul (mais pas si
vous avez inséré une ligne avant ou après la plage) ;
 supprimé une ligne de la plage sélectionnée de la feuille de calcul ;
 modifié une cellule dans la plage sélectionnée de la feuille de calcul.
Une fois que vous avez créé un état à l'aide de l'assistant, vous pouvez en afficher
un aperçu à l'aide du visualiseur ActiveX par défaut ou vous pouvez lancer Crystal
Reports ou Seagate Analysis pour le modifier.

A propos du complément Microsoft Access


Choisissez une table ou une requête pour créer un état Crystal Report. L'état que
vous créez est lié à votre table ou votre requête Access et peut être actualisé pour
montrer les modifications apportées à la base de données.
Remarque :
 Les états du complément Access ne reflètent les modifications de la base de
données que lorsque vous avez fermé la table ou la requête modifiée dans
Access et actualisé les données de l'état dans Crystal Reports.

390 Crystal Reports Guide de l’utilisateur


scr8.book Page 391 Monday, April 2, 2001 12:29 PM

21 : Création d'états à partir d'Excel ou Access

 Les états du complément Access doivent s'appuyer sur une table ou une
requête (mais pas sur une requête avec paramètres d'entrée).
Une fois que vous avez créé un état à l'aide de l'assistant, vous pouvez en afficher
un aperçu à l'aide du visualiseur ActiveX par défaut ou vous pouvez lancer Crystal
Reports ou Seagate Analysis pour le modifier.

Utilisation du complément Microsoft Excel


Lors de l'installation de Crystal Reports 8, le complément Excel est ajouté
automatiquement. Une option Assistant de Crystal Report apparaît dans le menu
Outils d'Excel et un bouton s'affiche dans la barre d'outils Standard.
Vous pouvez créer un état avec l'Assistant de Crystal Report à chaque session Excel.
Cette option est disponible aussi longtemps que la case Assistant de Crystal Report
est cochée dans la boîte de dialogue Macros complémentaires (menu Outils d'Excel).
Remarque : Par défaut, le fichier de macros complémentaires Excel se trouve dans
le répertoire \\Program Files\Seagate Software\Report Designer Component.

Utilisation de l'Assistant de Crystal Report pour créer un état dans Excel


L'Assistant de Crystal Report dans Excel propose les écrans de disposition et de
sélection habituels de Crystal Report pour vous aider à créer un état à partir de
votre feuille de calcul. Vous pouvez sélectionner une plage de cellules ou toute une
plage de données d'une feuille de calcul pour constituer le contenu de votre état.
Remarque : lorsque vous créez un état à partir d'une feuille de calcul Excel,
Crystal Reports crée un fichier de base de données (.mdb). Ce fichier, le fichier de
la feuille de calcul Excel (.xls) et le fichier d'état lui-même (.rpt) ne peuvent être
déplacés car vous perdriez les liaisons qui existent entre eux et vous ne pourriez
plus actualiser les données de votre état par la suite.

Pour créer un état dans Excel à l'aide de l'Assistant de Crystal Report


1 Dans le menu Outils d'Excel, sélectionnez Assistant de Crystal Report.
Truc : Vous pouvez également ouvrir l'Assistant de Crystal Report en cliquant
sur le bouton Assistant de Crystal Report.
Si votre feuille de calcul contient des données non enregistrées, Excel vous
invite à les enregistrer avant d'exécuter l'assistant.

Crystal Reports Guide de l’utilisateur 391


scr8.book Page 392 Monday, April 2, 2001 12:29 PM

Utilisation du complément Microsoft Excel

2 Entrez une plage de données dans la zone de plage des cellules ou cliquez sur
le bouton correspondant pour sélectionner directement une plage dans la
feuille de calcul.
Lorsque vous cliquez sur le bouton, l'assistant est réduit ce qui vous permet de
sélectionner directement une plage de données avec la souris. Pour revenir à
l'assistant, cliquez sur le bouton de l'assistant réduit.
Remarque : pour sélectionner la totalité d'une plage de données de la feuille
de calcul, cliquez sur Étendre automatiquement la plage sélectionnée.
3 Lorsqu'une plage de données est sélectionnée, cliquez sur Créer un état
Crystal Report.
L’Assistant de Crystal Report apparaît.

Remarque : au fur et à mesure de l'élaboration de votre état, le programme


crée un fichier de base de données (.mdb). Le fichier de base de données, le
fichier de la feuille de calcul (.xls) et le fichier d'état qui en résulte (.rpt) ne
peuvent être déplacés car vous ne pourriez plus actualiser les données de
votre état par la suite.

392 Crystal Reports Guide de l’utilisateur


scr8.book Page 393 Monday, April 2, 2001 12:29 PM

21 : Création d'états à partir d'Excel ou Access

4 Ajoutez à la liste Champs à afficher les champs de base de données que vous
voulez voir apparaître dans votre état.
Les boutons fléchés de cette boîte de dialogue vous permettent de déplacer des
champs d'une liste à l'autre. Les flèches simples ne déplacent que le champ
sélectionné; les flèches doubles déplacent tous les champs à la fois.
5 Cliquez sur Suivant pour sélectionner les champs à regrouper.
6 Ajoutez à la zone Grouper par les champs de base de données que vous voulez
grouper.
Lorsqu'un champ de groupe est sélectionné, vous pouvez choisir un ordre de
tri dans la zone Ordre de tri.
7 Cliquez sur Suivant pour sélectionner les champs à totaliser.
8 Ajoutez à la liste Champs de résumé les champs de base de données que vous
voulez totaliser.
Les champs de total s'appliquent au groupe spécifié dans la zone Pour le groupe.
Vous pouvez utiliser les mêmes champs dans chacun des différents groupes.
Lorsqu'un champ de total est sélectionné, vous pouvez choisir un type de
résumé pour ce champ et ajouter un total général.
9 Cliquez sur Suivant pour trier les groupes selon leur totaux résumés.
Vous pouvez sélectionner Trier tous les groupes ou spécifier un groupe N Sup
ou N Inf.
10 Cliquez sur Suivant pour créer une sélection d'enregistrements pour votre état.
11 Ajoutez à la liste Champs filtrés les champs de base de données que vous
utiliserez pour filtrer votre état.
Définissez votre sélection d'enregistrements en effectuant un choix dans la liste
des opérateurs de limitation et en entrant la valeur de champ appropriée.
12 Cliquez sur Suivant pour sélectionner un style d'état.
13 Cliquez sur Suivant pour entrer un titre et enregistrer l'emplacement de votre
état.
14 Choisissez une méthode pour afficher un aperçu de l'état.
Quatre options se présentent :
 Aperçu (lecture seule)
 Edition avec Crystal Report Designer
 Analyse avec Crystal Analysis
 Afficher plus tard.
L'option Aperçu ouvre l'état dans le visualiseur ActiveX. Vous pouvez afficher,
imprimer et actualiser l'état dans le visualiseur.
Les options Modifier et Analyser ouvrent l'état dans le programme approprié.
Vous pouvez afficher, imprimer, actualiser et modifier l'état tout en utilisant
toutes les possibilités de Crystal Reports ou de Seagate Analysis.

Crystal Reports Guide de l’utilisateur 393


scr8.book Page 394 Monday, April 2, 2001 12:29 PM

Utilisation du complément Microsoft Access

L'option Afficher plus tard enregistre l'état sous le nom que vous lui avez
donné dans le répertoire que vous avez spécifié.
15 Cliquez sur Terminer.
Maintenant que votre état est créé, vous pouvez l'utiliser et le modifier comme
vous le feriez avec tout autre état dans Crystal Reports. Il reste lié à vos feuilles de
calcul Excel de sorte que si vous actualisez l'état après avoir modifié la feuille de
calcul, vos données modifiées sont affichées (reportez-vous à la section “A propos
du complément Microsoft Excel” à la page 390).

Utilisation du complément Microsoft Access


Lors de l'installation de Crystal Reports 8, le complément Access est ajouté
automatiquement. L'option de menu Assistant de Crystal Report s'ajoute au sous-
menu Compléments du menu Outils d'Access.
Remarque : L'installation du complément Access n'est pas automatique pour
Office 97. Pour obtenir des instructions sur l'installation de l'Assistant de Crystal
Report dans Access 97, reportez-vous à l'aide en ligne de Crystal Reports.
Vous pouvez créer un état avec l'Assistant de Crystal Report à chaque session
Access. Cette option est disponible aussi longtemps que l'Assistant Crystal Report
reste installé dans la boîte de dialogue Gestionnaire des compléments (menu
Outils d'Access).
Remarque : Par défaut, le fichier de compléments Access se trouve dans le
répertoire \\Program Files\Seagate Software\Report Designer Component

Utilisation de l'Assistant de Crystal Report pour créer un état dans Access


L'Assistant de Crystal Report propose les écrans de disposition et de sélection
habituels de Crystal Report pour vous aider à créer un état à partir de votre table
ou de votre requête.

Pour créer un état dans Access à l'aide de l'Assistant de Crystal Report


1 Dans le menu Outils d'Access, pointez sur Compléments puis cliquez sur
Assistant Crystal Report.
Si votre table ou votre requête de base de données est ouverte, Access vous
invite à l'enregistrer avant d'exécuter l'assistant.

394 Crystal Reports Guide de l’utilisateur


scr8.book Page 395 Monday, April 2, 2001 12:29 PM

21 : Création d'états à partir d'Excel ou Access

La boîte de dialogue Choisissez une table ou une requête s'affiche si vous n'avez
pas déjà mis en surbrillance une table ou une requête dans la boîte de dialogue
Base de données ou dans la boîte de dialogue Nouvel état.

Pour ouvrir l'Assistant de Crystal Report, vous pouvez également sélectionner


Etats dans la boîte de dialogue Base de données, cliquer sur Nouveau,
sélectionner Assistant de Crystal Report, puis cliquer sur OK. Cette méthode
permet de sélectionner la table ou la requête dans la boîte de dialogue Nouvel
état et de passer à l'étape 3.

2 Dans la boîte de dialogue Choisissez une table ou une requête, sélectionnez la


table ou la requête que vous voulez utiliser et cliquez sur OK.

Crystal Reports Guide de l’utilisateur 395


scr8.book Page 396 Monday, April 2, 2001 12:29 PM

Utilisation du complément Microsoft Access

L’Assistant de Crystal Report apparaît.

3 Ajoutez à la liste Champs à afficher les champs de base de données que vous
voulez voir apparaître dans votre état.
Les boutons fléchés de cette boîte de dialogue vous permettent de déplacer des
champs d'une liste à l'autre. Les flèches simples ne déplacent que le champ
sélectionné; les flèches doubles déplacent tous les champs à la fois.
4 Cliquez sur Suivant pour sélectionner les champs à regrouper.
5 Ajoutez à la zone Grouper par les champs de base de données que vous voulez
grouper.
Lorsqu'un champ de groupe est sélectionné, vous pouvez choisir un ordre de
tri dans la zone Ordre de tri.
6 Cliquez sur Suivant pour sélectionner les champs à totaliser.
7 Ajoutez à la liste Champs de résumé les champs de base de données que vous
voulez totaliser.
Les champs de total s'appliquent au groupe spécifié dans la zone Pour le groupe.
Vous pouvez utiliser les mêmes champs dans chacun des différents groupes.
Lorsqu'un champ de total est sélectionné, vous pouvez choisir un type de
résumé pour ce champ et ajouter un total général.
8 Cliquez sur Suivant pour trier les groupes selon leur totaux résumés.
Vous pouvez sélectionner Trier tous les groupes ou spécifier un groupe N Sup
ou N Inf.
9 Cliquez sur Suivant pour créer une sélection d'enregistrements pour votre état.
10 Ajoutez à la liste Champs filtrés les champs de base de données que vous
utiliserez pour filtrer votre état.
Définissez votre sélection d'enregistrements en effectuant un choix dans la liste
des opérateurs de limitation et en entrant la valeur de champ appropriée.

396 Crystal Reports Guide de l’utilisateur


scr8.book Page 397 Monday, April 2, 2001 12:29 PM

21 : Création d'états à partir d'Excel ou Access

11 Cliquez sur Suivant pour sélectionner un style d'état.


12 Cliquez sur Suivant pour entrer un titre et enregistrer l'emplacement de votre état.
13 Choisissez une méthode pour afficher un aperçu de l'état.
Quatre options se présentent :
 Aperçu (lecture seule)
 Edition avec le Report Designer
 Analyse avec Seagate Analysis
 Afficher plus tard.
L'option Aperçu ouvre l'état dans le visualiseur ActiveX. Vous pouvez afficher,
imprimer et actualiser l'état dans le visualiseur.
Les options Edition et Analyse ouvrent l'état dans le programme approprié.
Vous pouvez afficher, imprimer, actualiser et modifier l'état tout en utilisant
toutes les possibilités de Crystal Reports ou de Seagate Analysis.
L'option Afficher plus tard enregistre l'état sous le nom que vous lui avez
donné dans le répertoire que vous avez spécifié.
Maintenant que votre état est créé, vous pouvez l'utiliser et le modifier comme
vous le feriez avec tout autre état dans Crystal Reports.

Crystal Reports Guide de l’utilisateur 397


scr8.book Page 398 Monday, April 2, 2001 12:29 PM

Utilisation du complément Microsoft Access

398 Crystal Reports Guide de l’utilisateur


scr8.book Page 399 Monday, April 2, 2001 12:29 PM

Utilisation des formules 22

Ce chapitre décrit les notions essentielles sur les formules et


vous initie à l'Editeur de formule pour commencer à créer
des formules.

Crystal Reports Guide de l’utilisateur 399


scr8.book Page 400 Monday, April 2, 2001 12:29 PM

Généralités sur les formules

Généralités sur les formules


Dans de nombreux cas les données nécessaires pour un état existent déjà dans les
champs d'une base de données. Par exemple, pour préparer une liste de commandes,
la procédure à suivre consisterait à placer les champs appropriés sur l'état.

En plaçant ces champs...

...vous obtenez ce type d'état.

Toutefois, il est parfois nécessaire d'ajouter à un état des données qui ne se


trouvent pas dans les champs de données. Lorsque ce cas se présente, il est
nécessaire de créer une formule. Par exemple, pour calculer le nombre de jours
nécessaires au traitement de chaque commande, il est nécessaire d'avoir une
formule permettant de déterminer le nombre de jours entre la date de commande
et la date d'expédition. Crystal Reports facilite la création de telles formules.

400 Crystal Reports Guide de l’utilisateur


scr8.book Page 401 Monday, April 2, 2001 12:29 PM

22 : Utilisation des formules

En plaçant la formule à l'endroit de l'état où vous


voulez qu'elle apparaisse...

...vous obtenez ce type La formule extrait la Date de commande de la


Date d'expédition et affiche les résultats ici.

Utilisations habituelles des formules


Il existe de nombreuses possibilités d'utilisation pour les formules. Si une
manipulation de données particulière est nécessaire, elle peut être effectuée au
moyen des formules.

Création de champs calculés à ajouter à votre état


Pour calculer un prix avec un rabais de 15% :
Exemple de syntaxe Crystal :
{Détails_des_commandes.Prix unitaire}*.85
Exemple de syntaxe Basic :
formula = {Détails_des_commandes.Prix unitaire}*.85

Crystal Reports Guide de l’utilisateur 401


scr8.book Page 402 Monday, April 2, 2001 12:29 PM

Syntaxe et composants de formules

Mise en forme du texte dans un état


Pour mettre en majuscules toutes les valeurs du champ contenant le nom du client :
Exemple de syntaxe Crystal :
UpperCase ({Client.Nom du client})
Exemple de syntaxe Basic :
formula = UCase ({Client.Nom du client})

Extraction d'une ou de plusieurs parties d'une chaîne de caractères


Pour extraire la première lettre du nom de client:
Exemple de syntaxe Crystal :
{Client.Nom du client} [1]
Exemple de syntaxe Basic :
formula = {Client.Nom du client} (1)

Extraction d'une partie d'une date


Pour déterminer le mois pendant lequel une commande a été effectuée:
Exemple de syntaxe Crystal :
Month ({Commandes.Date de commande})
Exemple de syntaxe Basic :
formula = Month ({Commandes.Date de commande})

Syntaxe et composants de formules


Les formules contiennent deux parties essentielles : les composants et la syntaxe.
Les composants sont les éléments à ajouter pour créer la formule, alors que la
syntaxe constitue l'ensemble des règles à suivre pour l'organisation des composants.

Composants de formule
La création d'une formule dans Crystal Reports est similaire à la création d'une
formule dans un tableur. Vous pouvez utiliser l'un des composants suivants dans
votre formule :

Champs
Exemple : {Client.NOM DU CLIENT}, {Client.VENTES DE L'ANNEE DERNIERE}

Nombres
Exemple : 1, 2, 3.1416

402 Crystal Reports Guide de l’utilisateur


scr8.book Page 403 Monday, April 2, 2001 12:29 PM

22 : Utilisation des formules

Texte
Exemple : “Quantité”, “:”, “votre texte”

Opérateurs
Exemple : + (addition), / (division), -x (négation)
Les opérateurs correspondent à des actions pouvant être utilisées dans les
formules.

Fonctions
Exemple : Round (x), Trim (x)
Les fonctions effectuent des calculs tels que la moyenne, la somme ou le
comptage. Toutes les fonctions disponibles sont répertoriées avec leurs
paramètres et sont regroupées selon leur usage.

Structures de contrôle
Exemple : “If” et “Select”, boucles “For”

Valeurs de champs de groupe


Exemple : Average (champ, champCond), Sum (champs, champCond, “ condition ”)
Les champs de groupe permettent d'effectuer le résumé d'un groupe. Vous
pouvez par exemple utiliser des valeurs de champs de groupe pour déterminer
le pourcentage du total représenté par chaque groupe.

Autres formules
Exemple : {@bénéficenet}, {@QUOTA}

Syntaxe de formule
La syntaxe est l'ensemble des règles utilisées pour l'écriture de formules correctes.
Voici quelques règles de base :
 les chaînes de texte doivent être délimitées par des guillemets
 les paramètres doivent être compris entre des parenthèses (si possible)
 les formules référencées sont précédées du signe @.

Syntaxes Crystal et Basic


Lors de la création de formules, vous pouvez utiliser la syntaxe Crystal ou la
syntaxe Basic. Presque toutes les formules écrites avec une syntaxe peuvent l'être
avec l'autre syntaxe. Les états peuvent contenir des formules utilisant la syntaxe
Basic ou la syntaxe Crystal.

Crystal Reports Guide de l’utilisateur 403


scr8.book Page 404 Monday, April 2, 2001 12:29 PM

Utilisation des formules

La syntaxe Crystal est le langage de formules incorporé dans les versions


antérieures de Crystal Reports. La syntaxe Basic est une nouveauté de Crystal
Reports 8.
Si vous connaissez la syntaxe de Microsoft Visual Basic ou d'autres versions du
langage Basic, la syntaxe Basic vous sera plus familière. La syntaxe Basic est en
général basée sur celle de Visual Basic, à ceci près qu'elle possède des extensions
pour la prise en charge de la création de rapports.
Si vous connaissez déjà la syntaxe Crystal, vous pouvez continuer à l'utiliser et
bénéficier des nouveaux opérateurs, fonctions et structures de contrôle inspirés
par Microsoft Visual Basic.
Remarque : la création d'états n'est pas ralentie par l'utilisation de la syntaxe Basic.
Les états utilisant les formules à syntaxe Basic peuvent être exécutés sur tout
ordinateur sur lequel Crystal Reports s'exécute. Par ailleurs, l'utilisation de la syntaxe
Basic ne nécessite pas la distribution de fichiers complémentaires avec vos états.

Sujets connexes
Pour en apprendre plus sur la syntaxe Basic, reportez-vous à “Création de
formules avec la syntaxe Basic” à la page 419.
Pour en apprendre plus sur la syntaxe Crystal, reportez-vous à “Création de
formules avec la syntaxe Crystal” à la page 461.

Utilisation des formules


Il existe quatre groupes de formules différents dans Crystal Reports : les formules
d'état, de mise en forme, de sélection et de recherche. La majorité des formules des
états sont des formules d'état et des formules de mise en forme conditionnelle.

Formules d'état
Les formules d'état sont des formules que vous créez et qui sont indépendantes
dans un état. Par exemple, une formule calculant le nombre de jours entre la date
de commande et la date d'expédition constitue une formule d'état.

Formules de mise en forme conditionnelles


Les formules de mise en forme modifient la disposition et la conception d'un état, ainsi
que l'apparence du texte, des champs et des objets de bases de données ou de sections
d’état entières. La mise en forme du texte est effectuée au moyen de l'Editeur de
format. Si vous devez créer une formule de mise en forme, utilisez l'Editeur de
formules dans l'Editeur de format. Voir “ Mise en forme conditionnelle ” page 250.

404 Crystal Reports Guide de l’utilisateur


scr8.book Page 405 Monday, April 2, 2001 12:29 PM

22 : Utilisation des formules

Formules de sélection
Les formules de sélection spécifient et limitent les enregistrements et groupes
apparaissant dans un état. Ces formules ne sont habituellement pas entrées
directement. Au lieu de cela, la sélection est spécifiée au moyen de l'Expert
Sélection. Crystal Reports génère ensuite les formules de sélection des
enregistrements et des groupes. Vous pouvez aussi modifier manuellement ces
formules, mais vous devez utiliser la syntaxe Crystal. Voir “ Sélection des
enregistrements ” page 130.

Formules de recherche
Les formules de recherche vous aident à rechercher les données dans un état. Tout
comme pour les formules de sélection, celles-ci ne sont habituellement pas entrées
directement, mais les critères de recherche sont au lieu de cela spécifiés au moyen
de l'Expert Recherche. Crystal Reports génère la formule. Vous pouvez aussi
modifier manuellement ces formules, mais vous devez utiliser la syntaxe Crystal.
Remarque : si vous connaissez déjà la syntaxe Basic, vous n'aurez besoin que d'un
minimum de connaissance de la syntaxe Crystal pour pouvoir modifier la plupart
des formules de recherches et de sélection.

Utilisation de l'Editeur de formule


En dehors des formules de sélection et de recherche (que vous pouvez définir en
utilisant l'Expert Sélection et l'Expert Recherche), toutes les formules sont créées
dans l'Editeur de formule de Crystal Reports.

Accès à l'Editeur de formule


1 Dans le menu Insérer, cliquez sur Objet champ..
2 Dans la boîte de dialogue de l'Explorateur de champ, cliquez deux fois sur
Champs de formule.
3 Cliquez sur Nouveau.
4 Dans la boîte de dialogue Nom de formule, entrez le nom de la formule à créer.
5 Cliquez sur OK.

Crystal Reports Guide de l’utilisateur 405


scr8.book Page 406 Monday, April 2, 2001 12:29 PM

Utilisation des formules

La boîte de dialogue Editeur de formule s’affiche.

Différentes sections de l'Editeur de formule


L'Editeur de formule contient quatre fenêtres principales.

Fenêtre Description du contenu


Champs de l'état Les champs de l'état contiennent tous les champs de
la base de données accessibles pour votre état. Ils
contiennent également les formules et groupes déjà
créés pour l'état.
Fonctions Les fonctions sont des procédures déjà écrites qui
retournent des valeurs. Elles permettent d'effectuer
des calculs comme la moyenne, la somme, le
comptage, le sinus, la suppression de blancs ou la
mise en majuscule.
Opérateurs Les opérateurs sont en quelque sorte les “ verbes ” des
formules. Ils décrivent une action ou une opération
devant être effectuée avec deux valeurs ou plus.
Exemples d'opérateurs: addition, soustraction,
inférieur à et supérieur à.
Fenêtre de texte de Zone dans laquelle la formule est créée.
formule

406 Crystal Reports Guide de l’utilisateur


scr8.book Page 407 Monday, April 2, 2001 12:29 PM

22 : Utilisation des formules

Choix de la syntaxe
Le coin supérieur droit de l'Editeur de formule contient une liste déroulante vous
permettant de choisir soit la syntaxe Basic soit la syntaxe Crystal dans votre formule.
Remarque : changer la syntaxe Crystal en syntaxe Basic ou inversement modifiera
la liste des fonctions dans la fenêtre de fonctions ainsi que la liste des opérateurs
dans la fenêtre des opérateurs. Les fonctions et opérateurs sont différents d'une
syntaxe à l'autre.
Les champs disponibles pour l'état restent inchangés, puisque ceux-ci sont
disponibles pour les deux syntaxes.

Définition de la syntaxe par défaut


Lorsque vous lancez l'Editeur de formules, la syntaxe Crystal s'affiche par défaut.
Si vous souhaitez modifier la syntaxe par défaut, sélectionnez Options dans le
menu Fichier, puis cliquez sur l'onglet création d’état. Sélectionnez la syntaxe de
votre choix dans la liste des langages de formules et cliquez sur OK. Lorsque vous
ouvrez l'Editeur de formules, la syntaxe sélectionnée s'affiche par défaut.

Entrer les composants de formules


L'arborescence des champs d’état, fonctions et opérateurs au sommet de l'Editeur
de formule contient les composants de formule primaires. Cliquez deux fois sur un
composant dans ces arborescences pour ajouter ce composant à la formule.
Par exemple, si la syntaxe utilisée est la syntaxe Basic et si vous cliquez deux fois
sur Opérateurs > Structures de contrôle > Multiligne If dans l'arborescence des
Opérateurs, le texte suivant est transféré vers la fenêtre de texte de formule, le
curseur se plaçant entre If et Then :
If | Then
ElseIf Then
Else
End If
Le texte ci-dessus vous aide à organiser les différentes parties nécessaires à
l'écriture de la formule.

Crystal Reports Guide de l’utilisateur 407


scr8.book Page 408 Monday, April 2, 2001 12:29 PM

Création et modification de formules

L'exemple suivant, qui utilise la syntaxe Crystal, vous montre comment un double-
clic sur les champs d’état, fonctions et opérateurs insère la syntaxe requise par la
formule.

Création et modification de formules


Création et insertion d'une formule dans un état
1 Dans le menu Insérer, cliquez sur Objet champ.
La boîte de dialogue de l'Explorateur de champs apparaît.

408 Crystal Reports Guide de l’utilisateur


scr8.book Page 409 Monday, April 2, 2001 12:29 PM

22 : Utilisation des formules

2 Sélectionnez Champs de formule


3 Cliquez sur Nouveau.
4 Dans la boîte de dialogue Nom de Formule, entrez le nom que vous voulez
donner à la formule.
5 Cliquez sur OK.
La boîte de dialogue Editeur de formule s’affiche.

6 Choisissez la syntaxe Crystal ou Basic.


Si vous ne savez pas vraiment quelle syntaxe utiliser, reportez-vous à “Syntaxe
de formule” à la page 403.
7 Entrez la formule en tapant ses composants ou en les sélectionnant depuis les
arborescences de composants.
8 Cliquez sur Vérifier pour identifier les éventuelles erreurs dans la formule.
9 Résolvez les erreurs de syntaxe que le Vérificateur de Formule a trouvées.
10 Une fois que la syntaxe de la formule est correcte, cliquez sur Enregistrer et
Fermer.
Vous revenez alors à la boîte de dialogue de l'Explorateur de champs.
11 Cliquez deux fois sur la formule et placez le curseur à l'endroit où vous voulez
que la formule apparaisse dans l'état.
12 Cliquez une fois pour placer le champ à l'endroit voulu.
Remarque : Une formule placée dans un état est signalée par la présence d'un
signe @ (@TempsTraitement, par exemple) dans l'onglet Conception.

Crystal Reports Guide de l’utilisateur 409


scr8.book Page 410 Monday, April 2, 2001 12:29 PM

Création et modification de formules

Sujets connexes
“Création de formules avec la syntaxe Basic” à la page 419.
“Création de formules avec la syntaxe Crystal” à la page 461.

Modification des formules


1 Choisissez Insérer dans le menu principal et sélectionnez Objet champ.
La boîte de dialogue de l'Explorateur de champs apparaît.
2 Cliquez avec le bouton droit sur la formule à modifier et choisissez Modifier.
La boîte de dialogue Editeur de formule s’affiche.
3 Modifiez la formule.
4 Cliquez sur Vérifier pour identifier les éventuelles erreurs dans la formule.
5 Résolvez les erreurs de syntaxe que le Vérificateur de Formule a trouvées.
6 Une fois que la syntaxe de la formule est correcte, cliquez sur Enregistrer et
Fermer.
Vous revenez alors à la boîte de dialogue de l'Explorateur de champs.

Recherche et remplacement de texte


1 Dans le menu Insérer, cliquez sur Objet champ.
La boîte de dialogue de l'Explorateur de champs apparaît.
2 Cliquez avec le bouton droit sur la formule à modifier et choisissez Modifier.
La boîte de dialogue Editeur de formule s’affiche.
3 Dans la boîte de dialogue de l'Editeur de formule, cliquez sur Rechercher/
Remplacer pour ouvrir la boîte de dialogue Rechercher.
Vous pouvez rechercher et remplacer du texte de la zone modifiable de formule
depuis cette boîte de dialogue.
4 Cliquez sur le bouton Tout marquer pour marquer toutes les occurrences du
texte recherché.
5 Cliquez sur le bouton Tout remplacer pour remplacer toutes les occurrences
du texte recherché par le contenu de la zone modifiable Remplacer.
Vous pouvez aussi effectuer des recherches (mais pas remplacer) dans les
arborescences de l'Editeur de formule (utilisez les options de recherche pour
spécifier les listes dans lesquelles vous effectuez la recherche). Les boutons Tout
marquer, Remplacer et Tout remplacer deviennent inactifs lorsque vous spécifiez
une recherche dans une liste.

410 Crystal Reports Guide de l’utilisateur


scr8.book Page 411 Monday, April 2, 2001 12:29 PM

22 : Utilisation des formules

Copie de formules depuis l'aide en ligne


L'aide en ligne Crystal Reports contient une section intitulée “ Formules en action ”
qui comprend 17 formules différentes et des scénarios d'états correspondants.
Puisque les formules que vous écrivez avec l'Editeur de formule sont du texte,
vous pouvez copier les formules en ligne utiles directement dans l'Editeur de
formule et les modifier pour qu'elles correspondent à vos besoins.

Pour copier des formules depuis l'aide en ligne


1 Dans le menu Aide, cliquez sur Aide de Crystal Reports.
L'aide en ligne de Crystal Reports apparaît.
2 Cliquez sur l'onglet Index.
3 Entrez “ Formules en Action ” dans le champ prévu à cet effet et cliquez sur
Afficher.
La rubrique d'aide des Formules en Action apparaît.
4 Faites défiler la rubrique jusqu'à ce que vous trouviez la formule que vous
voulez copier.
5 Mettez la formule en surbrillance, cliquez sur le bouton droit de la souris et
choisissez Copier dans le menu.
Windows place une copie du texte sélectionné dans le Presse-papiers.
6 Revenez dans Crystal Reports, choisissez Insérer dans le menu principal et
sélectionnez Objet champ.
La boîte de dialogue de l'Explorateur de champs apparaît.
7 Sélectionnez Champs de formule et cliquez sur le bouton Nouveau.
La boîte de dialogue Nom de formule apparaît.
8 Entrez le nom que vous voulez donner à la formule et cliquez sur OK.
La boîte de dialogue Editeur de formule s’affiche.
9 Placez le point d'insertion à l'endroit où vous voulez que le texte apparaisse
dans la zone Formule de l'Editeur de formule, et appuyez sur Ctrl-V pour
coller le texte depuis le Presse-papiers.
10 Modifiez la formule en changeant les champs, formules, champs de groupe,
instructions conditionnelles et chaînes de texte selon vos besoins pour
l'utilisation avec les données du nouvel état.
11 Une fois que la syntaxe de la formule est correcte, cliquez sur Enregistrer et
Fermer.
Vous revenez alors à la boîte de dialogue de l'Explorateur de champs.

Crystal Reports Guide de l’utilisateur 411


scr8.book Page 412 Monday, April 2, 2001 12:29 PM

Création et modification de formules

Copie de formules depuis un état vers un autre


Il est possible que vous vouliez copier une formule créée dans un état pour l'utiliser
dans un autre état. Copiez le texte de la formule depuis un état vers un autre au
moyen du Presse-papiers.

Pour copier une formule d'un état à un autre


1 Sélectionnez le champ de formule que vous voulez copier dans l'état.
2 Dans le menu Edition, cliquez sur Copier.
3 Ouvrez l'état dans lequel vous voulez que la formule soit copiée.
4 Choisissez Coller dans le menu Edition.
5 Une fois que le programme a affiché le cadre de l'objet, faites glisser la formule
vers le nouvel emplacement.
6 Pour effectuer des modifications dans la formule, cliquez avec le bouton droit
sur la formule et choisissez Modifier l'objet champ dans le menu contextuel.
La boîte de dialogue Editeur de formule s’affiche.
7 Supprimez les anciennes valeurs et tapez les nouvelles, ou sélectionnez-les
depuis les arborescences de champs, fonctions et opérateurs.
8 Cliquez sur Enregistrer et Fermer lorsque vous avez terminé.

Points essentiels pour la modification de la copie d'une formule


Lorsque vous effectuez des modifications, gardez les points suivants à l'esprit :
 Tous les champs, formules et champs de groupe auxquels la formule fait
référence doivent exister dans le nouvel état. Cela signifie que toute base de
données à laquelle la formule d'origine fait référence (ou une base de données
possédant les mêmes alias, noms de champs et structure) doit être active dans
le nouvel état.
 Si une base de données telle que celle-ci n'est pas active, vous devez changer
les références aux champs, formules et champs de groupe dans la copie de la
formule pour qu'elle corresponde aux éléments du nouvel état.
 Si une formule contient des éléments conditionnels, vérifiez que les conditions
s'appliquent aux données du nouvel état. Par exemple, si une formule de votre
ancien état effectuait une action qui nécessitait que la quantité soit supérieure à
100, vérifiez que la condition supérieure à 100 est appropriée pour la nouvelle
formule. Lors de la modification d'une formule, vous apercevrez peut-être que
supérieur à 10 ou supérieur à 2000 est plus approprié avec vos nouvelles données.

412 Crystal Reports Guide de l’utilisateur


scr8.book Page 413 Monday, April 2, 2001 12:29 PM

22 : Utilisation des formules

 Si vous utilisez la formule avec de nouvelles données, et si votre état contient


des instructions similaires aux suivantes :
If {fichier.CHAMP} = “chaîne de texte”
Vérifiez que les chaînes de texte utilisées dans la formule correspondent aux
valeurs existant dans les nouvelles données.

Suppression de formules
Lorsqu'une formule est créée et ajoutée à un état, le Report Designer :
 stocke la spécification de création de la formule, en utilisant le nom que vous
lui avez assigné ;
 place une copie de travail de cette formule à l'emplacement spécifié dans l'état.
Une copie de travail correspond à toute occurrence de la formule dans l'état.
Pour supprimer complètement une formule, vous devez supprimer la
spécification et toutes les copies de travail de la formule.
Remarque : vous ne pouvez pas supprimer la spécification sans supprimer toutes
les copies de travail de la formule.

Suppression de la formule de travail de votre état


1 Cliquez avec le bouton droit sur la formule à supprimer de l'état.
2 Sélectionnez Supprimer.
Remarque : après la suppression des copies de travail de la formule, la
spécification de la formule reste toujours inchangée. La spécification est
répertoriée dans la boîte de dialogue Explorateur de champ. Elle est disponible si
vous voulez entrer à nouveau la formule dans l'état.

Suppression de la spécification de formule


1 Choisissez Insérer dans le menu principal et sélectionnez Objet champ.
La boîte de dialogue de l'Explorateur de champs apparaît.
2 Cliquez avec le bouton droit sur la formule à supprimer et choisissez
Supprimer.
Remarque : une boîte de dialogue apparaît si cette formule est actuellement
utilisée dans un rapport. Si vous supprimez cette formule, vous supprimerez
toutes les références faites à la formule dans les états. Cliquez sur Oui pour
supprimer.

Crystal Reports Guide de l’utilisateur 413


scr8.book Page 414 Monday, April 2, 2001 12:29 PM

Débogage des formules

Débogage des formules


Didacticiel de débogage
Suivez les exemples ci-dessous pour apprendre les étapes nécessaires au débogage
d'une formule. Après avoir terminé cet exercice, utilisez le même principe pour
déboguer vos formules.

A propos de ce didacticiel
 Ce didacticiel utilise la base de données exemple Xtreme.mdb.
 Ce didacticiel utilise la syntaxe Crystal.
 La formule suivante est la formule que vous testerez pour trouver
d'éventuelles erreurs :
If ({Client.NOM DU CLIENT} [1 to 2 = "Bi" and
ToText({Client,ID CLIENT}) [1] = "6") Or
({Client.NOM DU CLIENT} [1] = "Ro" and
ToText({Client.ID CLIENT}) [1] = "5")
“CLIENT PRIVILIEGIE”
Else
"NE REPOND PAS AUX CRITERES"
Si elle est correcte, cette formule récupère tous les noms d'utilisateurs commençant
par “Bi” et dont les numéros d'identification commencent par “6” ainsi que les
sociétés dont le nom commence par “Ro” et dont le numéro d'identification de
client commence par “5”. Lors de l'impression du champ, les enregistrements
sélectionnés seront estampillés “CLIENT PRIVILEGIE” alors que le reste sera
estampillé “NE REPOND PAS AUX CRITERES”.
Examinez chaque partie de la formule pour vérifier que chaque condition
fonctionne individuellement.

Formule1
1 Pour commencer, créez un état en utilisant la table Clients dans Xtreme.mdb et
placez les champs suivants de gauche à droite dans la section Détails :
{Client.ID CLIENT}
{Client.NOM DU CLIENT}
Pour tester chaque portion de la formule, placez un nouveau champ de formule
à côté de ces deux champs dans l'état.
2 Créez une nouvelle formule appelée Formule1.

414 Crystal Reports Guide de l’utilisateur


scr8.book Page 415 Monday, April 2, 2001 12:29 PM

22 : Utilisation des formules

3 Tapez le texte suivant dans la zone modifiable de Texte de formule de


l'Editeur de formule :
If {Client.NOM DU CLIENT} [1 to 2 = "Bi" Then
"TRUE"
Else
"FALSE"
4 Cliquez sur Vérifier pour vérifier qu'il n'y a pas d'erreurs. Le message d'erreur
suivant apparaît :
Il manque un signe ].
5 Corrigez la formule en insérant le caractère “ ] ” manquant après le 2.
6 Cliquez de nouveau sur Vérifier. Le message suivant apparaîtra :
Aucune erreur trouvée.
7 Cliquez sur Enregistrer et Fermer pour retourner à la boîte de dialogue Insérer
des champs.
8 Insérez le champ de formule corrigé à droite des deux champs de données de
la section Détails de votre état.
9 Cliquez sur Aperçu avant impression sur la barre d'outils Standard pour
vérifier les valeurs dans l'état et comparer les champs pour vérifier que les
valeurs de champs retournées par @Formule1 sont correctes.
Vous trouverez la valeur “TRUE” affichée à côté des noms de clients commençant
par “Bi” et “FALSE” à côté des autres. Vérifiez maintenant les autres portions de
la formule. Créez Formule2, Formule3 et Formule4 en suivant les étapes 1 à 9, et en
utilisant les formules spécifiées ci-dessous pour chacune.
Insérez chaque champ de formule sur la même ligne que la section Détails pour
effectuer une comparaison rapide. Vérifiez qu'ils ne contiennent pas d'erreurs,
résolvez les erreurs si nécessaire et vérifiez que les valeurs renvoyées sont
correctes avant de passer à la formule Formule2.

Formule2
1 Créez une nouvelle formule et donnez-lui le nom Formule2.
Tapez le texte suivant dans la zone modifiable Texte de formule de l'Editeur de
formule :
If ToText({Clients,ID client}) [1] = "6" Then
"TRUE"
Else
"FALSE"

Crystal Reports Guide de l’utilisateur 415


scr8.book Page 416 Monday, April 2, 2001 12:29 PM

Débogage des formules

2 Cliquez sur Vérifier pour vérifier qu'il n'y a pas d'erreurs. Le message d'erreur
suivant apparaît :
Ce nom de champ est inconnu.
3 Corrigez la formule en remplaçant la virgule (,) dans le nom du champ par un
point (.).
4 Cliquez de nouveau sur Vérifier. La formule ne devrait plus contenir
d'erreurs.
5 Placez la formule à droite du champ @Formule1.
6 Cliquez sur Aperçu avant impression dans la barre d'outils standard pour
vérifier les valeurs dans l'état et comparer les champs pour vérifier que les
valeurs retournées par @Formule2 sont correctes.
“TRUE” devrait maintenant apparaître à côté de tous les numéros de clients
commençant par 6 et “FALSE” à côté de tous les numéros de clients ne
commençant pas par 6.

Formule3
1 Créez une nouvelle formule et donnez-lui le nom Formule3.
2 Tapez le texte suivant dans la zone modifiable de Texte de formule de
l'Editeur de formule :
If {clients.NOM DU CLIENT} [1 to 2] = ’Ro" Then
"TRUE"
Else
"FALSE"
3 Cliquez sur Vérifier pour vérifier qu'il n'y a pas d'erreurs. Le message d'erreur
suivant apparaît :
Il manque un signe ’ pour accompagner cette chaîne.
4 Corrigez la formule en changeant le guillemet simple (’) avant Ro en guillemet
double(“).
5 Cliquez de nouveau sur Vérifier. La formule ne devrait plus contenir
d'erreurs.
6 Placez la formule à droite du champ @Formule2.
7 Cliquez sur Aperçu avant impression dans la barre d'outils standard pour
vérifier les valeurs dans l'état et comparer les champs pour vérifier que les
valeurs retournées par @Formule3 sont correctes.
“TRUE” devrait maintenant être affiché à côté des noms de clients commençant
par “Ro” et “FALSE” à côté des noms de clients ne commençant pas par “Ro”.

416 Crystal Reports Guide de l’utilisateur


scr8.book Page 417 Monday, April 2, 2001 12:29 PM

22 : Utilisation des formules

Formule4
1 Créez une nouvelle formule et donnez-lui le nom Formule4.
2 Tapez le texte suivant dans la zone modifiable de Texte de formule de
l'Editeur de formule :
If ToText({Client.ID CLIENT}) [1] = "5"
"TRUE"
Else
"FALSE"
3 Cliquez sur Vérifier pour vérifier qu'il n'y a pas d'erreurs. Le message d'erreur
suivant apparaît :
Il manque le mot ‘then’.
4 Corrigez la formule en tapant le mot “Then” à la fin de la première ligne, après “5”.
5 Cliquez de nouveau sur Vérifier. La formule ne devrait plus contenir
d'erreurs.
6 Placez la formule à droite du champ @Formule3.
7 Cliquez sur Aperçu avant impression dans la barre d'outils standard pour
vérifier les valeurs dans l'état et comparer les champs pour vérifier que les
valeurs retournées par @Formule4 sont correctes.
“TRUE” devrait maintenant être affiché à côté des numéros de clients commençant
par 5 et “FALSE” à côté des numéros de clients ne commençant pas par 5.
Maintenant que les formules ne contiennent plus d'erreurs et que les valeurs de
champs retournées sont correctes, créez une formule liant ensemble les
composants séparés. Commencez par lier les deux premières formules (Formule1
et @Formule2) et ajoutez ensuite @Formule3 et @Formule4 pour créer la formule
finale @FormuleFinale.

Formule1+2
1 Créez une nouvelle formule et donnez-lui le nom Formule1+2.
2 Tapez le texte suivant dans la zone modifiable Texte de formule de l'Editeur de
formule :
If {Client.NOM DU CLIENT} [1 to 2] = "Bi" and
ToText({Client.ID CLIENT}) [1] = "6" Then
"TRUE"
Else
"FALSE"
3 Placez la formule à droite du champ @Formule4.
“TRUE” devrait maintenant être affiché à côté de chaque client dont le nom
commence par Bi et dont le numéro commence par 6, et “FALSE” à côté des
numéros de clients qui ne répondent pas à ces critères.

Crystal Reports Guide de l’utilisateur 417


scr8.book Page 418 Monday, April 2, 2001 12:29 PM

Débogage des formules

Si cette formule fonctionne correctement, vous pouvez créer une dernière formule
en ajoutant le code de @Formule3 et @Formule4.

FormuleFinale
1 Créez une nouvelle formule et donnez-lui le nom FormuleFinale.
2 Tapez le texte suivant dans la zone modifiable de Texte de formule de l'Editeur
de formule :
If ({Client.NOM DU CLIENT} [1 to 2] = "Bi" and
ToText({Client.ID CLIENT}) [1] = "6") or
({Client.NOM DU CLIENT} [1 to 2] = "Ro" and
ToText({Client.ID CLIENT}) [1] = "5") Then
“CLIENT PRIVILIEGIE”
Else
“NE REPOND PAS AUX CRITERES”;
3 Placez la formule à l'endroit où vous voulez qu'elle apparaisse dans la section
Détails de l'état. Vous pouvez maintenant supprimer tous les autres champs
de formules de l'état. Voir “Suppression de formules” à la page 413.
Vous pouvez utiliser la même procédure de test condition après condition pour
toutes les formules, comme moyen de vérification systématique.

418 Crystal Reports Guide de l’utilisateur


scr8.book Page 419 Monday, April 2, 2001 12:29 PM

Création de formules avec la syntaxe


Basic 23

Ce chapitre vous donne une vue d'ensemble des différentes


parties d'une formule. Vous apprendrez la syntaxe Basic et
les techniques utilisables pour la création d'une formule.

Crystal Reports Guide de l’utilisateur 419


scr8.book Page 420 Monday, April 2, 2001 12:29 PM

Vue d'ensemble de la syntaxe Basic

Vue d'ensemble de la syntaxe Basic


Lors de la création de formules, vous pouvez utiliser la syntaxe Crystal ou la
syntaxe Basic. On appelle syntaxe l'ensemble des règles utilisées pour établir
correctement une formule. Presque toutes les formules écrites avec une syntaxe
peuvent l'être avec l'autre syntaxe. Les états peuvent contenir des formules
utilisant la syntaxe Basic ou la syntaxe Crystal.
Si vous connaissez la syntaxe de Microsoft Visual Basic ou d'autres versions du
langage Basic, la syntaxe Basic vous sera plus familière. La syntaxe Basic est en
général basée sur celle de Visual Basic, à ceci près qu'elle possède des extensions
pour la prise en charge de la création d'états.
Remarque : la création d'états n'est pas ralentie par l'utilisation de la syntaxe
Basic. Les états utilisant les formules à syntaxe Basic peuvent être exécutés sur
tout ordinateur sur lequel Crystal Reports peut être exécuté. Par ailleurs,
l'utilisation de la syntaxe Basic ne nécessite pas la distribution de fichiers
complémentaires avec vos états.

Conseils pour l'apprentissage de la syntaxe Basic

Si vous n'avez aucune expérience de la programmation


Il est inutile dans bien des cas d'utiliser le langage des formules. Crystal Reports
comprend de nombreux experts qui prennent automatiquement en charge les
situations dans lesquelles les formules pourraient être utilisées. Ces assistants sont
entre autres les Experts Sélection, Recherche, Total cumulé, Mise en relief et les
boîtes de dialogue Insérer un résumé et Insérer un total général. Vérifiez d'abord
si la création de votre formule peut être prise en charge par l'un de ces outils.
Toutefois, vous devrez parfois créer des formules sans l'aide d'un Expert.
Consultez ce chapitre pour en apprendre plus sur la syntaxe Basic et les règles à
suivre pour l'écriture d'une formule.

Si vous êtes familier avec Microsoft Visual Basic, VBScript ou une


autre version du langage Basic
Pour pouvoir créer des formules utilisant la syntaxe Basic, il est nécessaire de bien
comprendre les éléments suivants :
 La manière dont une formule en syntaxe Basic fait référence aux autres champs
de l'état tels que les champs de base de données, les champs paramètres, les
champs de résumé, les totaux cumulés et autres champs de formule.
 Comment renvoyer une valeur depuis une formule en définissant la variable
spéciale formula.

420 Crystal Reports Guide de l’utilisateur


scr8.book Page 421 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

 Comment utiliser les fonctions spécifiques à la création d'états telles que


ReportTitle et OnFirstRecord.
 Comment utiliser le système de types. La syntaxe Basic est fortement typée,
d'une manière similaire à l'utilisation de Option Explicit dans Visual Basic, et il
n'existe pas de type Variant. La syntaxe Basic prend en charge l'utilisation de
types Date, Heure et DateHeure indépendants, contrairement au type Date
dans Visual Basic. Elle prend aussi en charge les types plage (Range) tels que
10 To 20 pour permettre l'utilisation de plages de valeurs, qui sont courantes
dans de nombreuses applications de création d'états.
Consultez ce chapitre et reportez-vous à la documentation en ligne fournie pour
vous familiariser avec les éléments ci-dessus.

Fonctionnalités habituelles
 De nombreuses fonctions en syntaxe Basic fonctionnent de manière identique
à leurs équivalentes Visual Basic. Parmi celles-ci, on trouve les fonctions de
traitement de chaînes telles que Len, Mid et Filter, les fonctions
mathématiques telles que Abs, Rnd et Sin, les fonctions financières comme PV,
les fonctions de raccourci de programmation telles que IIF et les fonctions de
traitement de dates telles que DateSerial, DateAdd et DateDiff.
 La plupart des opérateurs pris en charge par Visual Basic sont aussi inclus
dans la syntaxe Basic. Parmi ceux-ci, les opérateurs de concaténation de chaîne
(&) et les dates-heures littérales (#...#).
 La plupart des instructions et structures de contrôle utilisent la même syntaxe
que dans Visual Basic. Parmi ceux-ci, on trouve les instructions If, Select, Do
While, Do Until, While et For/Next.
 L'aperçu global de la formule aura un aspect Basic évident. Par exemple, les
commentaires et caractères de continuation de ligne de style Basic sont pris en
charge, tout comme l'utilisation de nouvelles lignes, du signe deux-points et
du signe égal.

Si vous connaissez déjà la syntaxe Crystal


L'adaptation principale consiste à s'habituer aux parties du langage Basic
communes à toutes les versions de Basic. Consultez ce chapitre et la
documentation en ligne pour une introduction détaillée.

Utilisation de l'aide en ligne


L'aide en ligne de Crystal Reports répertorie tous les opérateurs, fonctions et
structures de contrôle disponibles dans la syntaxe Basic, et fournit une explication
détaillée de chacun d'entre eux.

Crystal Reports Guide de l’utilisateur 421


scr8.book Page 422 Monday, April 2, 2001 12:29 PM

Principes fondamentaux de la syntaxe Basic

Principes fondamentaux de la syntaxe Basic


Résultat d’une formule
Le résultat d'une formule, ou la valeur qui s'imprime lorsque la formule est placée
dans un état, est appelé la valeur renvoyée par la formule. Chaque formule de Crystal
Reports doit renvoyer une valeur. La syntaxe Basic effectue cela en définissant la
valeur d'une variable spéciale appelée formula. Voici par exemple une formule
simple en syntaxe Basic, qui renvoie la valeur 10 :
formula = 10
La valeur renvoyée par une formule peut appartenir à l'un des sept types de
données simples pris en charge: Numérique, Monétaire, Chaîne, Booléen, Date,
Heure et DateHeure. Crystal Reports prend également en charge les types plage et
tableau, mais ceux-ci ne peuvent pas être renvoyés par une formule.

Restrictions imposées à la modification des types de données de la


variable formula
La variable formula peut être définie plusieurs fois à l'intérieur d'une même
formule. Supposons, par exemple, qu'une société ait une politique de transport au
titre de laquelle les commandes supérieures à 1000$ sont couvertes par une
assurance tandis que celles inférieures à ce montant ne le sont pas :
Rem Une formule renvoyant une valeur chaîne
If {Commandes.Montant de commande} >= 1000 Then
formula = "Expédition assurée"
Else
formula = "Expédition ordinaire"
End If
Truc : le texte se trouvant après le mot-clé Rem est un commentaire à destination
de la personne lisant la formule et est ignoré par le compilateur de syntaxe Basic.
La formule renvoie la valeur de la chaîne de texte “ Expédition assurée ” si la
valeur du champ de base de données {Commandes.Montant de la commande} est
supérieure ou égale à 1000, et renvoie la valeur de la chaîne de texte “ Expédition
ordinaire ” dans le cas contraire. Les chaînes de texte sont couramment appelées
simplement chaînes. Remarquez que la variable formula apparaît deux fois dans
l'exemple ci-dessus.
Si une valeur d'un certain type est affectée à la variable formula, elle ne peut pas se
voir affectée un type différent dans la même formule. Par exemple, remplacer la
chaîne “Expédition ordinaire” dans l'exemple ci-dessous par le nombre 10
provoquerait une erreur, puisque la variable spéciale formula a tout d'abord été
affectée à la valeur de chaîne “Expédition assurée”.

422 Crystal Reports Guide de l’utilisateur


scr8.book Page 423 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

La raison de cette restriction réside dans le fait que Crystal Reports doit connaître
à l'avance le type renvoyé par une formule pour pouvoir allouer un espace
suffisant aux valeurs renvoyées. En effet, les différents types possèdent des
exigences de stockage différentes. Le fait que les options de mise en forme d'un
champ dépendent de son type constitue une autre raison. Un champ numérique
possède par exemple des options de mise en forme de nombre, telles que le nombre
de décimales à afficher, ce qui ne s'applique pas aux champs de type chaîne.
Remarque : la variable spéciale formula ne doit pas être déclarée, contrairement
aux autres variables utilisées dans la syntaxe Basic. Voir “Variables” à la page 432.

Formules et fonctions de Microsoft Visual Basic


Observez la syntaxe Basic suivante :
Rem Une formule renvoyant une valeur chaîne
Rem La fonction Rnd renvoie un nombre aléatoire
Rem entre 0 et 1
If Rnd > 0.9 Then
formula = "Vous avez gagné !"
Else
formula = "Désolé. Réessayez."
End If
La formule ci-dessus renvoie la valeur de type chaîne “Vous avez gagné !” si le
nombre aléatoire renvoyé par Rnd est supérieur à 0.9 et la valeur de type String
“Désolé Réessayez” dans le cas contraire.
L'utilisation de la variable formula est similaire à l'écriture d'une fonction nommée
formula dans Visual Basic.
Par exemple, la formule ci-dessus pourrait être écrite comme la fonction Visual
Basic suivante :
Rem Les lignes de code suivantes sont en Visual Basic
Function formula()
If Rnd > 0.9 Then
formula = "Vous avez gagné !"
Else
formula = "Désolé. Réessayez."
End If
End Function

Une valeur doit être assignée à la variable formula


Si aucune valeur n'est assignée à la variable formula, la syntaxe Basic n'est pas
complète.
Remarque : certains exemples de ce chapitre ne sont pas des exemples complets
de syntaxe Basic, mais plutôt des fragments pour l'explication d'une
fonctionnalité particulière.

Crystal Reports Guide de l’utilisateur 423


scr8.book Page 424 Monday, April 2, 2001 12:29 PM

Commentaires

Que faire si la valeur renvoyée par la formule est inutile ?


Il est parfois nécessaire d'écrire une formule n'effectuant que la déclaration et
l'initialisation de certaines variables globales. Ces formules sont habituellement
insérées dans la section En-tête d'état d'un état. Dans ce cas, assignez uniquement
une valeur quelconque à la variable spéciale formula. En effet, toute formule doit
retourner une valeur, même si le résultat de cette valeur n'est pas utile.
Par exemple :
Rem Déclaration de quelques variables globales
Rem N'oubliez pas de définir la valeur de 'formula'
Global x As String, y As Number, z As DateTime
x= "bonjour"
y = 10.5
z = #Aug 6, 1976#
formula = 10

La syntaxe Basic ne fait pas de différence entre les majuscules et


minuscules.
Ceci signifie que formula, Formula et FORMULA sont tous considérés identiques.
Ceci est vrai pour tous les noms de variables, fonctions et mots-clés utilisés dans
les formules à syntaxe Basic.
Remarque : seules les chaînes échappent à cette règle. La chaîne “Bonjour” est
différente de la chaîne “bonjour”.

Entraînement à l'aide de la base de données exemple Xtreme.mdb


La plupart des exemples cités dans ce chapitre se réfèrent à la base de données
modèle Xtreme. Celle-ci est comprise dans Crystal Reports.
Parcourez le répertoire Samples pour trouver le dossier Databases qui contient la
base de données Xtreme.mdb.

Commentaires
Les commentaires de formules sont des notes incluses dans une formule pour en
expliquer la conception et le fonctionnement. Les commentaires ne s'impriment
pas et n'ont aucune incidence sur la formule, ils ne s'affichent que dans l'Editeur de
formules. Vous pouvez utiliser des commentaires pour expliquer le but d'une
formule ou les étapes qui ont été nécessaires pour l'établir.
Les commentaires fonctionnent de la même manière que dans Visual Basic. Ils
commencent par Rem ou un apostrophe.

424 Crystal Reports Guide de l’utilisateur


scr8.book Page 425 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Remarque : un commentaire commençant pas Rem est une instruction séparée et


doit commencer sur une nouvelle ligne ou être séparé de l'instruction précédente
par un signe deux-points.
Rem Ceci est un commentaire
Rem Ceci est un autre commentaire
formula = 10 'Ainsi que tout texte se trouvant après une apostrophe
formula = 20 : Rem Ceci est aussi un commentaire
'Les commentaires peuvent être placés après le texte de la formule

Champs
Un grand nombre des champs que vous créez lors de la création d'un état peuvent
également être utilisés dans les formules. Vous pouvez, par exemple, faire
référence aux champs Base de données, Paramètre, Total cumulé, Instruction SQL,
Résumé et Nom de groupe. Vous pouvez aussi faire référence à d'autres champs
de formule dans votre formule.
Le moyen le plus facile pour insérer un champ dans votre état consiste à cliquer
deux fois sur un nom de champ dans l'arborescence Champs de l'état. Ceci permet
d'être sûr que la syntaxe utilisée pour le champ est correcte.

Aspect des champs dans les formules


Le nom des champs de base de données, paramètre, de formule, Total cumulé et
Instruction SQL est inclus dans des accolades. Les noms de champ de base de
données sont pris dans la base de données. Par exemple :
 champ de base de données : {Employés.Nom}
Les noms des champs paramètre, de formule, Total cumulé et Instruction SQL sont
spécifiés au moment de leur création.
 les champs paramètre comprennent également un point d'interrogation : {?mon
champ paramètre}
 les champs de formule comprennent le signe @ : {@une autre formule}
 le champ Total cumulé comprend un signe # : {#mon Total cumulé}
 les champs Instruction SQL comprennent un signe % : {%mon Instruction SQL}
les champs de résumé et Nom de groupe ressemblent à des appels de fonction.
Toutefois ils constituent de véritables notations abrégées pour un champ de l'état.
 champ de résumé d'une somme : Sum({Commandes.Montant de commande},
{Commandes.Expédition par})
 champ Nom de groupe : GroupName({Commandes.Expédition par})

Crystal Reports Guide de l’utilisateur 425


scr8.book Page 426 Monday, April 2, 2001 12:29 PM

Instructions

Exemples de formules utilisant des champs


La formule dans cet exemple utilise la base de données Xtreme. Pour connaître la
durée de la livraison d'un produit à partir de la date de commande, il suffit de
soustraire le champ de base de données Date d'expédition du champ de base de
données Date de la commande :
Rem Formule utilisant les champs de base de données
formula = {Commandes.Date d'expédition} - {Commandes.Date de la commande}
Pour trouver le montant total d'un produit commandé, multipliez son prix unitaire
par la quantité commandée :
formula = {Détails des commandes.Prix unitaire} * _
{Détails des commandes.Quantité}
Remarque : cet exemple utilise le caractère de continuation de ligne “ _” (espace +
tiret de soulignement). Voir “Instructions” à la page 426.
Pour calculer un prix de vente égal à 80% du prix unitaire d'origine :
formula = {Détails des commandes.Prix unitaire} * 0.80

Instructions
Une formule dans la syntaxe Basic est constituée d'une série d'instructions. Chaque
instruction doit être séparée de la précédente par une nouvelle ligne ou deux points
(“ : ”). En général, chaque commande utilise une ligne, mais il est possible de
continuer une instruction sur la ligne suivante en utilisant le caractère de continuation
de ligne, qui est constitué d'un espace suivi par un tiret de soulignement.
Par exemple :
'Déclaration de la variable x pour qu'elle contienne un nombre
Dim x As Number
'Assigner la valeur 30 à x
x = 10 + 10 + 10
'Ceci assigne aussi la valeur 30 à x
x = 10 + _
10 + 10
'Les caractères de continuation de ligne _
peuvent aussi être utilisés dans les commentaires
Dim y as String
'Trois instructions séparées par deux signes :
y = "Bonjour" : x = 30 : formula = True

426 Crystal Reports Guide de l’utilisateur


scr8.book Page 427 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Affectation
Utilisez le signe égal (=) pour effectuer des assignations. Le mot-clé Let peut aussi
être utilisé. Par exemple :
x = 10
Let y = 20

Types de données simples


Les types de données simples dans Crystal Reports sont Numérique, Monétaire,
Chaîne, Booléen, Date, Heure et DateHeure.

Nombre
Entrez les nombres sans signe de séparation des milliers et sans symbole monétaire
(vous souhaiterez généralement que les nombres soient mis en forme en tant que
résultat d'une formule mais pas dans la formule elle-même).

Exemples
10000
-20
1.23

Monétaire syntaxe Basic


Utilisez la fonction CCur pour créer une valeur de type Currency (monétaire). Le
premier C de CCur signifie conversion et la fonction peut être utilisée pour
convertir des valeurs numériques en valeurs monétaires.

Exemples
CCur (10000)
CCur (-20)
CCur (1,23)

Chaîne
Les chaînes sont utilisées pour contenir du texte. Le texte doit être placé entre des
guillemets doubles (") et ne peut pas être réparti sur plusieurs lignes. Si vous
voulez inclure des guillemets doubles dans une chaîne, utilisez deux guillemets
doubles consécutifs.
"Voici une chaîne."
"123"
"Le mot ""bonjour"" est placé entre guillemets."

Crystal Reports Guide de l’utilisateur 427


scr8.book Page 428 Monday, April 2, 2001 12:29 PM

Types de données simples

Vous pouvez extraire des éléments individuels ou sous-chaînes d'une chaîne en


précisant la position du caractère ou une plage de positions de caractères. Les
valeurs négatives sont permises ; elles indiquent que la position de départ est le
dernier caractère de la chaîne.
"bonjour" (2) 'Est égal à "o"
"bonjour" (-7) 'Est égal à "b"
"604-555-1234" (1 to 3) 'est égal à "604"
"abcdef" (-3 to -1) 'est égal à "def"
Vous pouvez aussi extraire des sous-chaînes d'une chaîne à l'aide des fonctions
Left, Right et Mid.

Booléen
Les valeurs Booléennes valables sont :
True (Vrai)
False (Faux)
Remarque : Yes (oui) peut être utilisé à la place de True et No (non) à la place de
False.

Date, Heure et DateHeure


Le type DateHeure peut contenir des dates-heures, des dates seules ou des heures
seules. Le type Date ne prend en compte que les dates et le type Heure ne prend en
compte que les heures. Les types Date et Heure sont plus efficaces que le type
DateHeure, et peuvent ainsi être utilisés dans des situations dans lesquelles les
fonctionnalités et la souplesse supplémentaires du type DateHeure ne sont pas
nécessaires.
Visual Basic ne prend pas en charge des types séparés pour le traitement des dates
seules ou des heures seules. La syntaxe Basic de DateTime est similaire à celle du
type Date de Visual Basic.
Vous pouvez créer directement des valeurs DateHeure en utilisant la construction
de valeurs date-heure. Pour cela, il faut taper les données date-heure entre deux
signes (#). De nombreux formats sont pris en charge, tout comme dans Visual Basic.
Remarque : les valeurs date-heure ne peuvent pas occuper plusieurs lignes.

Exemples
#8/6/1976 1:20 am#
#August 6, 1976#
#6 Aug 1976 13:20:19#
#6 Aug 1976 1:30:15 pm#
#8/6/1976#
#10:10am#

428 Crystal Reports Guide de l’utilisateur


scr8.book Page 429 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Même si #10:20 am# semble être du type Heure et #8/6/1976# semble être du type
Date, ce n'est pas le cas. Ces expressions sont toutes deux au format DateHeure,
comme c'est le cas pour toutes les valeurs date-heure. Vous pourriez, par exemple,
penser que l'expression #10:20 am# est une valeur DateHeure dont la partie date
est nulle. Pour la convertir en type Heure, utilisez CTime (#10:20 am#).
Au lieu d'utiliser les valeurs date-heure, vous pouvez utiliser la fonction
CDateTime pour convertir une donnée de type Chaîne en type DateHeure. Par
exemple,
CDateTime ("8/6/1976 1:20 am")
CDateTime ("10:20 am")
Il y a cependant une différence fondamentale entre l'utilisation de valeurs date-
heure et l'utilisation faite ci-dessus de la fonction CDateTime. Les valeurs date-
heure utilisent toujours les formats de date anglo-américains et non les paramètres
régionaux de l'ordinateur particulier sur lequel s'exécute Crystal Reports. Ainsi,
les exemples de valeurs date-heure précédents devraient fonctionner sur tous les
ordinateurs. D'un autre côté, sur un système français, vous pourriez utiliser des
constructions comme :
CDateTime ("22 août 1997") 'Identique à #Aug 22, 1997#
Des valeurs de type Date peuvent être construites à l'aide de CDate et des valeurs
de type Heure à l'aide CTime :
CDate ("Aug 6, 1969")
CDate (1969, 8, 6) 'Spécifie l'année, le mois, le jour
'Convertit l'argument DateHeure en date
CDate (#Aug 6, 1969#)
CTime ("10:30 am")
CTime (10, 30, 0) 'Spécifie l'heure, les minutes, les 'secondes
CTime (#10:30 am#)

Types de données de plages


Les plages sont conçues pour prendre en compte un intervalle de valeurs. Les types
Plage sont disponibles pour tous les types simples à l'exception du type Booléen.
C'est-à-dire : Plage numérique, Plage monétaire, Plage de chaînes, Plage de dates,
Plage horaire et Plage de DateHeure. Vous pouvez générer des plages en utilisant
les mots-clés To, _To, To_, _To_, Is >, Is >=, Is < et Is <=. En général, To est utilisé
pour les plages limitées aux deux extrémités, et Is est utilisé pour les plages ouvertes
d'un côté et fermées de l'autre (limitées à une seule extrémité). Le caractère de
soulignement est utilisé pour indiquer si la limite est incluse ou non dans la plage.

Exemples de valeurs d'une plage numérique


Plage des nombres compris entre 2 et 5, en incluant ces deux nombres :
2 To 5

Crystal Reports Guide de l’utilisateur 429


scr8.book Page 430 Monday, April 2, 2001 12:29 PM

Types de données de plages

Plage des nombres compris entre 2 et 5, en excluant 2 et en incluant 5 :


2 _To 5
Tous les nombres inférieurs ou égaux à 5 :
Is <= 5
Tous les nombres inférieurs à 5 :
Is < 5

Exemples de valeurs plage DateHeure :


#Jan 5, 1999# To #Dec 12, 2000#
Is >= #Jan 1, 2000#

Utilisation de plages dans les formules


Il existe vingt-sept fonctions dans Crystal Reports pour spécifier des plages de dates.
Par exemple, la fonction LastFullMonth spécifie une plage de valeurs de dates qui
comprend toutes les dates allant du premier au dernier jour du mois précédent. Ainsi,
si la date d'aujourd'hui est le 15 septembre 1999, LastFullMonth donne le même
résultat que la plage de dates CDate (#Aug 1, 1999#) To CDate (#Aug 31, 1999#).
Les plages sont souvent utilisées avec des expressions If ou Select. L'exemple suivant
concerne le calcul de la notation des étudiants au moyen de lettres en fonction de la
note chiffrée obtenue au test. Les notes supérieures ou égales à 90 obtiennent “A”,
les notes comprises entre 80 et 90, sans inclure 90 obtiennent “B” et ainsi de suite.
Rem Calcul des lettres de notation
Select Case {Student.Test Scores}
Case Is >= 90
formula = "A"
Case 80 To_ 90
formula = "B"
Case 70 To_ 80
formula = "C"
Case 60 To_ 70
formula = "D"
Case Else
formula = "F"
End Select
L'exemple ci-dessus utilise l'instruction Select, qui est examinée plus en détail dans
“Structures de contrôle” à la page 450. Vous pouvez vérifier si une valeur est
comprise dans une plage à l'aide de l'opérateur In. Par exemple :
formula = 10 In 2 To 5 'Vrai
formula = 5 In 2 To_ 5 'Faux
formula = 5 In 2 To 5 'Vrai
Les fonctions Maximum et Minimum peuvent être utilisées pour trouver les
limites d'une plage :
formula = Maximum (2 To 10) 'Renvoie 10

430 Crystal Reports Guide de l’utilisateur


scr8.book Page 431 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Types de données tableau


Dans Crystal Reports, les tableaux sont des listes ordonnées de valeurs qui sont
toutes du même type. Ces valeurs portent le nom d'éléments de tableau. Les
éléments d'un tableau peuvent être de type simple ou de type plage. La fonction
Array permet de créer un tableau.

Exemples
Tableau de 3 valeurs numériques. Le premier élément est 10, le deuxième est 5 et
le troisième est 20.
Array (10, 5, 20)
Tableau de 7 valeurs de chaîne :
Array ("Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam")
Un tableau de 2 valeurs de type DateTime Range (notez le caractère de
continuation de ligne utilisé pour améliorer la lisibilité) :
Array (#Jan 1, 1998# To #Jan 31, 1998#, _
#Feb 1, 1999# To #Feb 28, 1999#)
Vous pouvez extraire des éléments individuels d'un tableau en utilisant des
parenthèses contenant l'indice de l'élément souhaité. Cela s'appelle indicer le
tableau :
Array (10, 5, 20) (2) 'Est égal à 5
Remarque : les tableaux dans la syntaxe Basic sont indexés à partir de 1 (ce qui
signifie que le premier élément a le numéro d'index 1). Dans Visual Basic, les
tableaux sont par contre indexés à partir de 0 par défaut. Les tableaux peuvent
toutefois être indexés à partir de 1 dans Visual Basic en utilisant l'instruction
Option Base.
Les plages numériques peuvent aussi être utilisées pour indicer les tableaux. Le
résultat est un autre tableau. Par exemple :
Array (10, 5, 20) (2 To 3) 'Est égal à Array (5, 20)
Les tableaux sont le plus utiles lorsqu'ils sont utilisés avec des variables. Les
variables vous permettent de modifier les éléments individuels d'un tableau et de
le redimensionner pour qu'il comprenne plus d'éléments. Cette possibilité permet
d'étendre considérablement les possibilités du langage de formules pour effectuer
des calculs complexes.
Vous pouvez, par exemple, cumuler des valeurs de champs de base de données dans
une variable globale tableau dans une formule de niveau détail, puis utiliser une
formule dans un pied de groupe pour effectuer un calcul fondé sur ces valeurs. Ceci
vous permet de réaliser une vaste gamme d'opérations de synthèse personnalisées.

Crystal Reports Guide de l’utilisateur 431


scr8.book Page 432 Monday, April 2, 2001 12:29 PM

Variables

Variables
Cette section décrit les composants clés des variables et vous montre comment
créer des variables et leur affecter des valeurs.

Généralités sur les variables


Une variable représente un élément de données spécifique, ou valeur, et joue le
rôle de place réservée pour cette valeur. Lorsqu'une variable est rencontrée dans
une formule, la valeur de cette variable est recherchée puis utilisée dans la formule.
Contrairement à une valeur constante qui est fixe et invariable, différentes valeurs
peuvent être affectées de manière répétée à une variable. Vous affectez une valeur
à une variable, qui la conserve jusqu'à ce vous lui en affectiez une nouvelle. En
raison de cette souplesse, vous devez déclarer les variables avant de les utiliser
pour que Crystal Reports en ait connaissance et comprenne de quelle manière vous
entendez les utiliser.

Exemple de variable
Si vous vouliez créer un état sur les clients par indicatif téléphonique, vous
pourriez créer une variable qui extrait cette information de numéro de télécopie du
client. L'exemple ci-dessous utilise une variable nommée Codezone:
Dim codezone As String
codezone = Left ({Clients.Télécopie}, 3)
Rem ceci pourrait aussi être utilisé : Codezone = {Clients.Télécopie} (1 To
3)
La première ligne de l'exemple est la déclaration de variable ; un nom et un type
sont affectés à la variable. La champ de base de données {Clients.Télécopie} est un
champ de type chaîne et la fonction Left extrait les 3 premiers caractères de sa
valeur courante. Cette valeur est ensuite affectée à la variable Codezone.

Déclaration de variable à l'aide de Dim


Avant d'utiliser une variable dans une formule, vous devez la déclarer. Une
variable peut contenir des valeurs d'un type donné. Les types autorisés sont les
sept types simples (Numérique, Monétaire, Chaîne, Booléen, Date, Heure et
DateHeure), les six types de plages (plage numérique, plage monétaire, plage de
chaînes, plage de dates, plage horaire et plage DateHeure) et les variables
contenant des tableaux formés avec les types déjà mentionnés. En tout, une
variable peut donc avoir 26 différents types. Lorsque vous déclarez une variable,
vous spécifiez aussi son nom. Une variable ne peut pas avoir le même nom qu'une
fonction, un opérateur ou un autre mot-clé valable de la syntaxe Basic. Par
exemple, votre variable ne peut pas être nommée Sin, Mod ou If car Sin est une
fonction intégrée, Mod est un opérateur intégré et If est un mot-clé intégré.

432 Crystal Reports Guide de l’utilisateur


scr8.book Page 433 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Lors de la saisie de formules dans l'éditeur, les noms des fonctions intégrées, des
opérateurs et autres mots-clés apparaissent dans des couleurs différentes. Ceci
permet de remarquer facilement si le nom de variable présente un conflit.
Une fois déclarée, une variable peut être utilisée dans la formule. Vous pouvez, par
exemple, souhaiter lui affecter une valeur initiale :
Dim x As Number 'Déclare x en tant que variable numérique
x = 10 'Affecte à x la valeur 10

Les valeurs contenues dans les variables ne peuvent être que d'un
seul type
Les valeurs contenues dans une variable ne peuvent être que d'un seul type. Si, par
exemple, une variable contient une valeur numérique, vous ne pouvez pas
l'utiliser plus tard pour contenir une chaîne.

Exemple
Dim y As String
y = "bonjour"
'OK- La fonction Len attend un argument de type chaîne
formula = Len (y)
'Erreur- y peut uniquement contenir des valeurs de chaîne
y = #Jan 5, 1993#
'Erreur- y peut uniquement contenir des valeurs de chaîne
y = Array ("a", "bb", "ccc")
'Erreur- la fonction Sin attend un argument numérique
formula = Sin (y)
Vous pouvez déclarer plus d'une variable par ligne en séparant leurs déclarations
par des virgules :
Dim x As Number, y as String, z as DateTime Range
x = 10 : y = "bonjour"
z = #Jan 1, 1999# To #Jan 31, 1999#

Déclaration de variables sans spécification immédiate du type


De manière générale, le type d'une variable ne nécessite pas d'être explicitement
spécifié lors de sa déclaration. Dans ce cas, le type de la variable est déterminé par
sa première assignation. Ceci est similaire à la variable spéciale formula. Ceci
diffère de Visual Basic, pour lequel une variable qui ne s'est pas vue assignée un
type lors de sa déclaration prend le type Variant. Toutefois, dans la pratique, cela
signifie que les formules peuvent être écrites dans un style similaire à celui qui
serait utilisé si une variable de type Variant de Visual Basic était utilisée.

Crystal Reports Guide de l’utilisateur 433


scr8.book Page 434 Monday, April 2, 2001 12:29 PM

Variables

Dim p 'Le type de p n'est pas encore connu


p = "au revoir" 'p est maintenant défini comme étant de type String
Dim q 'Le type de q n'est pas encore connu
q = Array ("bonjour", p) 'q est un tableau d'éléments de type chaîne
'Erreur- p est une variable de type chaîne et ne peut pas contenir de nombre
p = 25
Dim r
'r est une variable numérique et contient la valeur 5
r = (10 + 5) / 3
'Les types de a et c ne sont pas encore connus
Dim a, b As Boolean, c
b = False
'a est maintenant défini comme étant de type Booléen
'et sa valeur est False
a = b
'c est maintenant défini comme étant de type numérique et sa valeur est 17
c = 2 + 3 * 5

Exemples de déclarations et d'initialisations de variables de type Plage

Dim niveauA, trimestre


'Le type de niveauA est défini comme étant une plage numérique
niveauA = 90 To 100
'Le type de trimestre est défini comme étant une plage Date
trimestre = CDate (1999, 10, 1) To CDate (1999, 12, 31)

Etendue de variable
Les portées de variables servent à définir dans quelle mesure les variables d'une
formule sont utilisables par les autres formules. Il y a trois niveaux de portée dans
Crystal Reports : local, global et partagé. Chaque variable a une portée et celle-ci
est spécifiée lors de la déclaration de la variable.

Variables locales (Local)


Les variables à portée locale, appelées aussi variables locales sont déclarées à l'aide
des mots-clés Dim ou Local. Par exemple, les déclarations de la précédente section
qui utilisaient Dim étaient des déclarations de variables locales. Autre exemple :
Local x As Number 'est équivalent à Dim x As Number
Les variables locales sont limitées à une seule formule et à une seule évaluation de
cette formule. Ceci signifie que vous ne pouvez pas accéder à la valeur d'une
variable locale d'une formule à partir d'une autre formule.

434 Crystal Reports Guide de l’utilisateur


scr8.book Page 435 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Exemple
Rem Formula A
Local x as Number
x = 10
formula = x
Rem Formula B
EvaluateAfter ({@Formule A})
Local x as Number
formula = x + 1
L'appel de fonction EvaluateAfter ({@Formula A}) garantit que la formule B sera
évaluée après la formule A. La formule A renvoie une valeur de 10 et la formule B
renvoie une valeur de 1. La formule B ne peut pas accéder à la variable x de la
formule A et ne peut donc pas utiliser la valeur 10 et lui ajouter 1. Au lieu de cela,
elle utilise la valeur par défaut, qui est égale à 0, de la variable locale x non
initialisée trouvée dans la formule B, et lui ajoute 1, ce qui donne 1.
Vous pouvez aussi créer des variables locales ayant le même nom mais de types
différents dans différentes formules. Par exemple, les déclarations de type dans les
formules A et B n'entrent pas en conflit avec :
Rem Formula C
Local x as String
x= "bonjour"
formula = x
Les variables locales sont les plus efficaces des trois portées. En outre, elles
n'interfèrent pas les unes avec les autres dans différentes formules. C'est pourquoi
il est préférable que les variables soient déclarées comme locales chaque fois que
possible.

Variables globales
Les variables globales utilisent le même bloc de mémoire pour stocker une valeur
pour l'ensemble de l'état principal. Cette valeur est alors utilisable par toutes les
formules qui déclarent la variable, à l'exception de celles situées dans les sous-
états. Vous déclarez une variable globale comme dans l'exemple suivant :
Global y As String
Etant donné que les variables globales partagent leurs valeurs sur l'ensemble de
l'état principal, vous ne pouvez pas déclarer une variable globale dans une formule
avec un type puis déclarer une variable globale portant le même nom dans une
formule différente avec un type différent.

Crystal Reports Guide de l’utilisateur 435


scr8.book Page 436 Monday, April 2, 2001 12:29 PM

Variables

Exemple
Rem Formula A
Global z As Date
z = CDate (1999, 9, 18)
formula = 10
Rem Formula B
Global z As Number
formula = True
Dans ce cas, si vous entrez et enregistrez la formule A en premier, Crystal Reports
émettra un message d'erreur lorsque vous vérifierez ou essaierez d'enregistrer la
formule B. Ceci est dû au fait que la déclaration de la variable globale z en tant que
valeur numérique entre en conflit avec sa précédente déclaration dans la formule
A en tant que date.

Utilisation des variables globales


Les variables globales sont souvent utilisées pour effectuer des calculs complexes
lorsque le résultat d'une formule dépend du groupement et de la disposition de
page du véritable état imprimé. Ceci est obtenu en créant plusieurs formules, en
les plaçant dans différentes sections de l'état et en faisant interagir les différentes
formules par le biais de variables globales.
Voici un exemple des effets pouvant être produits :
Rem Formula C
Global x as Number
x = 10
formula = x
Rem Formula D
'Appelle la fonction WhileReadingRecords
WhileReadingRecords (lors de la lecture des enregistrements)
Global x as Number
x = x + 1
formula = x
Si la formule C est placée dans l'en-tête d'état et que la formule D est placée dans
une section détails, la formule C sera évaluée avant la formule D. La formule C sera
évaluée une fois puis la formule D sera évaluée pour chaque enregistrement
apparaissant dans la section détails. La formule C renvoie 10. Pour le premier
enregistrement de détail, la formule D renvoie 11. Ceci est dû au fait que la valeur
10 de x est conservée depuis le moment où elle a été définie par la formule C. La
formule D ajoute alors 1 à cette valeur, en donnant à x la valeur 11 puis renvoie 11.
Pour le deuxième enregistrement de détail, la formule D renvoie 12, en ajoutant 1
à la valeur de x précédemment conservée qui était 11. Ce processus continue pour
les enregistrements de détail restants.
L'appel de la fonction WhileReadingRecords demande à Crystal Reports de
réévaluer la formule D au fur et à mesure qu'elle est lue dans chaque
enregistrement de l'état. Sinon, étant donné que la formule ne contient aucun

436 Crystal Reports Guide de l’utilisateur


scr8.book Page 437 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

champ de base de données, le programme l'évalue automatiquement une fois pour


toutes avant de lire les enregistrements de la base de données. La formule renverra
alors toujours la valeur 11 et non pas 11, 12, 13, ... au fur et à mesure du traitement
des enregistrements successifs.
Si l'expression x = x + 1 est remplacée par x = x + {Détails des
commandes.Quantité}, vous créez l'effet d'un total cumulé fondé sur {Détails des
commandes.Quantité}, bien qu'il commence à 10 et non à 0 à cause de la formule C.
Dans ce cas, vous pouvez omettre d'appeler WhileReadingRecords, ceci se faisant
automatiquement puisque la formule contient un champ de base de données.

Variables partagées
Les variables partagées utilisent le même bloc de mémoire pour stocker la valeur
d'une variable dans l'ensemble de l'état principal et de ses sous-états. Ainsi, les
variables partagées sont encore plus générales que les variables globales. Pour
utiliser une variable partagée, déclarez-la dans une formule de l'état principal
comme dans l'exemple suivant :
Shared x As Number
x = 1000
et déclarez-la dans une formule d'un sous-état comme dans l'exemple suivant :
Shared x as Number
Pour qu'elles puissent être utilisées, il faut déclarer les variables partagées et leur
affecter une valeur avant qu'elles puissent être communiquées entre l'état principal
et le sous-rapport.

Déclaration de variables de tableau


Il existe différentes manières de déclarer des variables de tableau. La première
manière consiste à utiliser des parenthèses vides et déclarer explicitement le type
du tableau.
'Déclarer x comme variable globale
'de type tableau numérique
Global x () As Number
'Initialiser x
x = Array (10, 20, 30)
'Déclarer y comme variable partagée
'de type tableau plage chaîne
Shared y () As String Range
'Initialiser y
y = Array ("A" To "C", "H" To "J")

Crystal Reports Guide de l’utilisateur 437


scr8.book Page 438 Monday, April 2, 2001 12:29 PM

Variables

La seconde manière consiste à déclarer la variable sans spécifier qu'il s'agit d'un
tableau et sans donner son type, et attendre la première assignation de la variable
pour spécifier complètement son type :
'Déclarer y comme variable locale
'mais sans spécifier son type
Dim y
'y est maintenant de type tableau chaîne
y = Array ("Lun", "Mar", "Mer", "Jeu", "Ven", _
"Sam", "Dim")
La troisième manière consiste à déclarer la variable en tant que tableau sans
complètement spécifier son type jusqu'à la première assignation. En prenant
compte de la déclaration de y ci-dessus :
'Déclarer z comme variable locale et tableau
Local z()
'La valeur de z devient Array ("Mar", "Mer") et est de type tableau chaîne
z = y(2 to 3)
La quatrième manière consiste à spécifier complètement la taille du tableau durant
la déclaration. Si vous utilisez cette technique, le tableau est automatiquement créé
et les valeurs par défaut sont utilisées pour remplir le tableau. Par exemple, pour
un tableau de valeurs numériques, chaque élément est initialisé à 0 et pour un
tableau de chaînes, chaque élément est initialisé comme chaîne vide "". Puisque ce
type de déclaration crée le tableau, vous devez spécifier son type avec la clause As
pour que Crystal Reports puisse déterminer la taille d'espace de stockage à
réserver au tableau.
Dim a(2) As String
'Affecte une valeur au premier élément du tableau a
a(1) = "au "
a(2) = "revoir"
'L'opérateur & peut être utilisé pour concaténer les chaînes
'la formule renvoie la chaîne "bonjour"
formula = a(1) & a(2)

Tableaux et boucles For/Next


Les tableaux sont couramment utilisés avec des boucles For/Next. L'exemple
suivant crée puis utilise le tableau Array (10, 20, 30, ..., 100) à l'aide d'une
boucle For/Next. Reportez-vous à la section “Boucles For/Next” à la page 454
pour avoir plus de détails.
Dim b (10) As Number
Dim i
For i = 1 To 10
b(i) = 10 * i
Next i
formula = b(2) 'La formule renvoie le nombre 20
Plusieurs variables peuvent être créées dans une instruction unique, en séparant
leur déclaration par des virgules.

438 Crystal Reports Guide de l’utilisateur


scr8.book Page 439 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Utilisation de variables de tableau


Vous pouvez affecter des valeurs aux éléments d'un tableau et également les
utiliser pour d'autres calculs.
Global x() As String
x = Array ("bonjour", "au revoir", "encore")
'x est maintenant le tableau ("bonjour", "une fois", "encore")
x (2) = "une fois"
'L'instruction ci-dessous provoquerait une erreur si elle
'n'était pas mise en commentaire car la dimension du tableau est 3
'x (4) = "zap"
'La formule renvoie la chaîne "BONJOUR"
formula = UCase (x (1))
Les mots-clés Redim et Redim Preserve peuvent être utilisés pour redimensionner
un tableau si vous voulez lui ajouter des données supplémentaires. Redim efface
d'abord le contenu précédent du tableau avant de le redimensionner tandis que
Redim Preserve conserve ce contenu.
Dim x () As Number
Redim x (2) 'x est maintenant Array (0, 0)
x (2) = 20 'x est maintenant Array (0, 20)
Redim x (3) 'x est maintenant Array (0, 0, 0)
x (3) = 30 'x est maintenant Array (0, 0, 30)
Redim Preserve x (4) 'x est maintenant Array (0, 0, 30, 0)
formula = "terminé"

Valeurs par défaut pour les types simples


Une variable non initialisée contient la valeur par défaut de son type. En général,
ce n'est pas une bonne habitude de programmation que de s'appuyer sur les
valeurs par défaut des types. Par exemple, initialisez toutes les variables locales de
votre formule, initialisez toutes les variables globales d'une formule placée dans
l'en-tête de l'état et initialisez toutes les variables partagées d'une formule placée
dans l'en-tête de l'état principal.
Lorsqu'un tableau est redimensionné à l'aide du mot-clé Redim, les entrées sont
remplies avec la valeur par défaut du type.

Valeurs par défaut

Numérique
0

Monétaire
CCur (0)

Crystal Reports Guide de l’utilisateur 439


scr8.book Page 440 Monday, April 2, 2001 12:29 PM

Variables

Chaîne
"" 'Chaîne vide

Date
CDate (0, 0, 0) 'La valeur null du type Date

Heure
Valeur d'heure nulle. Valeur contenue dans une variable Heure non initialisée.

DateHeure
Valeur DateHeure nulle. Valeur contenue dans une variable DateHeure non initialisée.
Remarque : il n'est pas recommandé que vos formules reposent sur les valeurs de
variables Plage ou Tableau non initialisées.

Conversion de type automatique


Généralement, dans Crystal Reports, les valeurs d'un type ne peuvent pas être
utilisées là où les valeurs d'un autre type sont attendues sans fournir explicitement
une fonction de conversion de type. Par exemple :
Dim codepostal as String
'Erreur- une valeur de type numérique est assignée à une variable de type
chaîne
codepostal = 10025
'OK - Utilise la fonction de conversion de type CStr
'pour créer "10025"
codepostal = CStr (10025, 0)
Cependant, quelques conversions sont effectuées automatiquement :
 Numérique à Monétaire
 Date à DateHeure
 Type simple à valeur de Plage du même type simple sous-jacent
Par exemple, les affectations suivantes sont correctes :
Dim prix As Currency
'Equivalent à : prix = CCur (10)
prix = 10
Dim datecommande As DateTime
'Equivalent à : datecommande = CDateTime (1999, 9, 23, 0, 0, 0)
datecommande = CDate (1999, 9, 23)
Dim plage As Number Range
'Equivalent à : plage = 20 To 20
plage = 20
Dim intervalleplage () As Number Range
'Equivalent à :
'intervalleplage = Array (10 To 10, 20 To 25, 2 To 2)
intervalleplage = (10, 20 To 25, 2)

440 Crystal Reports Guide de l’utilisateur


scr8.book Page 441 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Remarque : les conversions dans le sens opposé ne sont pas autorisées. Par exemple :
Dim num As Number
num = 5 + CCur (10) 'Erreur
'OK- convertir en type Numérique à l'aide de la fonction 'CDbl
num = CDbl (5 + CCur (10))
5 est converti en CCur (5) et ajouté à CCur (10) pour donner CCur (15). Cependant,
cette valeur monétaire ne peut pas être affectée automatiquement à la variable
numérique num puisque les transformations de Monétaire à Numérique ne sont
pas permises. De même, un argument numérique peut être affecté à des fonctions
acceptant un argument monétaire, et l'argument Numérique sera transformé en
argument Monétaire alors qu'il n'est pas possible d'affecter un argument
Monétaire aux fonctions acceptant un argument numérique sans d'abord convertir
le Monétaire en Numérique à l'aide de la fonction CDbl.

Fonctions
Lorsque vous utilisez une fonction dans une formule, tapez le nom de la fonction
et fournissez les arguments requis. Par exemple, la fonction Len requiert un
argument de type chaîne et calcule la longueur de la chaîne.
Dim x As String
x= "bonjour"
formula = Len (x) 'La formule renvoie la valeur 5
Si les arguments requis par la fonction sont fournis dans un type incorrect, une
erreur se produit. Par exemple, un appel à la fonction Len (3) produirait une erreur
puisque Len n'accepte pas d'argument numérique. Les fonctions peuvent
quelquefois accepter des nombres ou des types d'arguments différents. Par
exemple, CDate pourrait accepter un argument composé d'une chaîne unique pour
former une valeur de type Date ou composé de 3 valeurs numériques
correspondant respectivement à l'année, au mois et au jour pour former également
une valeur de type Date. Voir “Date, Heure et DateHeure” à la page 428.

Exemple avec la fonction Mid


Dim x as String
x= "bonjour"
'Commencer à la position 2, aller à la fin de la chaîne
formula = Mid (x, 2) 'formula a maintenant pour valeur "onjour"
'Commencer à la position 2, extraire 1 caractère
formula = Mid (x, 2, 1) 'formula a maintenant pour valeur "o"
Ces classes de fonctions sont : Mathématiques, Résumé, Financières, Chaîne,
Date/Heure, Plage de dates, Tableau, Conversion de type, Raccourcis de
programmation, Moment d'évaluation, Etat de l'impression, Propriétés de
document et Fonctions supplémentaires. Il existe aussi certaines fonctions
spécifiques à la mise en forme des formules.
Truc : La description des fonctions prises en charge par Crystal Reports peut être
consultée dans l'aide en ligne.

Crystal Reports Guide de l’utilisateur 441


scr8.book Page 442 Monday, April 2, 2001 12:29 PM

Fonctions

Fonctions similaires à celles de Visual Basic du même nom


Les fonctions Mathématiques, Financières, Chaînes, Date/Heure, Conversions de
type et Raccourcis de programmation sont en majorité composées de fonctions
familières aux utilisateurs de Visual Basic. La plupart des fonctions sont prévues
pour fonctionner de la même manière que les fonctions Visual Basic du même nom.
Remarque :
 Certaines fonctions possèdent plus de formes différentes que celles
disponibles dans Visual Basic.
La fonction CDate prend par exemple en charge la forme Visual Basic permettant
de créer une valeur de type Date depuis une valeur de type chaîne, comme pour
CDate ("Sept 18, 1999") mais prend aussi en charge une forme permettant de créer
une valeur de type Date en fournissant l'année, le mois et le jour en tant
qu'arguments de type numérique comme dans CDate (1999, 9, 18). Les
différentes formes des fonctions sont indiquées dans l'arborescence des fonctions.
 Certaines fonctions prises en charge par la syntaxe Basic ne sont pas répertoriées
dans l'arborescence des fonctions de la syntaxe Basic. C'est parce qu'elles sont
équivalentes aux fonctions de la syntaxe Basic déjà présentes dans l'arborescence.
Par exemple, la fonction Len est la fonction traditionnelle de la syntaxe Basic et
de Visual Basic pour trouver la longueur d'une chaîne. Toutefois, la fonction
Length est listée dans l'arborescence des Fonctions, et fonctionne de manière
identique à la fonction Len. Length est la fonction habituelle en syntaxe Crystal
et est inclue pour faciliter le travail des utilisateurs effectuant la migration des
formules de la syntaxe Crystal vers la syntaxe Basic.

Fonctions récapitulatives
Le groupe Fonctions de résumé fournit des fonctions permettant la création de
champs de résumé tels que :
Sum({Commandes.Montant commande}, {Commandes.Expédition par})
Les champs de résumé sont normalement créés à l'aide des dialogues Insérer un
résumé ou Insérer un total général. Ils s'affichent ensuite dans l'arborescence des
Champs disponibles, et peuvent être utilisés dans une formule en cliquant deux
fois sur leur nom. Toutefois, ils n'ont pas besoin d'être créés de cette façon. Vous
pouvez créer un champ de résumé destiné à être utilisé exclusivement par votre
formule en saisissant les arguments de l'une des fonctions figurant dans la section
Fonctions de résumé. Cependant, les groupes de l'état auxquels les champs de
résumé font référence doivent déjà exister dans l'état.
Truc : La description des fonctions de résumé prises en charge par Crystal Reports
peut être consultée dans l'aide en ligne.

442 Crystal Reports Guide de l’utilisateur


scr8.book Page 443 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Plages de dates
Pour plus d'information, voir “Types de données de plages” à la page 429.
Les plages de dates produites par ces fonctions dépendent de la date actuelle. Par
exemple, si nous sommes aujourd'hui le 19 septembre 1999, LastFullMonth a la
valeur de plage de dates suivante :
CDate(#Aug 1, 1999#) To CDate(#Aug 31, 1999#)
Cette fonctionnalité est souvent utile, mais que se passe-t-il si vous voulez
déterminer une plage reposant sur un champ de base de données tel que
{Commandes.Date de la commande} ? Il est possible d'utiliser à la place les
fonctions Date/Heure.

Exemple
Dim d As Date
d = CDate ({Commandes.Date de la commande})
Dim dr As Date Range
dr = DateSerial (Year(d), Month(d) - 1, 1) To _
DateSerial (Year(d), Month(d), 1 - 1)
'A ce point, dr est la valeur de Plage de dates contenant
'le dernier mois complet précédent {Commandes.Date de la commande}
La fonction DateSerial facilite le travail car vous n'avez pas à vous soucier des cas
particuliers. Elle ne vous permet pas de créer une date non valable. Par exemple,
DateSerial (1999, 1 - 1, 1) donne le 1er décembre 1998 dans l'exemple ci-dessus,
{Commandes.Date de la commande} est en fait un champ DateHeure et de ce fait, la
fonction CDate est utilisée pour la convertir en date en tronquant la partie horaire.

Fonctions de tableau
Les fonctions de tableau calculent des résumés des éléments d'un tableau. Par
exemple, la fonction Sum appliquée à un tableau renvoie la somme des éléments
du tableau.

Exemple
La formule suivante renvoie 100 :
formula = Sum (Array (10, 20, 30, 40))

Fonctions du moment d'évaluation


Les fonctions suivantes sont propres aux états : BeforeReadingRecords,
WhileReadingRecords, WhilePrintingRecords et EvaluateAfter. Vous pouvez
utiliser ces fonctions pour indiquer à Crystal Reports à quel moment vos formules
doivent être évaluées.

Crystal Reports Guide de l’utilisateur 443


scr8.book Page 444 Monday, April 2, 2001 12:29 PM

Fonctions

Est-ce que la formule doit être évaluée avant la récupération des enregistrements
dans la base de données, pendant leur lecture mais avant qu'ils soient groupés, triés
et résumés, ou pendant l'impression de l'état, lorsque les enregistrements sont
groupés, triés et résumés ? En général, Crystal Reports définit un moment
d'évaluation approprié pour votre formule, en fonction des informations requises
par la formule. Par exemple, si une formule utilise un champ de base de données,
elle ne peut pas être évaluée avant que les enregistrements soient lus dans la base de
données. Cependant, vous aurez souvent besoin de définir un moment d'évaluation
plus tardif que le moment normal pour obtenir l'effet désiré. Reportez-vous à la
section “Utilisation des variables globales” à la page 436 pour voir un exemple.
En temps normal, la valeur renvoyée par une fonction est utilisée plus loin dans
une formule. Toutefois, les fonctions de moment d'évaluation sont appelées pour
changer le comportement interne de Crystal Reports et la valeur qu'elles renvoient
n'est pas utilisée. Elles peuvent être appelées en plaçant leur nom dans une
instruction séparée, le mot-clé Call pouvant être optionnellement placé avant.
WhilePrintingRecords (lors de l'impression des enregistrements).
Call WhilePrintingRecords

Fonctions état de l'impression


Ce sont aussi des fonctions spécifiques à la création d'états. Par exemple, la notation
{Commandes.Date de la commande} fait référence à la valeur du champ de
l'enregistrement en cours alors que Previous ({Commandes.Date de la commande})
fait référence à la valeur de l'enregistrement précédent. NextValue
({Commandes.Date de la commande}) se rapporte à celle de l'enregistrement suivant.
IsNull ({Commandes.Date de la commande}) vérifie si la valeur du champ est nulle.
D'autres exemples sont PageNumber et TotalPageCount. Elles permettent
d'accéder aux données de pagination d'un état.

Fonctions de propriétés des documents


Il s'agit de fonctions spécifiques à la création d'états qui font référence au
document de l'état dans son ensemble. Par exemple, PrintDate et ReportTitle.

Autres fonctions
Il s'agit des fonctions qui se trouvent dans les bibliothèques de fonctions utilisateur
(UFL, User Function Libraries - bibliothèques de fonctions utilisateurs). Une UFL est
une bibliothèque séparée de liaisons dynamiques (DLL, Dynamic Link Library) ou
Automation server que vous pouvez créer et que Crystal Reports peut utiliser pour
ajouter vos propres fonctions personnalisées au langage de formules. Une UFL est plus
complexe à écrire qu'une formule utilisant la syntaxe Basic ou la syntaxe Crystal.
Reportez-vous à l'aide du développeur de Crystal Reports pour obtenir plus de détails.

444 Crystal Reports Guide de l’utilisateur


scr8.book Page 445 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Remarque : vos états utilisant des UFL seront moins transférables car vous devrez
distribuer vos UFL avec vos états.

Fonctions de mise en forme conditionnelle


Lors de l'écriture d'une formule de mise en forme conditionnelle, il est possible
d'utiliser les fonctions complémentaires apparaissant au sommet de l'arborescence
des fonctions.

Exemple
Par exemple, si vous vouliez mettre en forme le champ {Clients.Ventes de l'année
précédente} de sorte que les ventes de plus de 100,000$ soient imprimées en vert,
que celles de moins de 15,000$ soient imprimées en rouge et que tout le reste soit
imprimé en noir.
Rem Mise en forme conditionnelle - Exemple n°1
If {Clients.Ventes de l'année précédente} > 100000 Then
formula = crGreen
ElseIf {Clients.Ventes de l'année précédente} < 15000 Then
formula = crRed
Else
formula = crBlack
End If
Etant donné qu'il s'agit d'une fonction de mise en forme de couleur de police, la
liste des constantes de couleurs s'affiche dans l'arborescence des fonctions.
L'exemple précédent en utilise trois : crGreen, crRed et crBlack. Au lieu de cela,
vous pourriez avoir utilisé les valeurs numériques réelles des constantes de
couleur. Par exemple, crRed est 255 et crGreen est 32768. Cependant, la formule est
plus compréhensible si vous utilisez les constantes de couleur. Toutes les fonctions
de constantes en syntaxe Basic portent le préfixe "cr".
Remarque : certains attributs de mise en forme n'utilisent pas les fonctions
constantes. Par exemple, si vous ne vouliez pas imprimer les valeurs de
{Clients.Ventes de l'année précédente} pour les ventes d'un montant inférieur à
50.000$, vous pourriez écrire la formule de mise en forme suivante pour l'attribut
de suppression :
Rem Mise en forme conditionnelle - Exemple n°2
If {Clients.Ventes de l'année précédente} < 50000 Then
formula = True 'supprimer la valeur
Else
formula = False 'ne pas supprimer la valeur
End If
Ou plus simplement :
Rem Mise en forme conditionnelle - Exemple n°3
Rem équivalent à l'exemple n°2
formula = {Clients.Ventes de l'année précédente} < 50000

Crystal Reports Guide de l’utilisateur 445


scr8.book Page 446 Monday, April 2, 2001 12:29 PM

Fonctions

Si le montant des ventes de l'année dernière est inférieur à 50.000$, l'expression


{Clients.Ventes de l'année précédente} < 50000
est vraie, et la formule renvoie la valeur True. D'un autre côté, si le montant des
ventes de l'année dernière est supérieur ou égal à 50.000$, l'expression
{Clients.Ventes de l'année précédente} < 50000
est fausse et la formule renvoie la valeur False.

Fonctions générales de mise en forme conditionnelle


Il existe trois fonctions générales de mise en forme conditionnelle :
 CurrentFieldValue
 DefaultAttribute
 GridRowColumnValue.
Ces fonctions sont affichées en haut de l'arborescence des fonctions lorsque le
contexte s'y prête. DefaultAttribute est disponible pour toutes les formules de mise
en forme. CurrentFieldValue est disponible pour toutes les formules de mise en
forme utilisées pour le formatage de valeurs de champs. GridRowColumnValue
permet la mise en forme d'une formule pour le formatage d'une valeur de champ
dans une table croisée ou une grille OLAP.
CurrentFieldValue permet d'appliquer un format conditionnel aux cellules de tables
croisées ou de grilles OLAP en fonction de leur valeur. GridRowColumnValue
permet d'appliquer un format conditionnel aux cellules de tables croisées ou de
grilles OLAP en fonction des valeurs des en-têtes de lignes ou de colonnes. Ces deux
fonctions sont primordiales dans cette situation car il n'y a pas d'autre moyen dans
le langage de formule de faire référence aux valeurs de ces champs.
Truc : La description des fonctions de mise en forme conditionnelle prises en
charge par Crystal Reports peut être consultée dans l'aide en ligne.

Exemple
Ce serait le cas si vous vouliez, par exemple, supprimer les cellules d'une table
croisée contenant une valeur inférieure à 50,000 :
Rem Mise en forme conditionnelle - Exemple n°4
formula = CurrentFieldValue < 50000

446 Crystal Reports Guide de l’utilisateur


scr8.book Page 447 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Opérateurs
Opérateurs arithmétiques
Les opérateurs arithmétiques sont l'addition (+), la soustraction (-), la multiplication
(*), la division (/), la division entière (\), l'opération Modulo (Mod), la négation (-)
et l'exponentielle (^). Les opérateurs arithmétiques sont utilisés pour combiner des
nombres, des variables numériques, des champs et des fonctions numériques pour
obtenir un autre nombre.

Exemples
'Pourcentage d'actions privilégiées extraordinaires par rapport
'aux actions ordinaires
formula = ({Comptabilité.Actions privilégiées} / _
{Comptabilité.Actions ordinaires}) * 100
'La racine carrée de 9, Sqr(9) est 3
'La formule renvoie la valeur 17
formula = 7 + 2 * 3 - 2 + Sqr(6 + 3) * Len("up")
Truc : La description des opérateurs arithmétiques pris en charge par Crystal
Reports peut être consultée dans l'aide en ligne.

Ordre de priorité
Lorsque vous créez des expressions arithmétiques qui mettent en jeu plusieurs
opérateurs, l'ordre dans lequel le programme évalue les différents éléments de
l'expression devient important.
Le programme évalue en général les expressions dans l'ordre suivant :
 de gauche à droite
 suivant les règles de base de priorité utilisées en mathématiques.

Exemple
Les multiplications et les divisions sont effectuées d'abord de gauche à droite. Vient
ensuite le tour des additions et soustractions. Par exemple, 5 + 10 * 3 = 5 + 30 = 35.
Vous pouvez changer cet ordre de priorité en utilisant des parenthèses. Par
exemple, (5 + 10) * 3 = 15 * 3 = 45. Si vous n'êtes pas sûr de l'ordre de priorité, il est
bon de clarifier vos intentions à l'aide de parenthèses.

Crystal Reports Guide de l’utilisateur 447


scr8.book Page 448 Monday, April 2, 2001 12:29 PM

Opérateurs

Les opérateurs arithmétiques dans Crystal Reports possèdent le même ordre de


priorité que leurs équivalents dans Visual Basic. Liste des opérateurs
arithmétiques, dans l'ordre de priorité décroissante :
 Exponentielle (^)
 Négation (-)
 Multiplication et division (*, /)
 Division entière (\)
 Modulo (Mod)
 Addition et soustraction (+, -).

Opérateurs de comparaison
Les opérateurs de comparaison sont: égal à (=), différent de (<>), inférieur à (<),
inférieur ou égal à (<=), supérieur à (>) et supérieur ou égal à (>=).
Les opérateurs de comparaison sont habituellement utilisés pour comparer des
opérandes à une condition dans une structure de contrôle telle qu'une expression
If. Les opérateurs de comparaison en tant que groupe ont tous une priorité
inférieure aux opérateurs arithmétiques. Ainsi, des expressions comme 2 + 3 < 2 *
9 sont l'équivalent d'expressions telles que (2 + 3) < (2*9).

Opérateurs booléens
Les opérateurs Booléens sont, par ordre de priorité décroissante: Not, And, Or,
Xor, Eqv et Imp. Les opérateurs Booléens sont habituellement utilisés avec les
opérateurs de comparaison pour créer des conditions pour les structures de
contrôle. Les opérateurs Booléens en tant que groupe ont une priorité plus faible
que les opérateurs de comparaison. Ainsi par exemple, l'expression 2<3 And 4>=-
1 est équivalente à l'expression (2<3) And (4>=-1).

Champs Null et utilisation de IsNull


Le champ {Produits.Couleur} contient des couleurs de base comme “ rouge ” et
“ noir ” et des couleurs fantaisie dont le nom est en deux mots comme “ satin
acier ” et “ vert émeraude ”. Supposons que vous vouliez écrire une formule qui
écrive “ de base ” pour les couleurs de base et “ fantaisie ” pour les autres.
If InStr({Produits.Couleur}, " ") = 0 Then
formula = "de base"
Else
formula = "fantaisie"
End If

448 Crystal Reports Guide de l’utilisateur


scr8.book Page 449 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

L'appel de la fonction InStr recherche un espace dans la chaîne {Produits.Couleur}.


La fonction renvoie la position de l'espace en cas de réussite, ou 0 dans le cas
contraire. Etant donné que les couleurs de base sont formés d'un seul mot et ne
contiennent donc pas d'espace, InStr renverra 0 pour celles-ci.

Gestion des valeurs nulles


Pour certains produits, tels que l'antivol de bicyclette Guardian, aucune couleur
n'a été enregistrée de sorte que le champ {Produits.Couleur} a une valeur nulle
dans la base de données pour cet enregistrement. En général, lorsque Crystal
Reports rencontre un champ de valeur nulle dans une formule, il arrête
immédiatement l'évaluation de la formule et ne produit pas de valeur. C'est
pourquoi aucun mot n'est imprimé devant “ antivol de bicyclette Guardian ”. Si
vous voulez manipuler des valeurs nulles dans votre formule, vous devez le faire
de façon explicite en utilisant l'une des fonctions spéciales conçues pour cela :
IsNull, PreviousIsNull ou NextIsNull. Voici comment mettre au point l'exemple ci-
dessus à l'aide de IsNull :
If IsNull({Produits.Couleur}) Or _
InStr({Produits.Couleur}, " ") = 0 Then
formula = "de base"
Else
formula = "fantaisie"
End If
Pour ce qui est des opérateurs, lorsque Crystal Reports évalue la condition :
If IsNull({Produits.Couleur}) Or _
InStr({Produits.Couleur}, " ") = 0
L'évaluation de IsNull ({Produits.Couleur}) se fait en premier; si le résultat est
déterminé comme étant vrai (True), il est certain qu'il en est de même pour
l'ensemble de la condition, et il n'est donc pas nécessaire de vérifier si :
InStr({Produits.Couleur}, " ") = 0
En d'autres termes, Crystal Reports arrête d'évaluer une expression booléenne
quand il peut déduire le résultat de la totalité de l'expression. Dans l'exemple
suivant, la formule surveille les tentatives de division par zéro dans le cas où le
dénominateur serait égal à 0 :
Dim num As Number, denom As Number
...
If denom <> 0 And num / denom > 5 Then
...
Remarque : Visual Basic ne prend pas en charge cette technique, puisque toutes
les parties des expressions booléennes dans Visual Basic sont évaluées, même
lorsque cela n'est pas nécessaire.

Crystal Reports Guide de l’utilisateur 449


scr8.book Page 450 Monday, April 2, 2001 12:29 PM

Structures de contrôle

Structures de contrôle
Les formules sans structures de contrôle exécutent chaque instruction qu'elles
contiennent une seule fois. La formule est alors évaluée. Les expressions sont
exécutées de manière séquentielle, de la première à la dernière expression de la
formule. Les structures de contrôle vous permettent de faire varier cette séquence
rigide. Selon la structure de contrôle que vous choisissez, vous pouvez sauter
certaines expressions ou en évaluer d'autres de manière répétée en fonction de
l'existence de certaines conditions. Les structures de contrôle constituent le moyen
principal pour exprimer une logique d'entreprise, et des formules d'états
habituelles en font un usage extensif.
La syntaxe Basic prend en charge de nombreuses structures de contrôle principales
de Visual Basic en utilisant la même syntaxe. L'un des avantages du langage Basic
est la facilité de lecture de sa notation pour les structures de contrôle. Ceci simplifie
l'écriture et le débogage de formules complexes.

Instructions If
L'expression If est l'une des structures de contrôle les plus utiles. Elle permet
d'évaluer une séquence d'instructions si une condition est vraie, et d'évaluer une
séquence d'instructions différente dans le cas contraire.
Remarque : Lorsque vous procédez à une mise en forme à l'aide de formules
conditionnelles, incluez systématiquement le mot-clé Else. Lles valeurs ne
remplissant pas la condition If risquent sinon de perdre leur format initial. Pour
éviter cela, utilisez la fonction DefaultAttribute (formule If...Else =
DefaultAttribute).

Exemple
Une société envisage de payer une prime de 4% à ses employés, à l'exception de
ceux travaillant au service des ventes qui recevront une prime de 6%. Ceci sera
effectué par la formule suivante à l'aide d'une expression If :
Rem Exemple de If multi-ligne 1
If {Employé.Service} = "Ventes" Then
formula = {Employés.Salaire} * 0,06
Else
formula = {Employés.Salaire} * 0,04
End If
Dans cet exemple, si la condition {Employés.Poste occupé} = "Ventes" est
évaluée comme vraie,
formula = {Employés.Salaire} * 0,06
est traitée. Sinon, l'expression qui suit la clause Else, c'est-à-dire
formula = {Employés.Salaire} * 0,04
est traitée.

450 Crystal Reports Guide de l’utilisateur


scr8.book Page 451 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Supposons qu'une autre société veuille donner à ses employés une prime de 4%,
dont le minimum sera au moins de 1.000$. L'exemple suivant montre comment
faire. Remarquez que la clause Else n'est pas incluse ; elle est facultative et n'est pas
nécessaire dans ce cas.
Rem Exemple de If multi-ligne 2
formula = {Employés.Salaire} * 0,04
If formula < 1000 Then
formula = 1000
End If
Supposons maintenant que la société précédente veuille aussi que la prime soit au
maximum égale à 5.000$. Vous avez maintenant besoin d'utiliser une clause ElseIf.
Remarquez que ElseIf est en un seul mot. L'exemple suivant comporte seulement
une clause ElseIf, mais vous pouvez en ajouter autant qu'il en faut.
Remarque : il ne peut y avoir qu'une seule clause Else par instruction If.
La clause Else est exécutée si aucune des expressions If ou ElseIf n'est vraie.
Rem Exemple de If multi-ligne 3
formula = {Employés.Salaire} * 0,04
If formula < 1000 Then
formula = 1000
ElseIf formula > 5000 Then
formula = 5000
End If

Exemple
Supposons qu'une société souhaite calculer une estimation du montant de l'impôt
qu'un employé aura à payer, et écrire un message en conséquence. Un revenu
inférieur à 8.000$ n'est pas imposable, un revenu compris entre 8.000$ et 20.000$
est imposé à 20%, un revenu compris entre 20.000$ et 35.000$ est imposé à 29% et
un revenu supérieur à 35.000$ est imposé à 40%.
Rem Exemple de If multi-ligne 4
Dim impôt As Currency, revenu As Currency
revenu = {Employés.Salaire}
Dim message As String
If revenu < 8000 Then
impôt = 0
message = "non imposable"
ElseIf revenu >= 8000 And revenu < 20000 Then
message = "Tranche imposable la plus faible"
impôt = (revenu - 8000)*0,20
ElseIf revenu >= 8000 And revenu < 20000 Then
message = "Tranche imosable moyenne"
impôt = (20000 - 8000)*0,20 + (revenu - 20000)*0,29
Else
message = "Tranche imposable la plus élevée"
impôt = (20000 - 8000)*0,20 + (35000 - 20000)*0,29 + _
(revenu - 35000)*0,40
End If

Crystal Reports Guide de l’utilisateur 451


scr8.book Page 452 Monday, April 2, 2001 12:29 PM

Structures de contrôle

Dim impôtStr As String


Rem utilisez 2 décimales
Rem et utilisez le point en tant que séparateur des milliers
impôtsStr = CStr (impôt, 2, ",")
formula = "Vous êtes dans la fourchette d'impôts
" & message " & _ " & _
"Votre impôt estimé est de " & impotStr & "."
les variables servent à simplifier la logique de calcul. Deux expressions sont
exécutées quand l'une des conditions est remplie; l'une affecte une valeur à la
variable impôt et l'autre affecte une valeur à la variable message. Il est souvent utile
que plusieurs expressions soient exécutées en tant que résultat d'une condition.

Instructions If sur une seule ligne et sur plusieurs lignes


Il existe deux types d'instructions If, l'instruction If sur une seule ligne et
l'instruction If multi-lignes. L'utilisation d'une nouvelle ligne après le premier Then
fait de l'instruction If une instruction If multi-lignes. Dans le cas contraire,
l'instruction If est sur une seule ligne. L'instruction If multi-lignes comprend une
instruction End If, mais ce n'est pas le cas pour l'instruction sur une ligne simple.
Remarque : grâce aux caractères de continuation de ligne, les instructions If sur une
seule ligne ne nécessitent en fait pas d'être écrits sur une seule ligne. Il est en général
préférable d'utiliser des instructions If multi-lignes, car elles sont plus lisibles.
Toutefois, dans des cas simples, l'instruction If sur une seule ligne peut être utilisée.
Rem Exemple 1 de If sur une seule ligne
Rem Résultat identique au If multi-lignes de l'exemple 1
If {Employés.Poste occupé} = "Ventes" Then
formula = {Employés.Salaire} * 0,06 _
Else _
formula = {Employés.Salaire} * 0,04
Voici un exemple affichant les diverses formes d'instructions If sur une seule ligne
à syntaxe correcte:
Rem Exemple 2 de If sur une seule ligne
Dim per As Number, extra As Boolean
per = 2 : extra = False
'Un exemple sans clause Else
If {Employee.Dept} = "Ventes" Then per = 10
'Plus d'une instruction dans la partie Then ou Else peut
'être inclue en les séparant par deux points
If {Employee.Dept} = "R&D" Then _
per = 5 : extra = True _
Else _
per = 3

452 Crystal Reports Guide de l’utilisateur


scr8.book Page 453 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Instructions Select
L'instruction Select est similaire à une commande If. Quelquefois, cependant, vous
pourrez écrire des formules plus claires et moins répétitives à l'aide de l'expression
Select. Par exemple, pour évaluer le champ {Clients.Télécopie} afin de déterminer
si l'indicatif correspond à l'état de Washington (206, 360, 509) ou de la Colombie
britannique au Canada (604, 250) :
Rem Exemple select 1
Select Case Left ({Clients.Télécopie}, 3)
Case "604", "250"
formula = "CB"
Case "206", "509", "360"
formula = "WA"
End Select
L'expression se trouvant juste après le mot-clé Select Case est appelée la Condition
Select. Dans l'exemple ci-dessus, il s'agit de Left ({Clients.Télécopie}[1 To 3]).
L'instruction Select recherche le premier cas (Case) qui correspond à la condition
Select, puis exécute les instructions qui suivent jusqu'au cas (Case) suivant.
'Même effet que l'exemple 1 de Select
Dim codezone As String
codezone = Left ({Clients.Télécopie}, 3)
If codezone In Array ("604", "250") Then
formula = "CB"
ElseIf Codezone In Array ("206", "509", "360") Then
formula = "WA"
End If

Exemple
Cette formule regroupe le nombre de nominations aux Oscars reçues par un film
dans l'une des catégories faible, moyen, élevé ou très élevé et montre dans le
processus certaines des possibilités pour les listes d'expressions qui suivent les
étiquettes Case: remarquez la clause Case Else, qui est optionnelle. Si aucune des
listes d'expressions Case ne correspond aux clauses Case précédentes, alors la
clause Case Else est choisie. Dans l'exemple suivant, si {movie.NOM} est égal à 11,
la formule renvoie “élevée”.
Rem Exemple select 2
Select Case {movie.NOM}
Case 1,2,3, Is < 1
Rem Il est possible d'avoir des instructions multiples
Rem dans les blocs d'instructions
formula = "basse"
Case 4 To 6, 7, 8, 9
formula = "moyenne"
Case 10
formula = "haute"
Case Else
formula = "élevée"
End Select

Crystal Reports Guide de l’utilisateur 453


scr8.book Page 454 Monday, April 2, 2001 12:29 PM

Structures de contrôle

Boucles For/Next
Les boucles For/Next vous permettent d'évaluer une suite d'expressions un
certain nombre de fois. Le fonctionnement n'est donc pas le même que pour les
expressions If et Select que le programme rencontrera une fois pendant
l'évaluation de la formule. Les boucles For/Next sont préférables lorsque vous
connaissez à l'avance combien de fois l'expression doit être évaluée.

Syntaxe d'une boucle For au moyen d'exemples

Exemple 1
Supposons que vous vouliez inverser la chaîne {Clients.Nom du client}. Par
exemple, “Cyclistes urbains” devient “sniabru setsilcyC”.
Rem Inversion de chaîne - version 1
formula = ""
Dim strLen
strLen = Len ({Clients.Nom du client})
Dim i
For i = 1 To strLen
Dim Poscar
Poscar = strLen - i + 1
formula = formula & _
Mid({Customer.Customer Name}, Poscar, 1)
Next i
Examinez comment fonctionne cette formule en supposant que la valeur actuelle
du champ {Clients.Nom du client} soit “Air pur”. La longueur de “Air pur”, à
savoir 7, est affectée à la variable strLen. A ce moment précis, son type de variable
est le type numérique. La variable i est une variable de comptage de boucle For car sa
valeur change à chaque itération de la boucle For. En d'autres termes, elle est
utilisée pour compter les itérations de la boucle. La boucle For sera répétée 7 fois.
La première fois, i est égal à 1, puis i est égal à 2, puis i est égal à 3 et ainsi de suite,
jusqu'à ce que i = 7. Durant la première itération, le septième caractère de
{Clients.Nom du client} est ajouté à la variable spéciale vide formula. La valeur de
la formule est donc “r” après la première itération. Durant la seconde itération, le
sixième caractère de {Clients.Nom du client} est ajouté à la formule et la formule
est égale à “ru”. Ceci continue jusqu'à la septième itération, pour laquelle formula
est égale à “rup riA” qui correspond à la chaîne inversée.

454 Crystal Reports Guide de l’utilisateur


scr8.book Page 455 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Exemple 2
Voici une version plus simple de la formule ci-dessus qui utilise une clause Step
avec un pas négatif (step) égal à -1. Pour l'exemple “Air pur”, i est égal à 7 pour la
première itération, à 6 pour la deuxième, à 5 pour la troisième et ainsi de suite
jusqu'à la valeur finale de i qui est 1 après la dernière itération.
Rem Inversion de chaîne - version 2
formula = ""
Dim i
For i = Len ({Clients.Nom du client}) To 1 Step -1
formula = formula + _
Mid({Clients.Nom du client}, i, 1)
Next i

Exemple 3
La version la plus simple consiste à utiliser la fonction intégrée StrReverse :
Rem Inversion de chaîne - version 3
formula = StrReverse ({Clients.Nom du client})
Les fonctions de chaîne intégrées dans Crystal Reports 8 peuvent gérer de
nombreuses applications de traitement de chaîne qui sont habituellement gérées
au moyen de boucles For/Next ou d'autres types de boucles. Cependant, les
boucles For/Next offrent plus de souplesse et une meilleure efficacité pour le
traitement des chaînes et des tableaux. Elles s'avèrent essentielles lorsque les
fonctions intégrées ne couvrent pas l'application souhaitée.

Exemple de boucle For/Next


Voici un exemple plus détaillé des capacités de traitement de chaîne de Crystal
Reports. Le mode de cryptage César est un code simple qui est traditionnellement
attribué à Jules César. Dans ce code, chaque lettre d'un mot est remplacée par la
lettre qui est située 5 caractères plus loin dans l'alphabet. Par exemple, “Rive”
devient “Wnaj”. Remarquez que le “v” a été remplacé par “a”. Puisqu'il n'y a pas
5 caractères après le “v” dans l'alphabet, on recommence depuis le début.

Crystal Reports Guide de l’utilisateur 455


scr8.book Page 456 Monday, April 2, 2001 12:29 PM

Structures de contrôle

Voici une formule qui applique le mode de cryptage de César au champ


{Clients.Nom du client} de la base de données Xtreme.mdb.
Rem Mode de cryptage de César
Dim chaîneentrée 'chaîne d'entrée à crypter
chaîneentrée = {Clients.Nom du client}
Dim déplacement
déplacement = 5
formula = ""
Dim i
For i = 1 To Len(chaîneentrée)
Dim cEntrée, cSortie
cEntrée = Mid(chaîneentrée, i, 1)
Dim car, carmaj
car = LCase(cEntrée) In "a" To "z"
carmaj = car And (UCase (cEntrée) = cEntrée)
cEntrée = LCase(cEntrée)
If Car Then
Dim décalage
décalage = (Asc(cEntrée) + déplacement - Asc("a")) Mod _
(Asc("z") - Asc("a") + 1)
cSortie = Chr(décalage + Asc("a"))
If Carmaj Then cSortie = UpperCase(cSortie)
Else
cSortie = cEntrée
End If
formula = formula & cSortie
Next i
Dans l'exemple ci-dessus, une expression If multi-lignes est imbriquée dans le bloc
d'expressions de la boucle For/Next. Cette expression If est chargée des détails
précis relatifs au décalage d'un seul caractère. Par exemple, les lettres sont traitées
différemment de la ponctuation et des espaces. En particulier, la ponctuation et les
caractères ne sont pas codés. Les structures de contrôle peuvent être imbriquées
dans d'autres structures de contrôle. Par ailleurs, il est possible d'inclure plusieurs
instructions dans le bloc d'instructions d'une structure de contrôle.

Utilisation de l'instruction Exit For


Vous pouvez sortir d'une boucle For à l'aide de la clause Exit For. Dans l'exemple
suivant, le nom "Fred" est recherché dans le tableau global de noms. Si le nom est
trouvé, l'indice du nom est renvoyé dans le tableau. Sinon, c'est la valeur -1 qui est
renvoyée. Par exemple, si le tableau de noms est
Array ("Frank", "Helen", "Fred", "Linda")
La formule renvoie la valeur 3.

456 Crystal Reports Guide de l’utilisateur


scr8.book Page 457 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Global names () As String


'Le tableau noms a été initialisé et rempli
'dans d'autres formules
Dim i
formula = -1
'La fonction UBound renvoie la taille de son
'argument de type Array
For i = 1 to UBound (noms)
If noms (i) = "Fred" Then
formula = i
Exit For
End If
Next i

Boucles Do
La boucle Do constitue un autre mécanisme de boucle. Une boucle Do peut être
utilisée pour exécuter un bloc défini d'instructions un nombre de fois indéterminé.

Les 4 différents types de boucle Do

Type de boucle Do Explication Exemple


Boucle Do While ... La boucle Do While ... évalue la condition, Do While condition
et si la condition est vraie, les instructions instructions
suivant la condition sont évaluées. boucle
Une fois ceci effectué, la condition est
réévaluée, et si la condition est vraie, les
instructions sont réévaluées.

Le processus se répète jusqu'à ce que la


condition soit fausse.
Boucle Do Until ... La boucle Do Until... est similaire à la Do Until condition
boucle Do While ... mis à part que les instructions
instructions sont évaluées jusqu'à (until) boucle
ce que la condition soit vraie, plutôt que
tant (while) qu'elle est vraie.
Boucle Do ... While La boucle Do ... While évalue les Do
instructions une seule fois. instructions
Loop While condition
La condition est ensuite évaluée et, si
celle-ci est vraie, l'expression est de
nouveau évaluée. Ce processus se
poursuit jusqu'à ce que la condition soit
fausse.
Boucle Do ... Until Similaire à la boucle Do ... While, les Do
instructions étant dans ce cas évaluées instructions
jusqu'à ce que la condition soit vérifiée. Loop Until condition

Crystal Reports Guide de l’utilisateur 457


scr8.book Page 458 Monday, April 2, 2001 12:29 PM

Structures de contrôle

Remarque : les boucles Do prennent en charge une instruction Exit Do pour sortir
immédiatement d'une boucle. L'instruction Exit Do est similaire à Exit For pour
les boucles For/Next.

Do While ... Exemple de formule de boucle


Dans l'exemple suivant, la première occurrence d'un chiffre est recherchée dans
une chaîne d'entrée. Si le chiffre est trouvé, sa position est renvoyée, sinon c'est la
valeur -1 qui est renvoyée. Dans ce cas, la chaîne d'entrée est définie explicitement
comme une constante chaîne. Si vous le souhaitez, vous pouvez également la
définir comme égale à un champ de base de données de type chaîne.
Par exemple, pour la chaîne d'entrée, “Les 7 nains”, la formule renvoie 5, qui est la
position du chiffre 7.
Dim chaîneentrée
chaîneentrée = "Les 7 nains"
Dim i, strLen
i = 1
strLen = Len (chaîneentrée)
formula = -1
Do While i <= strLen And formula = -1
Dim c As String
c = Mid (chaîneentrée, i, 1)
If IsNumeric (c) Then formula = i
i = i + 1
boucle

Boucles While
La boucle While est similaire à la boucle Do While ... sauf qu'elle ne prend pas en
charge l'instruction Exit. Sa syntaxe est While Wend au lieu de la boucle Do While.
While condition
instructions
Wend

Mécanismes de sécurité pour les boucles


Il existe un mécanisme de sécurité pour éviter le blocage du traitement d'un état à
cause d'une boucle infinie. Pour chaque évaluation de formule, le nombre
maximum d'évaluations de condition de boucle est de 30.000. Par exemple :
Dim i
i = 1
Do While i <= 100000
If i > {movie.STARS} Then Exit Do
i = i + 1
boucle
formula = 20

458 Crystal Reports Guide de l’utilisateur


scr8.book Page 459 Monday, April 2, 2001 12:29 PM

23 : Création de formules avec la syntaxe Basic

Si {movie.STARS} est supérieur à 30.000, la condition de boucle (i <= 100000) sera


évaluée un plus grand nombre de fois que le maximum autorisé et un message
d'erreur s'affichera. Sinon la boucle est OK.
Remarque : le mécanisme de sécurité s'applique au niveau de la formule, et non
pour chaque boucle individuelle. Par exemple :
Dim i
i = 1
For i = 1 To 10000
formula = Sin (i)
Next i
Do While i <= 25000
i = i + 1
boucle
La formule ci-dessus déclenche aussi le mécanisme de sécurité puisque le nombre
de 30.000 fait référence au nombre total d'évaluations de condition de boucle de la
formule et cette formule comportera 10001 + 25001 évaluations de ce type.

Restrictions
Pour information, voici les limites de dimensionnement du langage de formule :
 La longueur maximale d'une constante chaîne, d'une valeur de chaîne
contenue dans une variable chaîne, d'une valeur de chaîne renvoyée par une
fonction ou un élément chaîne d'un tableau de chaînes est de 254 octets.
 La taille maximale d'un tableau est de 1.000 éléments.
 Le nombre maximal d'arguments d'une fonction est de 1.000 (ceci s'applique
aux fonctions, telles que Choose, qui peuvent avoir un nombre infini
d'arguments).
 La longueur maximale du texte d'une formule est de 64Ko.
 Le nombre maximum d'évaluations de condition de boucle par évaluation de
formule est de 30.000. (Reportez-vous aux mécanismes de sécurité des boucles
pour plus de précisions).
 Les fonctions date-heure dont le modèle provient de Visual Basic acceptent des
dates comprises entre l'année 100 et l'année 9999. Les fonctions traditionnelles
de Crystal Reports acceptent les dates comprises entre l'année 1 et l'année
9999.

Crystal Reports Guide de l’utilisateur 459


scr8.book Page 460 Monday, April 2, 2001 12:29 PM

Restrictions

460 Crystal Reports Guide de l’utilisateur


scr8.book Page 461 Monday, April 2, 2001 12:29 PM

Création de formules avec la syntaxe


Crystal 24

Ce chapitre vous donne une vue d'ensemble des différentes


parties d'une formule. Vous apprendrez la syntaxe Crystal
et les techniques utilisables pour la création d'une formule.

Crystal Reports Guide de l’utilisateur 461


scr8.book Page 462 Monday, April 2, 2001 12:29 PM

Vue d'ensemble de la syntaxe Crystal

Vue d'ensemble de la syntaxe Crystal


Lors de la création de formules, vous pouvez utiliser la syntaxe Crystal ou la
syntaxe Basic. On appelle syntaxe l'ensemble des règles utilisées pour établir
correctement une formule. Presque toutes les formules écrites avec une syntaxe
peuvent l'être avec l'autre syntaxe. Les états peuvent contenir des formules
utilisant la syntaxe Basic ou la syntaxe Crystal. Pour plus d'informations sur
l'utilisation de l'une ou l'autre de ces syntaxes, reportez-vous à la section “Syntaxe
de formule” à la page 403.

Utilisation de l'aide en ligne


L'aide en ligne de Crystal Reports répertorie les fonctions, les opérateurs et les
structures de contrôle disponibles dans la syntaxe Crystal, et donne des
explications détaillées sur chacun de ces éléments.

Nouveautés de la syntaxe Crystal


De nombreuses fonctionnalités ont été ajoutées à la syntaxe Crystal de Crystal
Reports version 8.
Remarque : des versions équivalentes de ces fonctionnalités sont également
prises en charge par la syntaxe Basic.

Nouvelles structures de contrôle


La syntaxe Crystal prend en charge trois nouvelles structures de contrôle :
l'expression Select, la boucle While et la boucle For. Select est une bonne alternative
à l'expression If lorsque vous voulez utiliser le résultat d'une seule expression à
sélectionner parmi plusieurs possibilités. Les boucles While et For introduisent le
bouclage dans Crystal Reports. Le bouclage est utile lorsque vous voulez évaluer
plusieurs fois des expressions dans vos formules. Une application typique en est
faite pour extraire des informations dans des champs chaînes de base de données
pour effectuer une mise en forme personnalisée d'un état. Dans ce cas, vous
bouclez sur les caractères du champ chaîne de caractères.

Nouvelles fonctions inspirées de Visual Basic


Ces nouvelles fonctions sont destinées à fonctionner comme leurs homologues de
Visual Basic. Cependant, vous n'avez pas besoin d'apprendre Visual Basic ou la
syntaxe Basic pour les utiliser. Elles fournissent des fonctionnalités qui peuvent
être utiles dans de nombreuses formules établies dans la syntaxe Crystal.

462 Crystal Reports Guide de l’utilisateur


scr8.book Page 463 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

Fonctions mathématiques :
Fonctions mathématiques: Atn, Cos, Exp, Int, Log, Pi, Rnd, Sin, Sgn, Sqr, Tan

Fonctions financières :
DDB, FV, IPmt, IRR, MIRR, NPer, NPV, Pmt, PPmt, PV, Rate, SLN, SYD

Fonctions de raccourci de programmation :


Choose, IFF, Switch

Fonctions de conversion de type :


CBool, CCur, CDbl, CStr, CDate, CTime, CDateTime

Fonctions date et heure :


DateValue, TimeValue, DateTimeValue, IsDate, IsTime, IsDateTime, MonthName,
WeekdayName, DateAdd, DateDiff, DatePart, DateSerial, Timer, TimeSerial

Fonctions de tableaux et de chaînes :


Filter, Replace, Join, Split, UBound, InStrRev, StrReverse

Nouveaux opérateurs
Des opérateurs ont été ajoutés pour faciliter et assouplir l'écriture des expressions
dans la syntaxe Crystal.
Concaténation de chaînes dans le style de Visual Basic : &
Division entière : \
Exponentielle : ^
Opérateurs logiques : Eqv, Imp, Xor
Modulo : Mod
Chaînes date/heure : #Jan 3, 1999 10:20 am#

Capacités étendues pour le traitement des tableaux


La syntaxe Crystal prend désormais en charge les mots-clés Redim et Redim
Preserve qui vous permettent de redimensionner les tableaux de façon dynamique.
Elle prend également en charge la possibilité d'affecter des valeurs à un élément
individuel d'un tableau. De plus, la syntaxe Crystal utilise désormais des
algorithmes plus efficaces pour accélérer les opérations sur les tableaux.

Crystal Reports Guide de l’utilisateur 463


scr8.book Page 464 Monday, April 2, 2001 12:29 PM

Principes de base de la syntaxe Crystal

Un plus grand nombre de types de formules de sélection


d'enregistrements peuvent être refoulées vers le serveur
En particulier, le refoulement d'une sélection d'enregistrements qui utilise la
fonction IsNull et l'opérateur Or est désormais pris en charge. Les formules de
sélection suivantes, par exemple, peuvent être refoulées :
{Commandes.Order ID} < 1020 Or
{Commandes.Montant de commande} >= 1000
IsNull ({Clients.Région}) Or {Clients.Région} = "BC"
Le langage de formule effectue aussi désormais la simplification de la plupart des
expressions utilisant des constantes et des paramètres dans les formules au
moment de la compilation plutôt qu'au moment de l'évaluation des formules. Il en
résulte que des formules de sélection d'enregistrements telles que :
{champ date} > CurrentDate - 3
{champ date} In CDate ({?year parameter}, 6, 1) To
CDate ({?year parameter}, 9, 30)
peuvent être refoulées vers le serveur car les expressions en italique sont
remplacées par leurs valeurs lorsque la formule est compilée et la formule
résultante peut ensuite être convertie en requête SQL.

Le langage de formule prend en charge de nouvelles fonctionnalités


spécifiques à Crystal Reports
La mise en forme conditionnelle de la valeur d'une cellule dans une table croisée
ou dans une grille OLAP en fonction de valeurs de lignes ou de colonnes est prise
en charge par la nouvelle fonction GridRowColumnValue. Les nouveaux résumés
de pourcentages sont pris en charge dans le langage de formule par les fonctions
PercentOfSum, PercentOfAverage, PercentOfMaximum, PercentOfMinimum,
PercentOfCount et PercentOfDistinctCount. Vous pouvez désormais utiliser le
langage de formule pour mettre en forme de façon conditionnelle le type, le style
et la taille de la police d'un champ.

Principes de base de la syntaxe Crystal


Résultat d'une formule
Le résultat d'une formule, ou la valeur qui s'imprime lorsque la formule est placée
dans un état, est appelé la valeur renvoyée par la formule. Chaque formule de Crystal
Reports doit renvoyer une valeur. Par exemple, voici une formule simple utilisant
la syntaxe Crystal qui renvoie une valeur de 10 :
10
La valeur renvoyée par une formule peut appartenir à l'un des sept types de
données simples pris en charge : Numérique, Monétaire, Chaîne, Booléen, Date,
Heure et DateHeure.

464 Crystal Reports Guide de l’utilisateur


scr8.book Page 465 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

Remarque : Crystal Reports prend également en charge les types plage et tableau,
mais ces derniers ne peuvent pas être renvoyés par une formule.
Supposons, par exemple, qu'une société ait une politique de transport au titre de
laquelle les commandes supérieures à 1000$ sont couvertes par une assurance
tandis que celles inférieures à ce montant ne le sont pas :
//Formule qui renvoie une valeur de chaîne
If {Commandes.Montant de commande} >= 1000 Then
"Transport assuré"
Else
"Transport normal"
Truc : le texte qui suit les deux barres obliques est un commentaire destiné à la
personne qui lit la formule et est ignoré par le compilateur de syntaxe Crystal.
La formule renvoie la valeur de la chaîne de texte “Transport assuré” si la valeur
du champ de base de données {Commandes.Montant de commande} est
supérieure ou égale à 1000, et renvoie la valeur de la chaîne de texte “Transport
normal” dans le cas contraire.

La syntaxe Crystal ne fait pas de distinction entre les majuscules et


les minuscules.
Par exemple, le mot-clé Then pourrait être tapé indifféremment then ou THEN. Ceci
s'applique à tous les noms de variables, fonctions et mot-clés utilisés dans une
formule établie avec la syntaxe Crystal.
Remarque : seules les chaînes échappent à cette règle. La chaîne “Bonjour” est
différente de la chaîne “bonjour”.

Entraînement à l'aide de la base de données exemple Xtreme.mdb


La plupart des exemples cités dans ce chapitre se réfèrent à la base de données
modèle Xtreme. Celle-ci est comprise dans Crystal Reports.
Parcourez le répertoire Samples pour trouver le dossier Databases qui contient la
base de données Xtreme.mdb.

Commentaires
Les commentaires de formules sont des notes incluses dans une formule pour en
expliquer la conception et le fonctionnement. Les commentaires ne s'impriment
pas et n'ont aucune incidence sur la formule, mais ils s'affichent dans l'Editeur de
formules. Vous pouvez utiliser des commentaires pour expliquer le but d'une
formule ou les étapes qui ont été nécessaires pour l'établir.

Crystal Reports Guide de l’utilisateur 465


scr8.book Page 466 Monday, April 2, 2001 12:29 PM

Champs

Les commentaires commencent par deux barres obliques (//) suivies par le texte
du commentaire. Tout ce qui suit les barres obliques sur la même ligne est
considéré comme faisant partie du commentaire :
//Cette formule renvoie la chaîne "Bonjour"
//Voici un autre commentaire
"Bonjour" //Les commentaires peuvent être ajoutés à la fin d'une ligne
//Les commentaires peuvent être placés après le texte de la formule

Champs
Dans vos formules, vous pouvez faire référence à de nombreux champs utilisés
dans la création d'un état. Vous pouvez, par exemple, faire référence aux champs
Base de données, Paramètre, Total cumulé, Instruction SQL, Résumé et Nom de
groupe. Vous pouvez aussi faire référence à d'autres champs de formule dans
votre formule.
Le moyen le plus facile pour insérer un champ dans votre état consiste à cliquer
deux fois sur un nom de champ dans l'arborescence Champs de l'état. Ceci permet
d'être sûr que la syntaxe utilisée pour le champ est correcte.

Aspect des champs dans les formules


Le nom des champs de base de données, paramètre, de formule, Total cumulé et
Instruction SQL est inclus dans des accolades. Les noms de champ de base de
données sont pris dans la base de données. Par exemple :
 champ de base de données : {Employés.Nom}
Les noms des champs paramètre, de formule, Total cumulé et Instruction SQL sont
spécifiés au moment de leur création.
 les champs paramètre comprennent également un point d'interrogation : {?mon
champ paramètre}
 les champs de formule comprennent le signe @ : {@une autre formule}
 le champ Total cumulé comprend un signe # : {#mon Total cumulé}
 les champs Instruction SQL comprennent un signe % : {%mon Instruction
SQL}
les champs de résumé et Nom de groupe ressemblent à des appels de fonction.
Toutefois ils constituent de véritables notations abrégées pour un champ de l'état.
 champ de résumé d'une somme : Sum({Commandes.Montant de commande},
{Commandes.Expédition par})
 champ Nom de groupe : GroupName({Commandes.Expédition par})

466 Crystal Reports Guide de l’utilisateur


scr8.book Page 467 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

Exemples de formules qui utilisent des champs


La formule dans cet exemple utilise la base de données Xtreme. Pour connaître la
durée de la livraison d'un produit à partir de la date de commande, il suffit de
soustraire le champ de base de données Date d'expédition de base de données Date
de commande :
//formule utilisant des champs de base de données
{Commandes.Date d'expédition} - {Commandes.Date de la commande}
Pour trouver le montant total d'un produit commandé, multipliez son prix unitaire
par la quantité commandée :
{Détails des commandes.Prix unitaire} * {Détails des commandes.Quantité}
Pour calculer un prix de vente égal à 80% du prix unitaire d'origine :
{Détails des commandes.Prix unitaire} * 0,80

Expressions
Une expression correspond à toute combinaison de mot-clés, opérateurs, fonctions et
de valeurs constantes dont le résultat est une valeur d'un type donné. Par exemple :
//Expression dont le résultat est la valeur numérique 25
10 + 20 - 5
//Expression dont le résultat est une valeur de chaîne
//"Voici une chaîne."
"Voici une chaîne."
Une formule utilisant la syntaxe Crystal est composée d'une suite d'expressions. La
valeur de l'expression finale est la valeur renvoyée par la formule et ce qui a été
imprimé. Chaque expression doit être séparée de la précédente par un point-virgule (;).

Expressions multiples
Habituellement, chaque expression occupe une ligne, mais vous pouvez la
continuer sur la ligne suivante si vous avez besoin de plus de place.
La formule ci-dessous est composée de cinq expressions. Elle renvoie la valeur
numérique 25 car celle-ci correspond à la dernière expression de la formule.

Exemple
//Exemples d'expressions
//Première expression. Sa valeur correspond au Nombre
//valeur 30
10 + 20;
//Deuxième expression. Sa valeur correspond à la Chaîne
//"Bonjour le monde". Elle occupe deux lignes.
"Bonjour " +
"le monde";

Crystal Reports Guide de l’utilisateur 467


scr8.book Page 468 Monday, April 2, 2001 12:29 PM

Expressions

//Troisième expression. Sa valeur est de type numérique


{Détails des commandes.Quantité} * 2 - 5;
//Quatrième expression. Sa valeur est de type chaîne
If {Détails des commandes.Quantité} > 1 Then
"plusieurs unités"
Else
"une unité";
//Cinquième et dernière expression. Sa valeur est la
//valeur de nombre 25
20 + 5
Un point-virgule peut être placé après la dernière expression de la formule, mais
c'est facultatif. Par exemple, la formule précédente pourrait se terminer ainsi :
20 + 5;
Certaines formules présentées dans les exemples précédents ne comportent pas de
point-virgule. C'est parce qu'elles sont composées d'une seule expression et que le
point-virgule est facultatif après la dernière expression. Dans la syntaxe Crystal, de
nombreuses formules peuvent être écrites sous la forme d'une seule expression.
Remarquez qu'il n'y a pas de point-virgule après la chaîne “plusieurs unités”. En
fait, si vous placez un point-virgule à cet endroit, le programme signalera une
erreur. C'est parce qu'un point-virgule sépare les expressions, et que le groupe
Else
"une unité";
ne forme pas une expression séparée. Il ne peut pas exister sans le If. En fait, il fait
partie intégrante de l'expression If car il décrit la valeur qui sera renvoyée par celle-
ci dans certaines circonstances.
Remarque : l'exemple fourni manque d'intérêt pratique car les 4 premières
expressions de la formule n'ont aucun effet sur la dernière.

Incidence d'une expression donnée sur les expressions ultérieures


Le fait qu'une formule établie avec la syntaxe Crystal soit une suite d'expressions dont
le résultat est la valeur de l'expression finale est le concept le plus important pour la
compréhension de la syntaxe Crystal. Cette syntaxe reposant sur les expressions vous
permet d'écrire des formules très courtes comportant de nombreuses fonctionnalités.

Exemple
//Première expression. Elle déclare la variable numérique x
//puis renvoie la valeur d'une variable
//numérique non initialisée, qui est 0.
NumberVar x;
//Deuxième expression. Elle affecte à x la valeur 30,
//et renvoie 30.
x:=30

468 Crystal Reports Guide de l’utilisateur


scr8.book Page 469 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

La formule ci-dessus produirait une erreur si la première expression était omise.


En effet, la deuxième expression fait référence à la variable numérique x, et le
programme exige que la variable x soit déclarée pour pouvoir comprendre les
expressions dans lesquelles elle intervient.
En général, vous utilisez des variables pour que les expressions précédentes d'une
formule aient une incidence sur l'expression finale. Pour plus amples informations,
voir “Variables” à la page 476.

Utilisation de l'expression If
L'expression If est l'une des fonctionnalités les plus utilisées de la syntaxe Crystal.
Elle donne également une idée de la nature des expressions. Considérez la
première expression If comme une formule séparée. Remarquez que cette formule
est une expression unique qui, de ce fait, n'a pas besoin de point-virgule :
If {Détails des commandes.Quantité} > 1 Then
"plusieurs unités"
Else
"une unité"
Supposons que vous vouliez modifier cette formule pour qu'elle affiche soit
“plusieurs unités” soit le nombre 1.
//Formule erronée
If {Détails des commandes.Quantité} > 1 Then
"plusieurs unités"
Else
1
Cette formule produira une erreur. En effet, les valeurs de cette expression sont de
types différents. “plusieurs unités” est une valeur de chaîne et 1 est une valeur
numérique. Cependant, Crystal Reports exige que la valeur d'une expression soit
toujours d'un seul type.
Remarque : cet exemple peut être corrigé en utilisant la fonction CStr pour
convertir le nombre 1 en une valeur de chaîne. Par exemple, le nombre 1 est
converti en chaîne “1” par un appel à la fonction CStr (1, 0).
//Formule correcte
If {Détails des commandes.Quantité} > 1 Then
"plusieurs unités"
Else
CStr (1, 0) //Aucune décimale
Reportez-vous à “Structures de contrôle” à la page 492 pour avoir plus
d'informations sur l'expression If.

Crystal Reports Guide de l’utilisateur 469


scr8.book Page 470 Monday, April 2, 2001 12:29 PM

Affectation

Affectation
L'opérateur d'affectation est composé du caractère “deux points” suivi du signe
“égale” (:=).

Exemple
//Affectation de la valeur numérique 10 à la variable x
x := 10;
//Affectation de la valeur de chaîne "bonjour" à la
//variable nommée salutation
salutation := "bonjour";
L'opérateur d'égalité (=) est utilisé pour vérifier que deux valeurs sont égales. Une
erreur courante consiste à utiliser par erreur l'opérateur égalité alors qu'en réalité,
c'est l'opérateur affectation qui est attendu. Ceci peut donner lieu à un mystérieux
message d'erreur ou à aucun message d'erreur puisqu'il est souvent
syntaxiquement correct d'utiliser l'opérateur égalité. Par exemple :
salutation = "bonjour";
La formule ci-dessus vérifie si la valeur contenue dans la variable salutation est égale
à la valeur “bonjour”. Si c'est le cas, la valeur de l'expression est True (vraie), sinon, la
valeur est False (fausse). Dans tous les cas, c'est une expression parfaitement correcte
dans la syntaxe Crystal (en supposant que salutation soit une variable chaîne).

Types de données simples


Les types de données simples dans Crystal Reports sont Numérique, Monétaire,
Chaîne, Booléen, Date, Heure et DateHeure.

Numérique
Entrez les nombres sans signe de séparation des milliers et sans symbole monétaire
(vous souhaiterez généralement que les nombres soient mis en forme en tant que
résultat d'une formule mais pas dans la formule elle-même).

Exemple
10000
-20
1.23

Monétaire
Utilisez le signe dollar ($) pour créer une valeur Monétaire.

470 Crystal Reports Guide de l’utilisateur


scr8.book Page 471 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

Exemple
$10000
-$20
$1.23
Vous pouvez aussi utiliser la fonction CCur. Le premier C de CCur signifie
conversion et la fonction peut être utilisée pour convertir des valeurs numériques
en valeurs monétaires :
CCur (10000)
CCur (-20)
CCur (1,23)

Chaîne
Les chaînes sont utilisées pour contenir du texte. Le texte doit être placé entre des
guillemets doubles (") ou des apostrophes (') et ne peut pas être réparti sur
plusieurs lignes. Si vous voulez inclure des guillemets doubles dans une chaîne
délimitée par des guillemets doubles, utilisez deux guillemets doubles consécutifs.
De même, si vous voulez inclure une apostrophe dans une chaîne délimitée par des
apostrophes, utilisez deux apostrophes consécutives.

Exemple
"Voici une chaîne."
"123"
"Le mot ""bonjour"" est placé entre guillemets."
'Voici une autre chaîne.'
'123'
'Ventes de l'année dernière'
Si vous utilisez des guillemets doubles pour le côté gauche de la chaîne, vous
devez aussi les utiliser pour le côté droit. Il en va de même pour les apostrophes.
L'exemple suivant est incorrect :
'Chaîne non valable."
Vous pouvez extraire des éléments individuels ou sous-chaînes d'une chaîne en
précisant la position du caractère ou une plage de positions de caractères. Les
valeurs négatives sont permises ; elles indiquent que la position de départ est le
dernier caractère de la chaîne.
"bonjour" [2] //est égal à "o"
"bonjour" [-7] //est égal à "b"
"604-555-1234" [1 to 3] //est égal à "604"
"abcdef" [-3 to -1] //est égal à "def"
Vous pouvez aussi extraire des sous-chaînes d'une chaîne à l'aide des fonctions
Left, Right et Mid.

Crystal Reports Guide de l’utilisateur 471


scr8.book Page 472 Monday, April 2, 2001 12:29 PM

Types de données simples

Booléenne
Les valeurs Booléennes valables sont :
True (Vrai)
False (Faux)
Remarque : Yes (oui) peut être utilisé à la place de True et No (non) à la place de
False.

Date, Heure et DateHeure


Le type DateHeure peut contenir des données date-heure, ou seulement des dates
ou seulement des heures et est ainsi assez polyvalent. Le type Date ne prend en
compte que les dates et le type Heure ne prend en compte que les heures. Les types
Date et Heure sont plus efficaces que le type DateHeure, et peuvent ainsi être
utilisés dans des situations dans lesquelles les fonctionnalités et la souplesse
supplémentaires du type DateHeure ne sont pas nécessaires.
Vous pouvez créer directement des valeurs DateHeure en utilisant la création de
valeurs date-heure. Pour cela, il faut taper les données date-heure entre deux
signes (#). De nombreux formats différents sont pris en charge.
Remarque : les valeurs date-heure ne peuvent pas occuper plusieurs lignes.

Exemples
#8/6/1976 1:20 am#
#August 6, 1976#
#6 Aug 1976 13:20:19#
#6 Aug 1976 1:30:15 pm#
#8/6/1976#
#10:10am#
#10:20 am# semble être du type Heure et #8/6/1976# du type Date, mais ce n'est
pas le cas. Ces expressions sont toutes deux au format DateHeure, comme c'est le
cas pour toutes les valeurs date-heure. Vous pourriez, par exemple, penser que
l'expression #10:20 am# est une valeur DateHeure dont la partie date est nulle.
Pour la convertir en type Heure, utilisez CTime (#10:20 am#).
Au lieu d'utiliser les valeurs date-heure, vous pouvez utiliser la fonction
CDateTime pour convertir une donnée de type Chaîne en type DateHeure. Par
exemple,
CDateTime ("8/6/1976 1:20 am")
CDateTime ("10:20 am")
Il y a cependant une différence fondamentale entre l'utilisation de valeurs date-
heure et l'utilisation faite ci-dessus de la fonction CDateTime. Les valeurs date-
heure utilisent toujours les formats de date anglo-américains et non les paramètres
régionaux de l'ordinateur particulier sur lequel s'exécute Crystal Reports. Ainsi,
les exemples de valeurs date-heure précédents devraient fonctionner sur tous les

472 Crystal Reports Guide de l’utilisateur


scr8.book Page 473 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

ordinateurs. D'un autre côté, sur un système français, vous pourriez utiliser des
constructions comme :
CDateTime ("22 août 1997") //Identique à #Aug 22, 1997#
Des valeurs de type Date peuvent être construites à l'aide de CDate et des valeurs
de type Heure à l'aide CTime :
CDate ("Aug 6, 1969")
CDate (1969, 8, 6) //Spécifie l'année, le mois, le jour
//Convertit l'argument DateHeure en date
CDate (#Aug 6, 1969#)
CTime ("10:30 am")
CTime (10, 30, 0) //Spécifie l'heure, les minutes, les secondes
CTime (#10:30 am#)

Types de données plage


Les plages sont conçues pour prendre en compte un intervalle de valeurs. Les
types Plage sont disponibles pour tous les types simples à l'exception du type
Booléen. C'est-à-dire : Plage numérique, Plage monétaire, Plage de chaînes, Plage
de dates, Plage horaire et Plage de DateHeure. Vous pouvez créer des plages à
l'aide des mots-clés suivants : To, _To, To_, _To_, UpTo, UpTo_, UpFrom et
UpFrom_. En général, To est utilisé pour les plages limitées aux deux extrémités,
et UpTo et UpFrom sont utilisés pour les plages ouvertes d'un côté et fermées de
l'autre (limitées à une seule extrémité). Le caractère de soulignement est utilisé
pour indiquer si la limite est incluse ou non dans la plage.

Exemples de valeurs d'une plage numérique :


Plage des nombres compris entre 2 et 5, en incluant ces deux nombres :
2 To 5
Plage des nombres compris entre 2 et 5, en excluant 2 et en incluant 5 :
2 _To 5
Tous les nombres inférieurs ou égaux à 5 :
UpTo 5
Tous les nombres inférieurs à 5 :
UpTo_ 5

Exemples de valeurs DateHeure :


#Jan 5, 1999# To #Dec 12, 2000#
UpFrom #Jan 1, 2000#

Crystal Reports Guide de l’utilisateur 473


scr8.book Page 474 Monday, April 2, 2001 12:29 PM

Types de données plage

Utilisation de plages dans les formules


Il existe vingt-sept fonctions dans Crystal Reports pour spécifier des plages de
dates. Par exemple, la fonction LastFullMonth spécifie une plage de valeurs de
dates qui comprend toutes les dates allant du premier au dernier jour du mois
précédent. Ainsi, si la date d'aujourd'hui est le 15 septembre 1999, LastFullMonth
donne le même résultat que la plage de dates CDate (#Aug 1, 1999#) To CDate
(#Aug 31, 1999#).
Les plages sont souvent utilisées avec des expressions If ou Select. L'exemple
suivant concerne le calcul de la notation des étudiants au moyen de lettres en
fonction de la note chiffrée obtenue au test. Les notes supérieures ou égales à 90
obtiennent “A”, les notes comprises entre 80 et 90, sans inclure 90 obtiennent “B”
et ainsi de suite.
//Calcul de la notation des étudiants au moyen de lettres
Select {Student.Test Scores}
Case UpFrom 90 :
"A"
Case 80 To_ 90 :
"B"
Case 70 To_ 80 :
"C"
Case 60 To_ 70 :
"D"
Default :
"F";
L'exemple ci-dessus utilise l'expression Select qui est traitée plus en détail dans la
section relative aux structures de contrôle. Vous pouvez vérifier si une valeur est
comprise dans une plage à l'aide de l'opérateur In. Par exemple :
10 In 2 To 5; //Vrai
5 In 2 To_ 5; //Faux
5 In 2 To 5; //Vrai
Les fonctions Maximum et Minimum peuvent être utilisées pour trouver les
limites d'une plage :
Maximum (2 To 10) //Renvoie 10

474 Crystal Reports Guide de l’utilisateur


scr8.book Page 475 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

Types de données tableau


Dans Crystal Reports, les tableaux sont des listes ordonnées de valeurs qui sont
toutes du même type. Ces valeurs portent le nom d'éléments de tableau. Les
éléments d'un tableau peuvent être de type simple ou de type plage. Les tableaux
peuvent être créés à l'aide de crochets ([ ]).

Exemples
Tableau de trois valeurs numériques. Le premier élément est 10, le deuxième est 5
et le troisième est 20 :
[10, 5, 20]
Tableau de sept valeurs de chaîne :
["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"]
Tableau de deux valeurs de plage DateHeure :
[#Jan 1, 1998# To #Jan 31, 1998#,
#Feb 1, 1999# To #Feb 28, 1999#]
Vous pouvez extraire des éléments individuels d'un tableau en utilisant des
crochets contenant l'indice de l'élément souhaité. Cela s'appelle indicer le tableau :
[10, 5, 20] [2] //Est égal à 5
Les plages numériques peuvent aussi être utilisées pour indicer les tableaux. Le
résultat est un autre tableau. Par exemple :
[10, 5, 20] [2 To 3] //Est égal à [5, 20]
Les tableaux sont très utiles lorsqu'ils sont utilisés avec des variables et, de ce fait,
ils seront traités plus en détail dans la section “Variables”. Les variables vous
permettent de modifier les éléments individuels d'un tableau et de le
redimensionner pour qu'il comprenne plus d'éléments. Vous pouvez, par exemple,
cumuler des valeurs de champs de base de données dans une variable globale
tableau dans une formule de niveau détail, puis utiliser une formule dans un pied
de groupe pour effectuer un calcul fondé sur ces valeurs. Ceci vous permet de
réaliser une vaste gamme d'opérations de synthèse personnalisées.

Crystal Reports Guide de l’utilisateur 475


scr8.book Page 476 Monday, April 2, 2001 12:29 PM

Variables

Variables
Cette section décrit les composants clés des variables et vous montre comment
créer des variables et leur affecter des valeurs.

Vue d'ensemble des variables


Une variable représente un élément de données spécifique, ou valeur, et joue le rôle de
place réservée pour cette valeur. Lorsqu'une variable est rencontrée dans une formule,
la valeur de cette variable est recherchée puis utilisée dans la formule. Contrairement
à une valeur constante qui est fixe et invariable, différentes valeurs peuvent être
affectées de manière répétée à une variable. Vous affectez une valeur à une variable,
qui la conserve jusqu'à ce vous lui en affectiez une nouvelle. En raison de cette
souplesse, vous devez déclarer les variables avant de les utiliser pour que Crystal
Reports en ait connaissance et comprenne de quelle manière vous entendez les utiliser.

Exemple
Si vous vouliez créer un état sur les clients par indicatif téléphonique, vous
pourriez créer une variable qui extrait cette information de numéro de télécopie du
client. L'exemple ci-dessous utilise une variable nommée Codezone :
Local StringVar Codezone;
Codezone := {Clients.Télécopie} [1 To 3];
La première ligne de l'exemple est la déclaration de variable ; un nom et un type
sont affectés à la variable. Le champ de base de données {Clients.Télécopie} est un
champ de type chaîne et le segment [1 To 3] extrait les 3 premiers caractères de sa
valeur actuelle. Cette valeur est ensuite affectée à la variable Codezone.

Déclarations de variables
Avant d'utiliser une variable dans une formule, vous devez la déclarer.
Une variable peut contenir des valeurs d'un type donné. Les types autorisés sont
les sept types simples (Numérique, Monétaire, Chaîne, Booléen, Date, Heure et
DateHeure), les six types de plages (plage numérique, plage monétaire, plage de
chaînes, plage de dates, plage horaire et plage DateHeure) et les variables
contenant des tableaux formés avec les types déjà mentionnés. En tout, une
variable peut donc avoir 26 différents types.
Lorsque vous déclarez une variable, vous spécifiez aussi son nom. Une variable ne
peut pas avoir le même nom qu'une fonction, un opérateur ou un autre mot-clé
valable de la syntaxe Crystal. Par exemple, votre variable ne peut pas être nommée
Sin, Mod ou If car Sin est une fonction intégrée, Mod est un opérateur intégré et If
est un mot-clé intégré. Lorsque vous saisissez des formules dans l'éditeur de
formules, le nom des fonctions, opérateurs et autres mot-clés intégrés sont mis en
évidence à l'aide de couleurs différentes et il est ainsi facile de repérer l'existence
de conflits avec les noms de variables.

476 Crystal Reports Guide de l’utilisateur


scr8.book Page 477 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

Une fois déclarée, une variable peut être utilisée dans la formule. Vous pouvez, par
exemple, souhaiter lui affecter une valeur initiale :
Local NumberVar x; //Déclare x en tant que variable numérique
x := 10; //Affecte à x la valeur 10
Remarque : le mot-clé pour déclarer la variable numérique se termine par Var.
Ceci s'applique à tous les types de variable de la syntaxe Crystal.
Les valeurs contenues dans une variable ne peuvent être que d'un seul type. Si, par
exemple, une variable contient une valeur numérique, vous ne pouvez pas
l'utiliser plus tard pour contenir une chaîne.

Exemple
Local StringVar y;
y := "bonjour";
//OK- La fonction Length attend un argument de type chaîne
Length (y);
//Erreur- y peut uniquement contenir des valeurs de chaîne
y := #Jan 5, 1993#;
//Erreur- y peut uniquement contenir des valeurs de chaîne
y := ["a", "bb", "ccc"];
//Erreur- la fonction Sin attend un argument numérique
Sin (y);
Vous pouvez déclarer une variable et lui affecter une valeur dans une seule
expression. Par exemple :
Local NumberVar x := 10 + 20;
Local StringVar y := "Bonjour" + " " + "le monde";
Local DateVar z := CDate (#Sept 20, 1999#);
Local NumberVar Range niveauA := 90 To 100;
C'est une bonne méthode car elle est plus efficace et permet d'éviter de faire
l'erreur courante qui consiste à initialiser les variables de façon incorrecte.
Les exemples ci-dessous concernent la déclaration et l'initialisation de variables
plages :
Local NumberVar Range niveauA;
Local DateVar Range trimestre;
niveauA := 90 To 100;
trimestre := CDate (1999, 10, 1) To CDate (1999, 12, 31);

Etendue des variables


Les portées de variables servent à définir dans quelle mesure les variables d'une
formule sont utilisables par les autres formules. Il y a trois niveaux de portée dans
Crystal Reports : local, global et partagé. Chaque variable a une portée et celle-ci
est spécifiée lors de la déclaration de la variable.

Crystal Reports Guide de l’utilisateur 477


scr8.book Page 478 Monday, April 2, 2001 12:29 PM

Variables

Variables locales
Les variables dont la portée est locale, également appelées variables locales, sont
déclarées à l'aide du mot-clé Local suivi du nom du type (doté du suffixe Var) et
suivi du nom de la variable comme dans les exemples ci-dessus.
Les variables locales sont limitées à une seule formule et à une seule évaluation de
cette formule. Ceci signifie que vous ne pouvez pas accéder à la valeur d'une
variable locale d'une formule à partir d'une autre formule.

Exemple
//Formule A
Local NumberVar x;
x := 10;
//Formule B
EvaluateAfter ({@Formule A})
Local NumberVar x;
x := x + 1;
L'appel de fonction EvaluateAfter ({@Formula A}) garantit que la formule B sera
évaluée après la formule A. La formule A renvoie une valeur de 10 et la formule B
renvoie une valeur de 1. La formule B ne peut pas accéder à la variable x de la
formule A et ne peut donc pas utiliser la valeur 10 et lui ajouter 1. Au lieu de cela,
elle utilise la valeur par défaut, qui est égale à 0, de la variable locale x non
initialisée trouvée dans la formule B, et lui ajoute 1, ce qui donne 1.
Vous pouvez aussi créer des variables locales ayant le même nom mais de types
différents dans différentes formules. Par exemple, les déclarations de type dans les
formules A et B n'entrent pas en conflit avec :
//Formule C
Local StringVar x := "bonjour";
Les variables locales sont les plus efficaces des trois portées. En outre, elles n'interfèrent
pas les unes avec les autres dans différentes formules. C'est pourquoi il est préférable
que les variables soient déclarées comme locales chaque fois que possible.

Variables globales
Les variables globales utilisent le même bloc de mémoire pour stocker une valeur
pour l'ensemble de l'état principal. Cette valeur est alors utilisable par toutes les
formules qui déclarent la variable, à l'exception de celles situées dans les sous-
états. Vous déclarez une variable globale comme dans l'exemple suivant :
Global StringVar y;
Vous pouvez aussi omettre le mot-clé Global, car, par défaut, la variable créée est
globale :
StringVar y; //Identique à: Global StringVar y;
Cependant, même si les variables globales sont faciles à déclarer, il est préférable
de ne les utiliser que lorsque les variables locales ne sont pas suffisantes.

478 Crystal Reports Guide de l’utilisateur


scr8.book Page 479 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

Etant donné que les variables globales partagent leurs valeurs sur l'ensemble de
l'état principal, vous ne pouvez pas déclarer une variable globale dans une formule
avec un type puis déclarer une variable globale portant le même nom dans une
formule différente avec un type différent.

Exemple
//Formule A
Global DateVar z;
z := CDate (1999, 9, 18)
//Formule B
NumberVar z;
z := 20
Dans ce cas, si vous entrez et enregistrez la formule A en premier, Crystal Reports
émettra un message d'erreur lorsque vous vérifierez ou essaierez d'enregistrer la
formule B. Ceci est dû au fait que la déclaration de la variable globale z en tant que
valeur numérique entre en conflit avec sa précédente déclaration dans la formule
A en tant que date.

Utilisation des variables globales


Les variables globales sont souvent utilisées pour effectuer des calculs complexes
lorsque le résultat d'une formule dépend du groupement et de la disposition de
page du véritable état imprimé. Ceci est obtenu en créant plusieurs formules, en
les plaçant dans différentes sections de l'état et en faisant interagir les différentes
formules par le biais de variables globales.

Exemple
//Formule C
Global NumberVar x;
x := 10;
//Formule D
//Appelle la fonction WhileReadingRecords
WhileReadingRecords;
Global NumberVar x;
x := x + 1
Si la formule C est placée dans l'en-tête d'état et que la formule D est placée dans
une section détails, la formule C sera évaluée avant la formule D. La formule C sera
évaluée une fois puis la formule D sera évaluée pour chaque enregistrement
apparaissant dans la section détails. La formule C renvoie 10. Pour le premier
enregistrement de détail, la formule D renvoie 11. Ceci est dû au fait que la valeur
10 de x est conservée depuis le moment où elle a été définie par la formule C. La
formule D ajoute alors 1 à cette valeur, en donnant à x la valeur 11 puis renvoie 11.
Pour le deuxième enregistrement de détail, la formule D renvoie 12, en ajoutant 1
à la valeur de x précédemment conservée qui était 11. Ce processus continue pour
les enregistrements de détail restants.

Crystal Reports Guide de l’utilisateur 479


scr8.book Page 480 Monday, April 2, 2001 12:29 PM

Variables

L'appel de la fonction WhileReadingRecords demande à Crystal Reports de


réévaluer la formule D au fur et à mesure qu'elle est lue dans chaque enregistrement
de l'état. Sinon, étant donné que la formule ne contient aucun champ de base de
données, le programme l'évalue une fois pour toutes avant de lire les enregistrements
de la base de données. La formule renverra alors toujours la valeur 11 et non pas 11,
12, 13, ... au fur et à mesure du traitement des enregistrements successifs.
Si l'expression x := x + 1 est remplacée par x := x + {Détails des
commandes.Quantité}, vous créez l'effet d'un total cumulé fondé sur {Détails des
commandes.Quantité}, bien qu'il commence à 10 et non à 0 à cause de la formule
C. Dans ce cas, vous pouvez omettre l'appel à la fonction WhileReadingRecords,
car, étant donné que la formule contient un champ de base de données, l'appel se
fera automatiquement.

Variables partagées
Les variables partagées utilisent le même bloc de mémoire pour stocker la valeur
d'une variable dans l'ensemble de l'état principal et de ses sous-états. Ainsi, les
variables partagées sont encore plus générales que les variables globales. Pour
utiliser une variable partagée, déclarez-la dans une formule de l'état principal
comme dans l'exemple suivant :
Shared NumberVar x := 1000;
et déclarez-la dans une formule d'un sous-état comme dans l'exemple suivant :
Shared NumberVar x;
Pour qu'elles puissent être utilisées, il faut déclarer les variables partagées et leur
affecter une valeur avant qu'elles puissent être communiquées entre l'état principal
et le sous-état.

Déclaration de variables de tableau


Vous pouvez déclarer les variables tableau en faisant suivre le nom du type du
mot-clé tableau.

Exemple
//Déclarer x en tant que variable globale d'un
//type tableau numérique
Global NumberVar Array x := [10, 20, 30];
//prix est une variable globale d'un type de tableau monétaire
//Elle est automatiquement globale puisque le qualificateur de la portée
//(Local, Global ou Shared) est omis.
CurrencyVar Array prix := [$19.95, $79.50, $110.00,
$44.79, $223.99];

480 Crystal Reports Guide de l’utilisateur


scr8.book Page 481 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

//jourdepaye est une variable globale d'un tableau de type date


Global DateVar Array jourdepaye := [CDate(1999, 5, 15),
CDate(1999, 5, 31)];
//y est une variable partagée du type tableau de plage de chaînes
Shared StringVar Range Array y := ["A" To "C",
"H" To "J"];
//jours est une variable locale du type tableau de chaînes
Local StringVar Array jours;
jours := ["Dim", "Lun", "Mar", "Mer", "Jeu",
"Ven", "Sam"];

Utilisation de variables de tableau


Vous pouvez affecter des valeurs aux éléments d'un tableau et également les
utiliser pour d'autres calculs.

Exemple
StringVar Array x := ["bonjour", "au revoir", "de nouveau"];
x [2] := "une fois"; //Maintenant, x a pour valeur ["bonjour", "une fois",
"de nouveau"]
//L'expression ci-dessous produirait une erreur
//si elle n'était pas mise en commentaire car la dimension du tableau est 3
//x [4] := "zap";
//La formule renvoie la chaîne "BONJOUR"
UpperCase (x [1])
Les mots-clés Redim et Redim Preserve peuvent être utilisés pour redimensionner
un tableau si vous voulez lui ajouter des données supplémentaires. Redim efface
d'abord le contenu précédent du tableau avant de le redimensionner tandis que
Redim Preserve conserve ce contenu.
Local NumberVar Array x;
Redim x [2]; //Maintenant, la valeur de x est [0, 0]
x [2] := 20; //Maintenant, la valeur de x est [0, 20]
Redim x [3]; //Maintenant, la valeur de x est [0, 0, 0]
x [3] := 30; //Maintenant, la valeur de x est [0, 0, 30]
Redim Preserve x [4]; //Maintenant, la valeur de x est [0, 0, 30, 0]
"terminé"
Local StringVar Array a;
Redim a [2];
//Affecte une valeur au premier élément du tableau a
a[1] := "au ";
a[2] := "revoir";
//L'opérateur & peut être utilisé pour concaténer les chaînes
a[1] & a[2] //La formule renvoie la chaîne "au revoir"

Crystal Reports Guide de l’utilisateur 481


scr8.book Page 482 Monday, April 2, 2001 12:29 PM

Variables

Utilisation des tableaux avec des boucles For


Les tableaux sont couramment utilisés avec des boucles For. L'exemple suivant
crée puis utilise le tableau [10, 20, 30, ..., 100] à l'aide d'une boucle For. Reportez-
vous à la section “Boucles For” à la page 497 pour avoir plus de détails.
Local NumberVar Array b;
Redim b[10];
Local NumberVar i;
For i := 1 To 10 Do
(
b[i] := 10 * i
);
b [2] //La formule renvoie le nombre 20

Valeurs par défaut pour les types simples


Une variable non initialisée contient la valeur par défaut de son type. En général,
ce n'est pas une bonne habitude de programmation que de s'appuyer sur les
valeurs par défaut des types. Par exemple, initialisez toutes les variables locales de
votre formule, initialisez toutes les variables globales d'une formule placée dans
l'en-tête de l'état et initialisez toutes les variables partagées d'une formule placée
dans l'en-tête de l'état principal.
Lorsqu'un tableau est redimensionné à l'aide du mot-clé Redim, les entrées sont
remplies avec la valeur par défaut du type. Il est utile de connaître les valeurs par
défaut lorsqu'on utilise les expression If et Select.

Valeurs par défaut

Numérique
0

Monétaire
$0

Chaîne
"" //Chaîne vide

Date
Date (0, 0, 0) //Valeur de date nulle

Heure
Valeur d'heure nulle. Valeur contenue dans une variable Heure non initialisée.

482 Crystal Reports Guide de l’utilisateur


scr8.book Page 483 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

DateHeure
Valeur DateHeure nulle. Valeur contenue dans une variable DateHeure non
initialisée.
Remarque : il n'est pas recommandé que vos formules reposent sur les valeurs de
variables Plage ou Tableau non initialisées.

Conversions de types automatiques


Généralement, dans Crystal Reports, les valeurs d'un type ne peuvent pas être
utilisées là où les valeurs d'un autre type sont attendues sans fournir explicitement
une fonction de conversion de type. Par exemple :
Local StringVar codepostal;
//Erreur- Affectation d'une valeur numérique à une chaîne
//codepostal := 10025;
//OK - Utilise la fonction de conversion de type CStr
//pour créer "10025"
codepostal := CStr (10025, 0);
Cependant, quelques conversions sont effectuées automatiquement :
 Numérique à Monétaire
 Date à DateHeure
 Type simple à valeur de Plage du même type simple sous-jacent
Par exemple, les affectations suivantes sont correctes :
Local CurrencyVar prix;
//Identique à : prix := $10
prix := 10;
Local DateTimeVar datecommande;
//Identique à : datecommande := CDateTime (1999, 9, 23, 0, 0, 0)
datecommande := CDate (1999, 9, 23);
Local NumberVar Range plage;
//Identique à : plage := 20 To 20
plage := 20;
Local NumberVar Range Array intervalleplage;
//Identique à : intervalleplage := [10 To 10, 20 To 25, 2 To 2]
intervalleplage := [10, 20 To 25, 2];
Remarque : les conversions dans le sens opposé ne sont pas autorisées. Par
exemple :
Local NumberVar num;
num := 5 + $10; //Erreur
//OK- convertir en type Numérique à l'aide de la fonction CDbl
num := CDbl (5 + $10) //Pourrait aussi utiliser la fonction ToNumber
5 est converti en $5 et ajouté à $10 pour donner $15. Cependant, cette valeur
monétaire ne peut pas être affectée automatiquement à la variable numérique num
puisque les conversions automatiques de Monétaire à Numérique ne sont pas

Crystal Reports Guide de l’utilisateur 483


scr8.book Page 484 Monday, April 2, 2001 12:29 PM

Fonctions

permises. De même, un argument numérique peut être affecté à des fonctions


acceptant un argument monétaire, et l'argument Numérique sera transformé en
argument Monétaire alors qu'il n'est pas possible d'affecter un argument
Monétaire aux fonctions acceptant un argument numérique sans d'abord convertir
le Monétaire en Numérique à l'aide de la fonction CDbl.

Fonctions
Lorsque vous utilisez une fonction dans une formule, tapez le nom de la fonction
et fournissez les arguments requis. Par exemple, la fonction Length requiert un
argument de type chaîne et calcule la longueur de la chaîne.
Local StringVar x := "bonjour";
Length (x) //La formule renvoie la valeur numérique 5
Si les arguments requis par la fonction sont fournis dans un type incorrect, une
erreur se produit. Par exemple, un appel à la fonction Length (3) produirait une
erreur puisque Length n'accepte pas d'argument numérique. Les fonctions
peuvent quelquefois accepter des nombres ou des types d'arguments différents.
Par exemple, CDate qui pourrait accepter un argument composé d'une chaîne
unique pour former une valeur de type Date ou composé de 3 valeurs numériques
correspondant respectivement à l'année, au mois et au jour pour former également
une valeur de type Date. Voir “Date, Heure et DateHeure” à la page 472.

Exemple avec la fonction Mid


Local StringVar x := "bonjour";
Local StringVar y;
//Commencer à la position 2, aller à la fin de la chaîne
y := Mid (x, 2); //y a maintenant pour valeur "onjour"
//Commencer à la position 2, extraire 1 caractère
y := Mid (x, 2, 1) //y a maintenant pour valeur "o"
Ces classes de fonctions sont : Math, Résumé, Financière, Chaîne, Date/Heure,
Plage de dates, Tableau, Conversion de type, Raccourcis de programmation,
Moment d'évaluation, Etat de l'impression, Propriétés de document et Fonctions
supplémentaires. Il existe aussi certaines fonctions spécifiques à la mise en forme
des formules.
Truc : La description des fonctions prises en charge par Crystal Reports peut être
consultée dans l'aide en ligne.

Fonctions non spécifiques à la réalisation d'états


Les groupes Mathématiques, Financières, Chaîne, Date/Heure, Conversion de
type et Raccourcis de programmation sont principalement composés de fonctions
qui ne sont pas spécifiques à la réalisation d'états mais qui pourraient être
rencontrées dans un environnement de programmation doté de fonctionnalités

484 Crystal Reports Guide de l’utilisateur


scr8.book Page 485 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

étendues. Un grand nombre de ces fonctions ont des fonctionnalités similaires aux
fonctions de Visual Basic portant le même nom ou un nom similaire.
Remarque : certaines fonctions prises en charge par la syntaxe Crystal ne sont pas
répertoriées dans l'arborescence des fonctions de la syntaxe Crystal. C'est parce
qu'elles sont équivalentes aux fonctions de la syntaxe Crystal déjà présentes dans
l'arborescence.
Par exemple, la fonction Length est la fonction traditionnelle de la syntaxe Crystal
pour trouver la longueur d'une chaîne. La syntaxe Crystal prend également en
charge Len en tant que synonyme. Len est cette fonction exprimée dans la syntaxe
Basic ou Visual Basic et elle est incluse pour permettre aux utilisateurs du Basic et
de Visual Basic d'écrire ou de modifier commodément des formules écrites dans la
syntaxe Crystal.

Fonctions récapitulatives
Le groupe Fonctions de résumé fournit des fonctions permettant la création de
champs de résumé tels que :
Sum({Commandes.Montant commande}, {Commandes.Expédition par})
Les champs de résumé sont normalement créés à l'aide des dialogues Insérer un
résumé ou Insérer un total général. Ils s'affichent ensuite dans l'arborescence des
Champs disponibles, et peuvent être utilisés dans une formule en cliquant deux
fois sur leur nom. Toutefois, ils n'ont pas besoin d'être créés de cette façon. Vous
pouvez créer un champ de résumé destiné à être utilisé exclusivement par votre
formule en saisissant les arguments de l'une des fonctions figurant dans la section
Fonctions de résumé de manière appropriée. Cependant, les groupes de l'état
auxquels les champs de résumé font référence doivent déjà exister dans l'état.
Reportez-vous aux rubriques de l'aide en ligne traitant des champs de résumé
pour avoir plus de détails.

Plages de dates
Cette catégorie de fonction a été traitée dans la section “Types de données plage”
à la page 473. Le commentaire suivant peut être ajouté : les plages de dates
produites par ces fonctions dépendent de la date actuelle. Par exemple, si nous
sommes aujourd'hui le 19 septembre 1999, LastFullMonth a la valeur de plage de
dates suivante :
CDate(#Aug 1, 1999#) To CDate(#Aug 31, 1999#)
Cette fonctionnalité est souvent utile, mais que se passe-t-il si vous voulez
déterminer une plage de date reposant sur un champ de base de données tel que
{Commandes.Date de la commande}? Il est possible d'utiliser à la place les
fonctions Date/Heure.

Crystal Reports Guide de l’utilisateur 485


scr8.book Page 486 Monday, April 2, 2001 12:29 PM

Fonctions

Par exemple :
Local DateVar d := CDate ({Commandes.Date de la commande});
Local DateVar Range dr;
dr := DateSerial (Year(d), Month(d) - 1, 1) To
DateSerial (Year(d), Month(d), 1 - 1);
//A ce point, dr est la valeur de Plage de dates contenant
//le dernier mois complet précédant {Commandes.Date de la commande}
La fonction DateSerial facilite le travail car vous n'avez pas à vous soucier des cas
particuliers. Elle ne vous permet pas de créer une date non valable. Par exemple,
DateSerial (1999, 1 - 1, 1) donne le 1er décembre 1998.
Remarque : dans l'exemple ci-dessus, {Commandes.Date de la commande} est en
fait un champ DateHeure et de ce fait, la fonction CDate est utilisée pour la
convertir en date en tronquant la partie horaire.

Fonctions de tableau
Les fonctions de tableaux calculent des résumés des éléments d'un tableau. Par
exemple, la fonction Sum appliquée à un tableau renvoie la somme des éléments
du tableau. La formule suivante, par exemple, renvoie la valeur 100 :
Sum ([10, 20, 30, 40])

Fonctions du moment d'évaluation


Il s'agit des fonctions spéciales de création d'état BeforeReadingRecords,
WhileReadingRecords, WhilePrintingRecords et EvaluateAfter. Vous pouvez
utiliser ces fonctions pour indiquer à Crystal Reports à quel moment vos formules
doivent être évaluées.
Est-ce que la formule doit être évaluée avant la récupération des enregistrements
dans la base de données, pendant leur lecture mais avant qu'ils soient groupés, triés
et résumés, ou pendant l'impression de l'état, lorsque les enregistrements sont
groupés, triés et résumés ? En général, Crystal Reports définit un moment
d'évaluation approprié pour votre formule, en fonction des informations requises
par la formule. Par exemple, si une formule utilise un champ de base de données,
elle ne peut pas être évaluée avant que les enregistrements soient lus dans la base
de données. Cependant, vous aurez souvent besoin de définir un moment
d'évaluation plus tardif que le moment normal pour obtenir l'effet désiré. Reportez-
vous à la section “Variables globales” à la page 478 pour voir un exemple.

Fonctions état de l'impression


Il s'agit là encore de fonctions spécifiques à la création d'états. Par exemple, la
notation {Commandes.Date de la commande} est utilisée pour faire référence à la
valeur du champ de l'enregistrement en cours alors que Previous ({Commandes.Date
de la commande}) fait référence à la valeur de l'enregistrement précédent et Next

486 Crystal Reports Guide de l’utilisateur


scr8.book Page 487 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

({Commandes.Date de la commande}) à celle de l'enregistrement suivant. IsNull


({Commandes.Date de la commande}) vérifie si la valeur du champ est nulle.
On trouve d'autres exemples comme PageNumber et TotalPageCount que vous
pouvez utiliser pour accéder aux informations de pagination de votre état.

Fonctions Propriétés de document


Il s'agit de fonctions spécifiques à la création d'états qui font référence au
document de l'état dans son ensemble. Par exemple, PrintDate et ReportTitle.

Autres fonctions
Il s'agit des fonctions qui se trouvent dans les bibliothèques de fonctions utilisateur
(UFL, User Function Libraries - bibliothèques de fonctions utilisateurs). Une UFL
est une bibliothèque séparée de liaisons dynamiques (DLL, Dynamic Link Library)
ou Automation server que vous pouvez créer et que Crystal Reports peut utiliser
pour ajouter vos propres fonctions personnalisées au langage de formules. Une
UFL est plus complexe à écrire qu'une formule utilisant la syntaxe Basic ou la
syntaxe Crystal. Reportez-vous à l'aide du développeur de Crystal Reports pour
obtenir plus de détails.
Remarque : vos états utilisant des UFL seront moins transférables car vous devrez
distribuer vos UFL avec vos états.

Fonctions de mise en forme conditionnelle


Lors de l'écriture d'une formule de mise en forme conditionnelle, certaines
fonctions supplémentaires s'affichent en haut de l'arborescence des fonctions pour
vous aider sur ce point. Par exemple, vous pouvez mettre en forme le champ
{Clients.Ventes de l'année précédente} de sorte que les ventes de plus de 100.000$
soient imprimées en vert, que celles de moins de 15.000$ soient imprimées en
rouge et que tout le reste soit imprimé en noir.

Exemple
//Mise en forme conditionnelle - Exemple 1
If {Clients.Ventes de l'année précédente} > 100000 Then
crGreen
Else If {Clients.Ventes de l'année précédente} < 15000 Then
crRed
Else
crBlack
Etant donné qu'il s'agit d'une fonction de mise en forme de couleur de police, la
liste des constantes de couleurs s'affiche dans l'arborescence des fonctions.
L'exemple précédent en utilise trois : crGreen, crRed et crBlack. Au lieu de cela,
vous pourriez avoir utilisé les valeurs numériques réelles des constantes de

Crystal Reports Guide de l’utilisateur 487


scr8.book Page 488 Monday, April 2, 2001 12:29 PM

Fonctions

couleur. Par exemple, crRed est 255 et crGreen est 32768. Cependant, la formule est
plus compréhensible si vous utilisez les constantes de couleur. Toutes les fonctions
de constantes en syntaxe Crystal peuvent porter le préfixe "cr".
La syntaxe Crystal prend toujours en charge les fonctions constantes des versions
précédentes qui n'ont pas le préfixe “cr”. Vous pouvez, par exemple, utiliser “Red”
au lieu de “crRed”. Toutefois, l'utilisation du préfixe “cr” permet d'organiser les
fonctions constantes et est recommandée.
Remarque : certains attributs de mise en forme n'utilisent pas les fonctions
constantes. Par exemple, si vous ne vouliez pas imprimer les valeurs de
{Clients.Ventes de l'année précédente} pour les ventes d'un montant inférieur à
50.000$, vous pourriez écrire la formule de mise en forme suivante pour l'attribut
de suppression :
//Mise en forme conditionnelle - Exemple n°2
If {Clients.Ventes de l'année précédente} < 50000 Then
True //supprimer la valeur
Else
False //ne pas supprimer la valeur
Ou plus simplement :
//Mise en forme conditionnelle - Exemple n°3
//équivalent à l'exemple n°2
{Clients.Ventes de l'année précédente} < 50000
Si le montant des ventes de l'année dernière est inférieur à 50.000$, l'expression
{Clients.Ventes de l'année précédente} < 50000
est vraie, et la formule renvoie la valeur True. D'un autre côté, si le montant des
ventes de l'année dernière est supérieur ou égal à 50.000$, l'expression
{Clients.Ventes de l'année précédente} < 50000
est fausse et la formule renvoie la valeur False.

Fonctions générales de mise en forme conditionnelle


Il existe trois fonctions générales de mise en forme conditionnelle :
 CurrentFieldValue
 DefaultAttribute
 GridRowColumnValue.
Ces fonctions sont affichées en haut de l'arborescence des fonctions lorsque le
contexte s'y prête. La fonction DefaultAttribute peut être utilisée pour toute
formule de mise en forme, la fonction CurrentFieldValue pour toute formule
assurant la mise en forme d'une valeur de champ et la fonction
GridRowColumnValue pour toute formule dans laquelle vous effectuez une mise
en forme de champ dans une table croisée ou dans une grille OLAP.

488 Crystal Reports Guide de l’utilisateur


scr8.book Page 489 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

En particulier, la fonction CurrentFieldValue vous permet d'effectuer une mise en


forme conditionnelle des cellules d'une table croisée ou d'une grille OLAP en
fonction de leur valeur tandis que la fonction GridRowColumnValue vous permet
d'effectuer cette mise en forme conditionnelle en fonction de la valeur des titres de
lignes ou de colonnes. Ces deux fonctions sont primordiales dans cette situation
car il n'y a pas d'autre moyen dans le langage de formule de faire référence aux
valeurs de ces champs. Ce serait le cas si vous vouliez, par exemple, supprimer les
cellules d'une table croisée contenant une valeur inférieure à 50.000 :
//Mise en forme conditionnelle - Exemple 4
CurrentFieldValue < 50000
Truc : La description des fonctions de mise en forme conditionnelle prises en
charge par Crystal Reports peut être consultée dans l'aide en ligne.

Opérateurs
Opérateurs arithmétiques
Les opérateurs arithmétiques sont l'addition (+), la soustraction (-), la multiplication
(*), la division (/), la division entière (\), le pourcentage (%), l'opération Modulo
(Mod), la négation (-) et l'exponentielle (^). Reportez-vous à l'aide en ligne pour
avoir des détails sur ce que fait chaque opérateur. Les opérateurs arithmétiques sont
utilisés pour combiner des nombres, des variables numériques, des champs et des
fonctions numériques pour obtenir un autre nombre.

Exemples
//Pourcentage d'actions privilégiées extraordinaires par
//rapport aux actions ordinaires
{Comptabilité.Actions privilégiées} %
{Comptabilité.Actions ordinaires};
//La racine carrée de 9, Sqr(9) est 3
//La formule renvoie la valeur 17
7 + 2 * 3 - 2 + Sqr(6 + 3) * Length("up");
Truc : La description des opérateurs pris en charge par Crystal Reports peut être
consultée dans l'aide en ligne.

Ordre de priorité
Lorsque vous créez des expressions arithmétiques qui mettent en jeu plusieurs
opérateurs, l'ordre dans lequel le programme évalue les différents éléments de
l'expression devient important. En général, le programme évalue les expressions
de gauche à droite. Il suit cependant aussi les règles de priorité des mathématiques.

Crystal Reports Guide de l’utilisateur 489


scr8.book Page 490 Monday, April 2, 2001 12:29 PM

Opérateurs

Exemple
La multiplication et la division sont effectuées en premier, de gauche à droite, puis
viennent l'addition et la soustraction.
Par exemple, 5 + 10 * 3 = 5 + 30 = 35. Vous pouvez changer cet ordre de priorité en
utilisant des parenthèses. Par exemple, (5 + 10) * 3 = 15 * 3 = 45. Si vous n'êtes pas
sûr de l'ordre de priorité, il est bon de clarifier vos intentions à l'aide de
parenthèses.

Liste des opérateurs arithmétiques dans l'ordre de priorité décroissante


 Exponentielle (^)
 Négation (-)
 Multiplication, division et pourcentage (*, /, %)
 Division entière (\)
 Modulo (Mod)
 Addition et soustraction (+, -).

Opérateurs de comparaison
Les opérateurs de comparaison sont: égal à (=), différent de (<>), inférieur à (<),
inférieur ou égal à (<=), supérieur à (>) et supérieur ou égal à (>=).
Les opérateurs de comparaison sont habituellement utilisés pour comparer des
opérandes à une condition dans une structure de contrôle telle qu'une expression
If. Les opérateurs de comparaison en tant que groupe ont tous une priorité
inférieure aux opérateurs arithmétiques. Ainsi, des expressions comme 2 + 3 < 2 *
9 sont l'équivalent d'expressions telles que (2 + 3) < (2*9).

Opérateurs booléens
Les opérateurs Booléens sont, par ordre de priorité décroissante: Not, And, Or,
Xor, Eqv et Imp. Les opérateurs Booléens sont habituellement utilisés avec les
opérateurs de comparaison pour créer des conditions pour les structures de
contrôle. Les opérateurs Booléens en tant que groupe ont une priorité plus faible
que les opérateurs de comparaison. Ainsi par exemple, l'expression 2<3 And 4>=-
1 est équivalente à l'expression (2<3) And (4>=-1).

Champs Null et utilisation de IsNull


Le champ {Produits.Couleur} contient des couleurs de base comme “ rouge ” et
“ noir ” et des couleurs fantaisie dont le nom est en deux mots comme “ satin
acier ” et “ vert émeraude ”. Supposons que vous vouliez écrire une formule qui
écrive “ de base ” pour les couleurs de base et “ fantaisie ” pour les autres.

490 Crystal Reports Guide de l’utilisateur


scr8.book Page 491 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

If InStr({Produits.Couleur}, " ") = 0 Then


"de base"
Else
"fantaisie"
L'appel de la fonction InStr recherche un espace dans la chaîne {Produits.Couleur}.
La fonction renvoie la position de l'espace en cas de réussite, ou 0 dans le cas
contraire. Etant donné que les couleurs de base sont formés d'un seul mot et ne
contiennent donc pas d'espace, InStr renverra 0 pour celles-ci.

Gestion des valeurs nulles


Pour certains produits, tels que l'antivol de bicyclette Guardian, aucune couleur
n'a été enregistrée de sorte que le champ {Produits.Couleur} a une valeur nulle
dans la base de données pour cet enregistrement. En général, lorsque Crystal
Reports rencontre un champ de valeur nulle dans une formule, il arrête
immédiatement l'évaluation de la formule et ne produit pas de valeur. C'est
pourquoi aucun mot n'est imprimé devant “ antivol de bicyclette Guardian ”. Si
vous voulez manipuler des valeurs nulles dans votre formule, vous devez le faire
de façon explicite en utilisant l'une des fonctions spéciales conçues pour cela :
IsNull, PreviousIsNull ou NextIsNull.
Voici comment mettre au point l'exemple précédent à l'aide de IsNull :
If IsNull({Produits.Couleur}) Or
InStr({Produits.Couleur}, " ") = 0 Then
"de base"
Else
"fantaisie"
La liaison avec les opérateurs se fait lorsque Crystal Reports évalue la condition :
IsNull({Produits.Couleur}) Or
InStr({Produits.Couleur}, " ") = 0
L'évaluation de IsNull ({Produits.Couleur}) se fait en premier; si le résultat est
déterminé comme étant vrai (True), il est certain qu'il en est de même pour
l'ensemble de la condition, et il n'est donc pas nécessaire de vérifier si :
InStr({Produits.Couleur}, " ") = 0
En d'autres termes, Crystal Reports arrête d'évaluer une expression booléenne
quand il peut déduire le résultat de la totalité de l'expression.
Dans l'exemple suivant, la formule empêche les tentatives de division par zéro
dans le cas où le dénominateur serait égal à 0 :
Local NumberVar num;
Local NumberVar denom;
...
If denom <> 0 And num / denom > 5 Then
...

Crystal Reports Guide de l’utilisateur 491


scr8.book Page 492 Monday, April 2, 2001 12:29 PM

Structures de contrôle

Structures de contrôle
Les formules dépourvues de structures de contrôle exécutent chaque expression
de la formule au moment exact où la formule est évaluée. Les expressions sont
exécutées de manière séquentielle, de la première à la dernière expression de la
formule. Les structures de contrôle vous permettent de faire varier cette séquence
rigide. Selon la structure de contrôle que vous choisissez, vous pouvez sauter
certaines expressions ou en évaluer d'autres de manière répétée en fonction de
l'existence de certaines conditions. Les structures de contrôle constituent le moyen
principal pour exprimer une logique d'entreprise, et des formules d'états
habituelles en font un usage extensif.

Expressions If
L'expression If est l'une des structures de contrôle les plus utiles. Elle vous permet
d'évaluer une expression si une condition est vraie et d'évaluer une expression
différente dans le cas contraire.
Remarque : Lorsque vous procédez à une mise en forme à l'aide de formules
conditionnelles, incluez systématiquement le mot-clé Else. Les valeurs ne
remplissant pas la condition If risquent sinon de perdre leur format initial. Pour
éviter cela, utilisez la fonction DefaultAttribute (If...Else DefaultAttribute).

Exemple
Une société envisage de payer une prime de 4% à ses employés, à l'exception de
ceux travaillant au service des ventes qui recevront une prime de 6%. Ceci sera
effectué par la formule suivante à l'aide d'une expression If :
//Expression If - Exemple 1
If {Employé.Service} = "Ventes" Then
{Employés.Salaire} * 0,06
Else
{Employés.Salaire} * 0,04
Dans cet exemple, si la condition {Employés.Poste occupé} = "Ventes" est
évaluée comme vraie,
{Employés.Salaire} * 0,06
l'expression est traitée. Sinon, l'expression qui suit la clause Else, c'est-à-dire
{Employés.Salaire} * 0,04
est traitée.
Supposons qu'une autre société veuille donner à ses employés une prime de 4%,
dont le minimum sera au moins de 1.000$. L'exemple suivant montre comment
faire. Remarquez que la clause Else n'est pas incluse ; elle est facultative et n'est pas
nécessaire dans ce cas.

492 Crystal Reports Guide de l’utilisateur


scr8.book Page 493 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

//Expression If - Exemple 2
Local CurrencyVar bonus := {Employé.Salaire} * 0,04;
If bonus < 1000 Then
bonus := 1000;
//L'expression finale est uniquement la variable 'bonus'.
//La valeur de la variable est renvoyée et constitue le
//résultat de la formule
bonus
Une autre façon d'effectuer l'exemple 2 consiste à utiliser une clause Else :
//Expression If - Exemple 3
Local CurrencyVar bonus := {Employé.Salaire} * 0,04;
If bonus < 1000 Then
1000
Else
bonus
Supposons maintenant que la société précédente veuille aussi que la prime soit au
maximum égale à 5.000$. Vous avez maintenant besoin d'utiliser une clause Else
If. L'exemple suivant comporte seulement une clause Else If, mais vous pouvez en
ajouter autant qu'il en faut. Notez qu'il faut cependant une clause Else au
maximum pour chaque expression If. La clause Else est exécutée si aucune des
expressions If ou Else If n'est vraie.
//Expression If - Exemple 4
Local CurrencyVar bonus := {Employé.Salaire} * 0,04;
If bonus < 1000 Then
1000
Else If bonus > 5000 Then
5000
Else
bonus;

Exemple If
Supposons qu'une société souhaite calculer une estimation du montant de l'impôt
qu'un employé aura à payer, et écrire un message en conséquence. Un revenu
inférieur à 8.000$ n'est pas imposable, un revenu compris entre 8.000$ et 20.000$
est imposé à 20%, un revenu compris entre 20.000$ et 35.000$ est imposé à 29% et
un revenu supérieur à 35.000$ est imposé à 40%.
//Expression If - Exemple 5
Local CurrencyVar impôt := 0;
Local CurrencyVar revenu := {Employés.Salaire};
Local StringVar message := "";
If revenu < 8000 Then
(
message := "non imposable";
impôt := 0
)

Crystal Reports Guide de l’utilisateur 493


scr8.book Page 494 Monday, April 2, 2001 12:29 PM

Structures de contrôle

Else If revenu >= 8000 And revenu < 20000 Then


(
message := "Tranche imposable la plus faible";
impôt := (revenu - 8000)*0,20
)
Else If revenu >= 8000 And revenu < 20000 Then
(
message := "Tranche imosable moyenne";
impot := (20000 - 8000)*0,20 + (revenu - 20000)*0,29
)
Else
(
message := "Tranche imposable la plus élevée";
impôt := (20000 - 8000)*0,20 + (35000 - 20000)*0,29 +
(revenu - 35000)*0,40
);
//Utiliser 2 chiffres décimaux et un point comme
//séparateur des milliers
Local StringVar impotsStr := CStr (impot, 2, "");
"Vous vous situez dans la tranche " & message & ". " &
"Votre impôt estimé est de " & impotStr & "."
Remarque : les variables servent à simplifier la logique de calcul. Deux expressions
sont exécutées quand l'une des conditions est remplie; l'une affecte une valeur à la
variable impôt et l'autre affecte une valeur à la variable message. Il est souvent utile
que plusieurs expressions soient exécutées en tant que résultat d'une condition.

Informations complémentaires sur les expressions If


L'expression If est une expression. En d'autres termes, elle est évaluée sous la forme
d'une valeur d'un type donné. S'il n'y a pas de clause Else et que la condition n'est
pas vraie, la valeur est la valeur par défaut du type. Par exemple :
Par exemple : If Length ({Employés.Prénom}) < 5 Then
"court"
L'expression If ci-dessus renvoie une valeur de chaîne. La valeur de la chaîne est
“court” si le prénom de l'employé comporte moins de 5 lettres ou la chaîne vide ""
dans le cas contraire.
Observez la formule :
If Annee({Commandes.Date de la commande}) >= 1995 Then
{Commandes.Date de la commande}
Pour les dates de commande antérieures à 1995, l'expression If ci-dessus renvoie la
valeur de DateHeure nulle. C'est une valeur de DateHeure et non une valeur de
date puisque {Commandes.Date de la commande} est un champ de base de
données de type DateHeure. La valeur nulle de DateHeure n'est pas imprimée par
Crystal Reports ; aussi, si la formule ci-dessus était placée dans un état, le champ
de formule serait vierge pour les dates antérieures à 1995. Les valeurs Heure nulles
et les valeurs Date nulles se comportent de façon similaire.

494 Crystal Reports Guide de l’utilisateur


scr8.book Page 495 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

Voici un exemple illustrant l'utilisation de parenthèses pour que le résultat d'une


condition If débouche sur l'exécution de plusieurs expressions. Une société facture
des frais de port de 5% pour les commandes livrées sous 3 jours, et de 2% dans les
autres cas. Elle souhaite imprimer des messages tels que “Frais de port pour
livraison express: $” ou “Frais de port pour livraison normale” :
Local StringVar message;
Local CurrencyVar expédition;
If {Commandes.Date d'expédition} - {Commandes.Date de la commande} <= 3 Then
(
message := " express";
//Un point-virgule à la fin de la ligne suivante
//est facultatif
expédition := {Commandes.Montant de la commande} * 0,05
) //Un point-virgule ne peut pas être placé ici
Else
(
message := " normale";
expédition := {Commandes.Montant de la commande} * 0,02;
);
//Le point-virgule précédent est nécessaire pour séparer
//l'expression If de l'expression finale ci-dessous
message & " Frais de port pour livraison " & CStr (expédition)
Lorsque des expressions sont groupées à l'aide de parenthèses, le groupe tout
entier est considéré comme une seule expression, et sa valeur et son type sont ceux
de l'expression finale entre parenthèses.
//L'expression de tout le groupe entre parenthèses
//est du type monétaire
(
//La première expression à l'intérieur des parenthèses
//est du type chaîne
message := " express";
//La deuxième et dernière à l'intérieur des parenthèses
//est du type monétaire
expédition := {Commandes.Montant de la commande} * 0,05;
)
Ainsi, par exemple, la formule suivante produit une erreur. C'est parce que la
partie Then de l'expression If renvoie une valeur monétaire alors que la partie Else
renvoie une valeur de chaîne. Ce n'est pas autorisé, car l'expression If est une
expression et en tant que telle doit toujours renvoyer une valeur d'un seul type.
//Formule erronée
Local StringVar message;
Local CurrencyVar expédition;
If {Commandes.Date d'expédition} - {Commandes.Date de la commande} <= 3 Then
(
message := " express";
expédition := {Commandes.Montant de la commande} * 0,05
)

Crystal Reports Guide de l’utilisateur 495


scr8.book Page 496 Monday, April 2, 2001 12:29 PM

Structures de contrôle

Else
(
//Les 2 lignes suivantes ont été interverties
expédition := {Commandes.Montant de la commande} * 0,02;
message := " normale";
);
message & " Frais de port pour livraison " & CStr (expédition)
Un moyen de mettre au point la formule erronée sans avoir à se préoccuper de
l'ordre de l'expression consiste simplement à faire en sorte que l'expression If
renvoie une valeur constante du même type dans chaque branche. Par exemple,
l'expression If renvoie maintenant la valeur numérique 0 :
//Rectifier la formule erronée
Local StringVar message;
Local CurrencyVar expédition;
If {Commandes.Date d'expédition} - {Commandes.Date de la commande} <= 3 Then
(
message := " express";
expédition := {Commandes.Montant de la commande} * 0,05;
0
)
Else
(
expédition := {Commandes.Montant de la commande} * 0,02;
message := " normale";
0
);
message & " Frais de port pour livraison " & CStr (expédition)

Expressions Select
L'expression Select est semblable à une expression If. Quelquefois, cependant,
vous pourrez écrire des formules plus claires et moins répétitives à l'aide de
l'expression Select. Par exemple, pour évaluer le champ {Clients.Télécopie} afin de
déterminer si l'indicatif téléphonique correspond à l'état de Washington (206, 360,
509) ou de la Colombie britannique au Canada (604, 250) :
//Select - Exemple 1
Select {Clients.Télécopie}[1 To 3]
Case "604", "250" :
"BC"
Case "206", "509", "360" :
"WA"
Default :
"";
L'expression située à droite du mot-clé Select est appelée condition Select. Dans
l'exemple ci-dessus, il s'agit de {Clients.Télécopie}[1 To 3]. L'expression Select
essaie de trouver le premier cas qui correspond à la condition Select, puis exécute
l'expression qui suit le signe deux-points pour ce cas. Le cas par défaut est pris en

496 Crystal Reports Guide de l’utilisateur


scr8.book Page 497 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

compte si aucun des cas précédents ne correspond à la condition Select. Notez qu'il
y a également un signe deux-points après la valeur par défaut.
//Même effet que l'exemple 1 de Select
Local StringVar Codezone := {Clients.Télécopie}[1 To 3];
If Codezone In ["604", "250"] Then
"BC"
Else If Codezone In ["206", "509", "360"] Then
"WA"
Else
"";

Exemple
Cette formule regroupe le nombre de nominations aux Oscars reçues par un film
dans l'une des catégories faible, moyen, élevé ou très élevé et montre dans le
processus certaines des possibilités pour les listes d'expressions qui suivent les
étiquettes Case :
//Select - Exemple 2
Select {movie.NOM}
Case 1,2,3, Is < 1 :
(
//Possibilité d'avoir des listes d'expressions en
//utilisant des parenthèses
10 + 20;
"faible"
)
Case 4 To 6, 7, 8, 9 :
"moyen"
Case 10 :
"élevé"
Default :
"très élevé"
La clause par défaut de l'expression Select est facultative. Si la clause par défaut est
absente et qu'il n'y a aucune correspondance pour chacun des cas, l'expression
Select renvoie la valeur par défaut pour son type d'expression. Par exemple, si
dans l'exemple ci-dessus la clause par défaut avait été omise et {movie.NOM} = 11,
la chaîne vide "" aurait été renvoyée. L'expression Select est une expression, et les
mêmes commentaires que ceux faits dans la section Détails supplémentaires sur les
expressions If s'appliquent aussi.

Boucles For
Les boucles For vous permettent d'évaluer une suite d'expressions un certain
nombre de fois. Le fonctionnement n'est donc pas le même que pour les
expressions If et Select que le programme rencontrera au plus une fois pendant
l'évaluation de la formule. Les boucles For sont préférables lorsque vous
connaissez à l'avance combien de fois l'expression doit être évaluée.

Crystal Reports Guide de l’utilisateur 497


scr8.book Page 498 Monday, April 2, 2001 12:29 PM

Structures de contrôle

Syntaxe d'une boucle For au moyen d'exemples


Exemple 1
Supposons que vous vouliez inverser la chaîne {Clients.Nom du client}. Par
exemple, “Cyclistes urbains” devient “sniabru setsilcyC”.
//Inversion de chaîne - version 1
Local StringVar str := "";
Local NumberVar strLen :=
Length ({Clients.Nom du client});
Local NumberVar i;
For i := 1 To strLen Do
(
Local NumberVar charPos := strLen - i + 1;
str := str + {Clients.Nom du client}[charPos]
);
str
Observez le mode de fonctionnement de cette formule en supposant que la valeur
actuelle du champ {Clients.Nom du client} soit “Air propre”. La longueur de “Air
propre”, à savoir 10, est affectée à la variable strLen. La variable i est une variable de
comptage de boucle For car sa valeur change à chaque itération de la boucle For. En
d'autres termes, elle est utilisée pour compter les itérations de la boucle. La boucle
For va faire 10 itérations; la première fois, i est égal à 1, puis i est égal à 2, puis i est
égal à 3 et ainsi de suite jusqu'à la valeur finale de i qui est 10. Au cours de cette
première itération, le dixième caractère de {Clients.Nom du client} est ajouté à la
variable chaîne vide str. Ainsi, str est égal à “e” après la première itération. Au
cours de la deuxième itération, le neuvième caractère de {Clients.Nom du client}
est ajouté à str dont la valeur est désormais “er”. Ceci continue jusqu'à la dixième
itération après laquelle str est égal à, “erporp riA” qui est la chaîne inversée.

Exemple 2
Voici une version plus simple de la formule ci-dessus qui utilise une clause Step
avec un pas négatif (step) égal à -1. Pour l'exemple “Air propre”, i est égal à 10 pour
la première itération, à 9 pour la deuxième, à 8 pour la troisième et ainsi de suite
jusqu'à la valeur finale de i qui est 1 à la dernière itération.
//Inversion de chaîne - version 2
Local StringVar str := "";
Local NumberVar strLen :=
Length ({Clients.Nom du client});
Local NumberVar i;
For i := strLen To 1 Step -1 Do
(
str := str + {Clients.Nom du client}[i]
);
str

Exemple 3
La version la plus simple consiste à utiliser la fonction intégrée StrReverse :

498 Crystal Reports Guide de l’utilisateur


scr8.book Page 499 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

//Inversion de chaîne - version 3


StrReverse ({Clients.Nom du client})
Les fonctions de chaîne intégrées dans Crystal Reports 8 peuvent gérer de
nombreuses applications de traitement de chaîne qui sont habituellement gérées
au moyen de boucles For ou d'autres types de boucles. Cependant, les boucles For
apportent la plus grande souplesse en matière de traitement des chaînes et
également de la puissance dans le traitement des tableaux, ce qui peut s'avérer
essentiel si les fonctions intégrées ne couvrent pas l'application envisagée.

Boucle For - Exemple


Voici un exemple plus détaillé des capacités de traitement de chaîne de Crystal
Reports. Le mode de cryptage César est un code simple qui est traditionnellement
attribué à Jules César. Dans ce code, chaque lettre d'un mot est remplacée par la
lettre qui est située 5 caractères plus loin dans l'alphabet. Par exemple, “Rive”
devient “Wnaj”. Notez que “v” est remplacé par “a” ; puisqu'il n'y a pas 5
caractères après le “v” dans l'alphabet, on recommence à partir du début. Voici une
formule qui applique le mode de cryptage de César au champ {Clients.Nom du
client} de la base de données Xtreme.mdb.
//Mode de cryptage de César
//Chaîne d'entrée à coder
Local StringVar chaîneentrée := {Clients.Nom du client};
Local NumberVar déplacement := 5;
Local StringVar chaînesortie := "";
Local NumberVar i;
For i := 1 To Length(chaîneentrée) Do
(
Local StringVar cEntrée := chaîneentrée [i];
Local StringVar cSortie;
Local BooleanVar Car :=
LowerCase(cEntrée) In "a" To "z";
Local BooleanVar Carmaj :=
Car And (UpperCase (cEntrée) = cEntrée);
cEntrée := LCase(cEntrée);
If Car Then
(
Local NumberVar décalage :=
(Asc(cEntrée) + déplacement - Asc("a")) Mod
(Asc("z") - Asc("a") + 1);
cSortie := Chr(décalage + Asc("a"));
If Carmaj Then cSortie := UpperCase(cSortie)
)
Else
cSortie := cEntrée;
chaînesortie := chaînesortie + cSortie
);
chaînesortie

Crystal Reports Guide de l’utilisateur 499


scr8.book Page 500 Monday, April 2, 2001 12:29 PM

Structures de contrôle

Dans l'exemple ci-dessus, une expression If est imbriquée dans le bloc


d'expressions de la boucle For. Cette expression If est chargée des détails précis
relatifs au décalage d'un seul caractère. Par exemple, les lettres sont traitées
différemment de la ponctuation et des espaces. En particulier, la ponctuation et les
caractères ne sont pas codés. Une remarque générale à ce point est que les
structures de contrôle peuvent être imbriquées dans d'autres structures de contrôle
et que plusieurs expressions peuvent être incluses dans les blocs d'expressions
entre parenthèses des autres structures de contrôle.

Utilisation de Exit For


Vous pouvez sortir d'une boucle For à l'aide de la clause Exit For. Dans l'exemple
suivant, le nom "Fred" est recherché dans le tableau global de noms. Si le nom est
trouvé, l'indice du nom est renvoyé dans le tableau. Sinon, la valeur retournée est -1.
Par exemple, si le tableau de noms est :
["Frank", "Helen", "Fred", "Linda"]
La formule renvoie la valeur 3.
Global StringVar Array noms;
//Le tableau noms a été initialisé et rempli
//dans d'autres formules
Local NumberVar i;
Local NumberVar résultat := -1;
//La fonction UBound renvoie la taille de son
//argument de tableau
For i := 1 to UBound (noms) Do
(
If noms [i] = "Fred" Then
(
résultat := i;
Exit For
)
);
result
Lorsqu'elle est considérée comme une expression, la boucle For renvoie toujours la
valeur Booléenne True (vrai). Ainsi, vous ne voudrez presque jamais qu'une
boucle For soit la dernière expression dans une formule, puisque dans ce cas, la
formule affichera seulement la valeur True plutôt que le résultat attendu.

Boucles While
La boucle While est un autre mécanisme de bouclage. Une boucle While peut être
utilisée pour exécuter indéfiniment un bloc défini d'instructions.

500 Crystal Reports Guide de l’utilisateur


scr8.book Page 501 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

Les 2 types différents de boucles While

Type de boucle
While Explication Exemple

While ... Do Dans la boucle While ... Do, la condition est While condition Do
évaluée, et si celle-ci est vraie, l'expression qui expression
suit Do est également évaluée.

Après ce premier passage, la condition est de


nouveau évaluée et, si celle-ci est vraie,
l'expression qui suit Do est de nouveau
évaluée. Le processus se répète jusqu'à ce que
la condition soit fausse.
Do ... While Dans la boucle Do ... While, l'expression est Do
évaluée une fois, quelle qu'elle soit. expression
While condition
La condition est ensuite évaluée et, si celle-ci
est vraie, l'expression est de nouveau évaluée.
Ce processus se poursuit jusqu'à ce que la
condition soit fausse.
Remarque :
 Les boucles While acceptent l'instruction Exit While qui assure une sortie
immédiate de la boucle. Son utilisation est analogue à celle de l'instruction Exit
For dans les boucles For.
 Comme pour la boucle For, la boucle While considérée comme une expression
renvoie toujours la valeur Booléenne True (vrai).

Exemple de boucle While ... Do


Dans l'exemple suivant, la première occurrence d'un chiffre est recherchée dans
une chaîne d'entrée. Si le chiffre est trouvé, sa position est renvoyée, sinon c'est la
valeur -1 qui est renvoyée. Dans ce cas, la chaîne d'entrée est définie explicitement
comme une constante chaîne, mais elle pourrait aussi être définie comme un
champ de base de données de type chaîne. Par exemple, pour la chaîne d'entrée,
“Les 7 nains”, la formule renvoie 5, qui est la position du chiffre 7.
Local StringVar chaîneentrée := "Les 7 nains";
Local NumberVar strLen := Length (chaîneentrée);
Local NumberVar résultat := -1;
Local NumberVar i := 1;
While i <= strLen And résultat = -1 Do
(
Local StringVar c := chaîneentrée [i];
If NumericText (c) Then
résultat := i;
i := i + 1;
);
result

Crystal Reports Guide de l’utilisateur 501


scr8.book Page 502 Monday, April 2, 2001 12:29 PM

Restrictions

Mécanisme de sécurité pour les boucles


Il existe un mécanisme de sécurité pour éviter le blocage du traitement d'un état à
cause d'une boucle infinie. Pour chaque évaluation de formule, le nombre
maximum d'évaluations de condition de boucle est de 30.000. Cette règle est
illustrée par l'exemple suivant :
Local NumberVar i := 1;
While i <= 100000 Do
(
If i > {movie.STARS} Then
Exit While;
i := i + 1
);
20
Si {movie.STARS} est supérieur à 30.000, la condition de boucle (i <= 100000) sera
évaluée un plus grand nombre de fois que le maximum autorisé et un message
d'erreur s'affichera. Sinon la boucle est OK.
Remarque : le mécanisme de sécurité s'applique au niveau de la formule, et non
pour chaque boucle individuelle. Par exemple :
Local NumberVar i := 1;
For i := 1 To 10000 Do
(
Sin (i);
);
While i <= 25000 Do
(
i := i + 1;
)
La formule ci-dessus déclenche aussi le mécanisme de sécurité puisque le nombre
de 30.000 fait référence au nombre total d'évaluations de condition de boucle de la
formule et cette formule comportera 10001 + 25001 évaluations de ce type.

Restrictions
Pour information, voici les limites de dimensionnement du langage de formule :
 La longueur maximale d'une constante chaîne, d'une valeur de chaîne
contenue dans une variable chaîne, d'une valeur de chaîne renvoyée par une
fonction ou un élément chaîne d'un tableau de chaînes est de 254 octets.
 La taille maximale d'un tableau est de 1.000 éléments.
 Le nombre maximal d'arguments d'une fonction est de 1.000 (ceci s'applique aux
fonctions, telles que Choose, qui peuvent avoir un nombre infini d'arguments).
 La longueur maximale du texte d'une formule est de 64Ko.

502 Crystal Reports Guide de l’utilisateur


scr8.book Page 503 Monday, April 2, 2001 12:29 PM

24 : Création de formules avec la syntaxe Crystal

 Le nombre maximum d'évaluations de condition de boucle par évaluation de


formule est de 30.000.
Voir “ Mécanisme de sécurité pour les boucles ” page 502.
 Les fonctions date-heure dont le modèle s'inspire de Visual Basic acceptent des
dates comprises entre l'année 100 et l'année 9999. Les fonctions traditionnelles
de Crystal Reports acceptent les dates comprises entre l'année 1 et l'année 9999.

Crystal Reports Guide de l’utilisateur 503


scr8.book Page 504 Monday, April 2, 2001 12:29 PM

Restrictions

504 Crystal Reports Guide de l’utilisateur


scr8.book Page 505 Monday, April 2, 2001 12:29 PM

Champs de paramètres 25

Ce chapitre décrit les champs de paramètres et leur


utilisation pour la création d'un état unique pouvant être
utilisé pour accéder à différents types de données en
fonction des besoins de l'utilisateur.

Crystal Reports Guide de l’utilisateur 505


scr8.book Page 506 Monday, April 2, 2001 12:29 PM

Généralités sur les paramètres

Généralités sur les paramètres


Les paramètres invitent l'utilisateur d'un état à entrer des informations. Un
paramètre peut être considéré comme une question à laquelle l'utilisateur doit
répondre avant que l'état ne puisse être généré. Les informations entrées par
l'utilisateur (la réponse) permettent de déterminer ce qui apparaîtra dans l'état. Un
état utilisé par le service des ventes utilisera par exemple un paramètre demandant
à l'utilisateur de choisir une région. L'état renverra alors les résultats pour la région
spécifiée, au lieu de renvoyer les résultats pour toutes les régions confondues.
En utilisant les champs de paramètres dans les formules, les formules de sélection,
dans l'état lui-même, vous pouvez créer un état unique pouvant être modifié en
fonction de vos besoins. Les champs de paramètres peuvent aussi être utilisés dans
les sous-états.

Etude des champs de paramètre


Plusieurs éléments doivent être pris en compte lors de l'utilisation de
champs de paramètres :
 Les champs de paramètres prennent en charge les types de données suivants :
Booléen : nécessite une réponse oui/non ou vrai/faux.
Exemple : Inclure les prévisions de budget dans le résumé ?
Monnaie : nécessite un montant en devises.
Exemple : Afficher les clients dont les ventes dépassent XXXXX.
Date : nécessite une réponse au format date.
Exemple : Entrez les dates de début et de fin du trimestre.
DateHeure : nécessite l'entrée de la date et de l'heure.
Exemple : Afficher les statistiques du 07/04/1999 entre 13h00 et 14h00.
Nombre : nécessite une valeur numérique.
Exemple : Entrez le numéro d'identification du client.
Chaîne : nécessite une réponse de type texte.
Exemple : Entrez la région.
Heure : nécessite une réponse utilisant un format d'heure.
Exemple : Afficher le nombre total d'appels entre 13h00 et 14h00.
 Les champs de paramètres affichant du texte peuvent comporter jusqu'à
quatre lignes et environ 60 à 70 caractères par ligne (en fonction de la largeur
des caractères, jusqu'à une limite de 254 caractères). Les textes comportant
plus d'une ligne seront automatiquement renvoyés à la ligne.
 Il est possible de créer une liste dans laquelle l'utilisateur choisira une valeur
de paramètre plutôt que d'avoir à l'entrer manuellement.
 Il n'est pas nécessaire de placer un champ de paramètre dans un état pour qu'il
soit utilisé dans une formule d'enregistrement ou de sélection de groupe. Les
champs de paramètres sont créés et entrés dans les formules de manière
identique aux autres champs.

506 Crystal Reports Guide de l’utilisateur


scr8.book Page 507 Monday, April 2, 2001 12:29 PM

25 : Champs de paramètres

Création d'un champ de paramètre


Suivez les étapes ci-dessous pour créer un paramètre permettant à l'utilisateur de
spécifier une liste de clients pour un pays spécifique. Cette procédure comporte
deux séries d'étapes. La première consiste à créer le paramètre, la seconde utilise
l'Expert Sélection pour incorporer le paramètre.

Pour créer un champ de paramètre


1 Vérifiez que l'état est ouvert dans l'onglet Conception.
Cette procédure utilise Group.rpt, un exemple d’état inclus dans le logiciel
Crystal Reports.
2 Choisissez la commande Objet champ du menu Insérer.
Truc : Vous pouvez également effectuer cette opération en cliquant sur le
bouton Insérer un champ dans la barre d'outils standard.
La boîte de dialogue Explorateur de champs apparaît.

3 Sélectionnez Champs de paramètre, puis cliquez sur Nouveau.


La boîte de dialogue Créer un champ de paramètre apparaît.
4 La boîte de dialogue Créer un champ de paramètre apparaît. Entrez le nom du
paramètre dans le champ Nom, en utilisant jusqu'à 255 caractères
alphanumériques.
Cet exemple utilise le nom Pays.
5 Entrez le texte d'invite voulu dans le champ Texte d'invite en utilisant jusqu'à
255 caractères alphanumériques.
Ceci est le texte qui apparaît dans la boîte de dialogue Entrer des valeurs de
paramètres lorsque l'état est actualisé. Cet exemple utilise “ Sélectionnez un pays ”.
6 Sélectionnez le Type de valeur correspondant dans la liste.
Cet exemple repose sur le type de valeur chaîne.

Crystal Reports Guide de l’utilisateur 507


scr8.book Page 508 Monday, April 2, 2001 12:29 PM

Généralités sur les paramètres

Remarque : Lorsque vous créez un paramètre dont le type de valeur est Date
ou DateHeure, vous pouvez changer le format de la date en fonction de vos
besoins. Pour plus d'informations, reportez-vous à “Modification des formats
de champs par défaut” à la page 240.
7 Cliquez sur Définir les valeurs par défaut.
La boîte de dialogue Définir les valeurs par défaut apparaît.
8 Vérifiez que Table à parcourir a la valeur Client.
9 Dans la liste déroulante Champ à parcourir, sélectionnez Pays.
10 Cliquez sur >> pour déplacer tous les pays vers la zone Valeurs par défaut.
Cet exemple permet à l'utilisateur de choisir l'un des pays. Pour limiter la
sélection, déplacez uniquement les pays parmi lesquels l'utilisateur doit
effectuer son choix.

508 Crystal Reports Guide de l’utilisateur


scr8.book Page 509 Monday, April 2, 2001 12:29 PM

25 : Champs de paramètres

11 Cliquez sur OK.


La boîte de dialogue Créer un champ de paramètre apparaît.
12 Cliquez sur OK.
La boîte de dialogue Explorateur de champs apparaît, avec le paramètre Pays
sélectionné.

13 Faites glisser, puis relâchez le paramètre Pays dans l'état.


Remarque : Si vous ne souhaitez pas voir le champ de paramètre que vous
avez fait glisser dans l'état, placez-le dans une section que vous pouvez
supprimer, comme un en-tête ou un pied de page.
14 Cliquez sur Fermer.

Pour incorporer le paramètre dans la sélection


1 Dans le menu Etat, cliquez sur Expert Sélection.
Truc : Vous pouvez également effectuer cette opération en cliquant sur l'Expert
Sélection dans la barre d'outils standard.
La boîte de dialogue Choisir un champ apparaît.
2 Sélectionnez Pays dans la table Client, puis cliquez sur OK.
L’Expert Sélection apparaît.
3 Choisissez est égal à dans la liste déroulante.
4 Choisissez les paramètres dans la liste déroulante adjacente.
Cet exemple utilise {?Pays}.

Crystal Reports Guide de l’utilisateur 509


scr8.book Page 510 Monday, April 2, 2001 12:29 PM

Généralités sur les paramètres

5 Cliquez sur OK.


6 Cliquez sur l'onglet Aperçu.
La boîte de dialogue Entrer des valeurs de paramètre s'affiche.
7 Sélectionnez le pays sur lequel l'état doit être basé.
Dans cet exemple, le Brésil est utilisé.

8 Cliquez sur OK.


La boîte de dialogue Modifier une formule de sélection d'enregistrements
s'affiche.
9 Cliquez sur Actualiser les données.
L'état apparaît avec les informations concernant le Brésil.
Les champs de paramètres permettent de créer un état unique pouvant être
personnalisé rapidement pour répondre à plusieurs exigences différentes.

Suppression des champs de paramètres


Il existe plusieurs méthodes pour supprimer des champs de paramètres dans un
état. Le type de paramètre à supprimer détermine la méthode pouvant être utilisée.

Pour supprimer un paramètre n'étant pas utilisé dans une formule


1 Choisissez la commande Objet champ du menu Insérer.
L'Explorateur de champs apparaît.

510 Crystal Reports Guide de l’utilisateur


scr8.book Page 511 Monday, April 2, 2001 12:29 PM

25 : Champs de paramètres

2 Développez le dossier Champs de paramètres, puis cliquez sur le paramètre à


supprimer.
3 Cliquez sur Supprimer.
Une boîte de dialogue Crystal Reports s'affiche pour vous permettre de
confirmer la suppression du paramètre.
4 Cliquez sur Oui.
Ce paramètre est supprimé du dossier Champs de paramètres et de votre état.

Pour supprimer un paramètre utilisé dans l'Expert Sélection


1 Dans le menu Etat, cliquez sur Expert Sélection.
Truc : Vous pouvez également effectuer cette opération en cliquant sur l'Expert
Sélection dans la barre d'outils standard.
La boîte de dialogue Expert Sélection s'affiche.
2 Choisissez l'onglet dont les critères de sélection utilisent le paramètre que vous
souhaitez supprimer.
3 Cliquez sur Supprimer.
4 Cliquez sur OK pour fermer l'Expert Sélection.
5 Dans le menu Insérer, cliquez sur Objet champ.
6 Développez le dossier Champs de paramètres, puis cliquez sur le paramètre à
supprimer.
7 Cliquez sur Supprimer.

Pour supprimer un paramètre utilisé dans une formule


1 Dans le menu Insérer, cliquez sur Objet champ.
L'Explorateur de champs apparaît.
2 Dans le dossier Champs de formules, sélectionnez la formule contenant le
paramètre à supprimer.
3 Cliquez sur Modifier, puis supprimez le champ de paramètre de la formule.
Remarque : Si le paramètre figure dans plusieurs formules, vous devez le
supprimer de chaque formule.
4 Fermez l'Editeur de formule.
5 Développez le dossier Champs de paramètres, puis cliquez sur le paramètre à
supprimer.
6 Cliquez sur Supprimer.

Crystal Reports Guide de l’utilisateur 511


scr8.book Page 512 Monday, April 2, 2001 12:29 PM

Généralités sur les paramètres

Réponse aux invites de paramètres

Prévisualisation d'un état pour la première fois


Lorsque vous prévisualisé un état pour la première fois, la boîte de dialogue Entrer
les valeurs de paramètres apparaît, vous invitant à entrer une valeur.
 Si vous avez spécifié une valeur par défaut lors de la création du champ de
paramètre, le programme utilisera cette valeur, à moins que vous ne spécifiez
une nouvelle valeur.
 Si vous n'avez pas spécifié de valeur par défaut, le programme n'actualisera
pas les données tant qu'une valeur ne sera pas spécifiée.
Remarque : Si le paramètre est de type chaîne, sans valeur par défaut, et que rien
n'est entré dans le champ valeur discrète, une chaîne vide apparaît.

Actualisation des données de l'état


Lors de l'actualisation des données dans l'onglet Aperçu, la boîte de dialogue
Actualiser les données de l'état apparaît.

Cliquez sur l'option Utiliser les valeurs de paramètre actuelles si vous désirez
utiliser la valeur actuelle.
Cliquez sur l'option Demander des nouvelles valeurs de paramètre si vous voulez
entrer une nouvelle valeur. Confirmez alors en cliquant sur OK et la boîte de
dialogue Entrer des valeurs de paramètre apparaît.
 Saisissez des valeurs de chaînes exactement comme elles apparaîtront dans les
champs. Si le champ de paramètre permet des valeurs multiples, vous pourrez
entrer des valeurs de paramètre supplémentaires à l'aide du bouton Ajouter.
 Saisissez des valeurs booléennes selon le format suivant : TRUE (Vrai) ou
FALSE (Faux).
 Entrez les valeurs numériques exactement comme elles apparaîtront dans le
champ.
 Entrez les valeurs monétaires exactement comme elles apparaîtront dans le
champ.

512 Crystal Reports Guide de l’utilisateur


scr8.book Page 513 Monday, April 2, 2001 12:29 PM

25 : Champs de paramètres

 Saisissez des valeurs de type Date selon le format affiché à l'écran. Lorsque le
format n'est pas spécifié, utilisez le format suivant (jour, mois, année). Par
exemple, date (21, 5, 1997). Pour accéder au calendrier, cliquez sur la flèche de
la zone de liste déroulante.
 Saisissez des valeurs de type Heure selon le format affiché à l'écran. Lorsque le
format n'est pas spécifié, utilisez le format suivant (Heure, Minutes, Secondes
AM/PM). Par exemple, Heure (04:32:12 PM). Vous pouvez aussi sélectionner
une unité de temps et utiliser les flèches haut et bas pour parcourir la liste de
nombres.
 Entrez les valeurs DateHeure en utilisant le format suivant : Date (Année/
Mois/Jour), Heure (Heure: Minutes: Secondes AM/PM). Par exemple, Date
(1997, 5, 21), Heure (04:32:12 AM). Vous pouvez aussi entrer les valeurs
DateHeure en utilisant les flèches de menus déroulantes associées pour accéder
au calendrier et les flèches haut et bas pour parcourir les valeurs d'heure.
Remarque : La flèche de liste déroulante permettant l'accès au calendrier pour
les dates et les flèches haut et bas pour les heures ne seront disponibles que si
la version appropriée de comctl32.dll (version 4.70 ou ultérieure) est installée.
Pour utiliser une valeur différente de la valeur par défaut affichée, tapez une
nouvelle valeur dans la zone modifiable et cliquez sur OK.
Si vous souhaitez utiliser la valeur par défaut, cliquez sur OK.
 Si le champ de paramètre est limité à une plage de valeurs, seules les valeurs
comprises dans cette plage peuvent être entrées. Les limites de la plage sont
spécifiées dans la boîte de dialogue Définir la valeur par défaut, lors de la
création ou de la modification du paramètre.
 Si le paramètre est de type chaîne, il est possible de limiter les valeurs pouvant
être entrées en utilisant l'option de limite de longueur ou en utilisant un
masque d'édition pour restreindre le format.
Le programme exécute alors l'état en utilisant les nouvelles valeurs spécifiées.

Fonctionnalités avancées des paramètres


Il existe plusieurs utilisations possibles des paramètres dans un état. Cette section
aborde certaines méthodes avancées pour l'utilisation des paramètres :
 Création d'un paramètre utilisant des valeurs multiples
 Utilisation de mise en forme conditionnelles au moyen de champs de
paramètres
 Création d'un titre d'état à l'aide de champs de paramètres
 Utilisation de valeurs uniques ou faisant partie d'une plage
 Incorporation d'un paramètre dans une formule
 Définition de l'ordre de tri au moyen des champs de paramètres
 Définition du type et du format de l'entrée à l'aide du masque d'édition.

Crystal Reports Guide de l’utilisateur 513


scr8.book Page 514 Monday, April 2, 2001 12:29 PM

Généralités sur les paramètres

Création d'un paramètre utilisant des valeurs multiples


1 Dans le menu Insérer, cliquez sur Objet champ.
2 Sélectionnez Champs de paramètres, puis cliquez sur Nouveau.
3 Entrez un nom et un texte d'invite.
4 Sélectionnez un type de valeur.
5 Sélectionnez la case à cocher Permettre multiples valeurs pour autoriser
l'utilisation de plusieurs valeurs pour le paramètre.
6 Cliquez sur Définir les valeurs par défaut pour déterminer le type de données
pouvant être entrées.
La boîte de dialogue Définir les valeurs par défaut apparaît.
7 Dans la liste déroulante Table à parcourir, sélectionnez la table pour les
valeurs par défaut.
8 Dans la liste déroulante Champ à parcourir, sélectionnez le champ contenant
les valeurs par défaut.
Les valeurs associées à cette table et à ce champ apparaissent dans la zone
“ Sélectionnez ou entrez la valeur à ajouter ”.
9 Sélectionnez les valeurs dans la liste ou créez-en d'autres et déplacez-les dans
la zone Valeurs par défaut en utilisant les boutons fléchés.
10 Ajustez l'ordre, l'affichage et la limite de longueur à votre convenance.
11 Cliquez sur OK.

Utilisation de mise en forme conditionnelles au moyen de champs


de paramètres
Les champs de paramètres peuvent être utilisés pour créer des formules de mise
en forme conditionnelle. Il est possible de personnaliser ces formules lors de
l'actualisation des données de l'état. Une formule de mise en forme conditionnelle
peut être utilisée pour colorer des données répondant à certaines conditions. Par
exemple :
 agents commerciaux ayant dépassé leur quota de plus de 10 % ;
 clients n'ayant rien commandé au cours du dernier trimestre ;
 articles en stock n'ayant fait l'objet d'aucun mouvement au cours du dernier mois.
Si les conditions de marquage de ces éléments ne sont jamais modifiées, n'utilisez
pas les champs de paramètres. Utilisez uniquement les formules (pour le texte) ou
la mise en forme conditionnelle (pour les bordures). Si, au contraire, vous
souhaitez les modifier d'un état à l'autre, ces champs vous seront utiles.

514 Crystal Reports Guide de l’utilisateur


scr8.book Page 515 Monday, April 2, 2001 12:29 PM

25 : Champs de paramètres

Pour appliquer une mise en forme conditionnelle au moyen de


champs de paramètres
1 Créez un champ de paramètre appartenant au type de données dont vous avez
besoin dans la formule.
2 Créez la formule et utilisez le champ de paramètre au lieu de la valeur fixe que
vous auriez normalement utilisée.
3 Par exemple, afin d'imprimer en rouge les noms des clients dont les ventes de
l'année précédente ont dépassé une certaine valeur (que vous serez invité à
saisir), sélectionnez le champ Ventes de l'année précédente et cliquez sur le
bouton Format de la barre d'outils supplémentaire.
L’Editeur de format apparaît.
4 Cliquez sur le bouton Formule conditionnelle à côté de la propriété Couleur
dans l'onglet Police. Mettez en forme le champ à l'aide d'une formule de mise
en forme conditionnelle, comme celle-ci :
If {client.VENTES DE L'ANNEE PRECEDENTE} >{?PrévisionDesVentes} Then
Rouge
Else
Noir
Désormais, lorsque vous mettrez à jour vos données, le logiciel vous invitera à
entrer la valeur seuil en question qui déterminera le changement de couleur. Les
noms des clients remplissant cette condition s'imprimeront en rouge. Vous pouvez
changer le seuil à chaque exécution de l'état, le logiciel marquant un groupe de
clients différent à chaque fois.
Pour plus d'informations, consultez “Fonctions de mise en forme conditionnelle”
à la page 445.

Création d'un titre d'état à l'aide de champs de paramètres


Crystal Reports permet d'utiliser les champs de paramètres pour créer un titre
d'état pouvant être différent à chaque actualisation de l'état.

Pour créer un titre d'état à l'aide de champs de paramètres


1 Dans le menu Insérer, cliquez sur Objet champ.
L'Explorateur de champs apparaît.
2 Sélectionnez Champs de paramètres, puis cliquez sur Nouveau.
La boîte de dialogue Créer un champ de paramètre apparaît.
3 Tapez le nom du champ de paramètre dans le champ Nom.
4 Tapez le texte d'invite voulu dans le champ Texte d'invite.
5 Sélectionnez le type chaîne dans la liste déroulante Type de valeur.

Crystal Reports Guide de l’utilisateur 515


scr8.book Page 516 Monday, April 2, 2001 12:29 PM

Généralités sur les paramètres

6 Cliquez sur Définir les valeurs par défaut.


La boîte de dialogue Définir les valeurs par défaut apparaît.
7 Pour spécifier un titre par défaut, tapez le texte voulu dans le champ
Sélectionnez ou entrez la valeur à ajouter et cliquez > pour ajouter le titre à la
zone Valeurs par défaut.
Remarque : Poursuivez l'ajout de titres selon vos besoins.
8 Cliquez sur OK.
La boîte de dialogue Créer un champ de paramètre apparaît.
9 Cliquez sur OK.
L'Explorateur de champs apparaît, avec le nouveau paramètre sélectionné.
10 Placez le champ de paramètre dans la section de l'en-tête de page pour que le
titre apparaisse sur chaque page, ou dans la section de l'en-tête de l'état pour
que le titre n'apparaisse que sur la première page de l'état.
Le programme vous invite maintenant à entrer le titre de l'état à chaque
actualisation de l'état. Il est alors possible, si vous le désirez, de changer le titre de
l'état à chaque exécution de l'état.

Utilisation de valeurs uniques ou faisant partie d'une plage


1 Sélectionnez l'option Valeurs discrètes ou l'option Valeurs de plages pour
spécifier si le paramètre acceptera une plage de valeurs.
 Si vous sélectionnez Valeurs discrètes, le champ de paramètre acceptera
des valeurs uniques (plutôt que des plages de valeurs).
 Si vous sélectionnez Valeurs de plage, vous pouvez alors spécifier une
valeur de départ et une valeur de fin lors de l'invite d'entrée des valeurs de
paramètres, et l'état n'affichera que les enregistrements compris dans cette
plage. Si vous entrez par exemple les valeurs “ 5 ” et “ 10 ”, la plage est
alors 5-10, et l'état affichera tous les enregistrements comportant des
valeurs entre 5 et 10. Ceci est aussi applicable aux champs de paramètres de
type chaîne. En utilisant une valeur de départ égale à “ A ” et une valeur de
fin égale à “ E ”, l'état affichera tous les enregistrements se trouvant entre A
et E dans l'ordre alphabétique.
Remarque : Si les options “ Permettre multiples valeurs ” et “ Valeurs discrètes
” sont sélectionnées, le champ de paramètre acceptera plusieurs valeurs
uniques. Dans ce cas, il est possible d'entrer plus d'une valeur, mais ces valeurs
seront évaluées individuellement et ne seront pas interprétées comme une
plage. Si les options “ Permettre multiples valeurs ” et “ Valeurs de plages ”
sont sélectionnées, le champ de paramètre acceptera plusieurs plages.
2 Si cela est possible, cliquez sur Définir les valeurs par défaut pour sélectionner
la case à cocher Limite de longueur et choisir la longueur du champ.

516 Crystal Reports Guide de l’utilisateur


scr8.book Page 517 Monday, April 2, 2001 12:29 PM

25 : Champs de paramètres

Si vous sélectionnez Limite de longueur :


 pour les champs de paramètres de type Monnaie ou Nombre, les champs
“ Valeur Min ” et “ Valeur Max ” apparaissent ;
 pour un champ de paramètre de type DateHeure, les champs “ Date-heure
de début ” et “ Date-heure de fin ” apparaissent ;
 pour un champ de paramètre de type Date, les champs “ Date de début ” et
“ Date de fin ” apparaissent ;
 pour un champ de paramètre de type Heure, les champs “ Heure de début ”
et “ Heure de fin ” apparaissent.

Incorporation d'un paramètre dans une formule


1 Dans le menu Insérer, cliquez sur Objet champ.
L'Explorateur de champs apparaît.
2 Sélectionnez Champs de paramètres, puis cliquez sur Nouveau.
La boîte de dialogue Créer un champ de paramètre apparaît.
3 Créez un champ de paramètre et enregistrez-le.
4 Sélectionnez Champs de Formule, puis cliquez sur Nouveau.
La boîte de dialogue Nom de formule apparaît.
5 Entrez le nom de la formule, puis cliquez sur OK.
6 Créez une formule utilisant le champ de paramètre comme s'il s'agissait d'une
valeur constante. Par exemple, au lieu de créer une formule contenant les
noms de pays dans son code :
{client.PAYS} = "E-U"
Utilisez un champ de paramètre au lieu de “ E-U ”.
{client.PAYS} = {?Pays}
Pour ce faire, cliquez deux fois sur le champ de base de données, appuyez sur
la touche = puis cliquez deux fois sur le paramètre.
Truc : Les champs de paramètres sont facilement identifiables grâce au signe (?).
7 Cliquez sur Enregistrer et fermer.
La boîte de dialogue de l'Explorateur de champs apparaît. Le nom de la formule
que vous venez de créer est mis en surbrillance dans la zone de liste de Formules.
8 Faites glisser, puis relâchez la formule dans l'état.
9 Cliquez sur Fermer pour quitter la boîte de dialogue de l'Explorateur de
champs.
10 Cliquez sur Actualiser pour générer l'état.
Une boîte de dialogue apparaît, vous invitant à entrer des valeurs.

Crystal Reports Guide de l’utilisateur 517


scr8.book Page 518 Monday, April 2, 2001 12:29 PM

Généralités sur les paramètres

Définition de l'ordre de tri au moyen des champs de paramètres


Pour définir l'ordre de tri à l'aide de champs de paramètres, vous devez d'abord
créer une formule comprenant un champ de paramètre puis effectuer le tri sur
cette formule. Supposons, par exemple, que vous possédiez une liste de clients
basée sur la table Client. Pour chaque client, le nom du client, la ville, la région, le
pays et le numéro de téléphone sont affichés. Vous voulez trier l'état par pays,
région ou ville, en fonction de vos exigences du moment.
1 Créez un champ de paramètre et nommez-le TrierChamp.
2 Dans la zone d'édition Texte d'invite, entrez une invite similaire à celle-ci :
Tapez sur R pour trier par région ou V pour trier par ville, sinon les
données seront triées par pays.
3 Sélectionnez le type Chaîne dans la liste déroulante Type de valeur.
4 Vous voudrez peut-être limiter le nombre de caractères pouvant être tapés par
l'utilisateur à un. Si tel est le cas, cliquez sur Définir les valeurs par défaut.
La boîte de dialogue Définir les valeurs par défaut apparaît.
5 Activez la case à cocher Limite de longueur et entrez la valeur 1 dans les zones
de texte Longueur min. et Longueur max., puis cliquez sur OK.
Le champ de paramètre acceptera maintenant les valeurs comportant un seul
caractère uniquement. Le champ acceptera la valeur “ V ”, mais pas la valeur
“ Ville ”.
6 Créez une formule semblable à celle-ci et appelez-la Tri :
If {?TrierChamp} = "V" Then {client.VILLE}
Else
If {?TrierChamp} = "R" Then {client.REGION}
Else
{client.PAYS}
Cette formule invite à entrer une valeur pour le champ de paramètre
{?TrierChamp}. Lorsque vous entrez “ V ”, la formule fait porter le tri sur le
champ Ville. Par contre, lorsque vous entrez “ R ” le tri porte sur le champ
Région. Si vous entrez une autre lettre ou si vous n'entrez rien, la formule sera
triée selon le champ Pays.
Pour plus d'informations, reportez-vous à “Instructions If” à la page 450.
7 Placez la formule dans la section d'en-tête de l'état et sélectionnez Supprimer
(sans exploration) dans l'Expert Section pour qu'elle ne soit pas imprimée.
8 Cliquez sur Trier des enregistrements.
9 Sélectionnez la formule de votre choix, puis cliquez sur Ajouter.
10 Cliquez sur OK.
A chaque exécution de l'état, vous serez maintenant invité à choisir le champ de tri.
La formule retournera une valeur basée sur votre sélection et le tri utilisera cette
valeur comme champ de tri.

518 Crystal Reports Guide de l’utilisateur


scr8.book Page 519 Monday, April 2, 2001 12:29 PM

25 : Champs de paramètres

Définition du type et du format de l'entrée à l'aide du masque


d'édition
1 Dans le menu Insérer, cliquez sur Objet champ.
2 Sélectionnez Champs de paramètres, puis cliquez sur Nouveau.
La boîte de dialogue Créer un champ de paramètre apparaît.
3 Entrez le nom, le texte d'invite et le type de valeur.
4 Cliquez sur Définir les valeurs par défaut.
Pour un champ de paramètre de type chaîne dont les valeurs par défaut doivent
être spécifiées, vous pouvez choisir d'entrer un masque d'édition dans le champ
Masque d'édition plutôt que de spécifier une plage. Un masque d'édition peut
être constitué d'un ensemble de caractères utilisés pour restreindre les valeurs
pouvant être saisies comme valeurs de paramètres (il permet aussi de
restreindre les valeurs pouvant être saisies comme valeurs d'invite par défaut).
Vous pouvez entrer l'un des caractères de masque suivants ou toute
combinaison de ces caractères :
 “ A ” (autorise tout caractère alphanumérique et requiert l'entrée d'un
caractère comme valeur du paramètre)
 “ a ” (autorise tout caractère alphanumérique et ne requiert pas
obligatoirement l'entrée d'un caractère dans la valeur de paramètre)
 “ 0 ” (autorise un chiffre [de 0 à 9] et requiert obligatoirement l'entrée d'un
caractère dans la valeur du paramètre)
 “ 9 ” (autorise un chiffre ou un espace et ne requiert pas obligatoirement
l'entrée d'un caractère dans la valeur de paramètre)
 “ # ” (autorise l'entrée d'un chiffre, un espace, le signe plus/moins et ne
requiert pas obligatoirement l'entrée d'un caractère dans la valeur de
paramètre)
 “ L ” (autorise l'entrée d'une lettre [de A à Z], et requiert obligatoirement
l'entrée d'un caractère dans la valeur de paramètre)
 “?” “ ? ” (autorise l'entrée d'une lettre et ne requiert pas obligatoirement
l'entrée d'un caractère dans la valeur du paramètre)
 “ & ” (autorise l'entrée d'un caractère ou d'un espace, et requiert
obligatoirement l'entrée d'un caractère dans la valeur du paramètre)
 “ C ” (autorise l'entrée d'un caractère ou d'un espace et ne requiert pas
obligatoirement l'entrée d'un caractère dans la valeur de paramètre)
 “. , : ; - / ” (séparateurs). L'insertion de séparateurs dans un masque
d'édition est similaire au codage en dur du format d'un champ de
paramètre. Lorsque le champ est placé dans l'état, le séparateur apparaît
dans le cadre de l'objet champ, comme dans l'exemple suivant : LLLL/0000.
Cet exemple correspond à un masque d'édition nécessitant l'entrée de
quatre lettres suivies de quatre nombres.

Crystal Reports Guide de l’utilisateur 519


scr8.book Page 520 Monday, April 2, 2001 12:29 PM

Généralités sur les paramètres

 “<“ (entraîne la conversion en minuscules des caractères qui suivent ce


signe)
 “>” (entraîne la conversion en majuscules des caractères qui suivent ce
signe)
 “ \ ” (entraîne l'affichage littéral du caractère qui suit ce signe). Par
exemple, le masque d'édition “ \A ” afficherait une valeur de paramètre
égale à “ A ”. Si le masque d'édition est “ 00\A00 ”, les valeurs de
paramètres valides seraient alors composées de deux chiffres, la lettre “ A ”
et deux chiffres supplémentaires.
 “ Mot de passe ”. Vous permet de définir le masque d'édition comme “ Mot
de passe ” et de créer des formules conditionnelles spécifiant que certaines
sections de l'état ne sont visibles que lorsque certains mots de passe utilisateur
sont entrés.
Remarque : Certains caractères du masque d'édition nécessitent l'entrée d'un
caractère à leur place (lors de l'entrée d'une valeur de paramètre), alors que
d'autres vous permettent de laisser un blanc si nécessaire. Si le masque
d'édition est par exemple 000099, vous pouvez entrer une valeur de paramètre
avec quatre chiffres, cinq chiffres, ou six chiffres, puisque le caractère de
masque d'édition “ 9 ” ne requiert pas obligatoirement l'entrée d'un caractère.
Toutefois, puisque “ 0 ” requiert obligatoirement l'entrée d'un caractère, il n'est
pas possible d'entrer une valeur comportant moins de quatre chiffres.
5 Entrez les valeurs d'invite par défaut en ajoutant ou en mettant en surbrillance
des valeurs dans la liste “ Sélectionnez ou entrez la valeur à ajouter ” et utilisez
les boutons Ajouter et Ajouter tout pour ajouter ces valeurs à la liste Valeurs
par défaut.
Vous pouvez utiliser les boutons Supprimer et Supprimer tout pour supprimer
des valeurs d'invite de la liste. Les éléments que vous ajoutez apparaissent dans
la liste déroulante de la boîte de dialogue Entrer des valeurs de paramètre avec
les valeurs d'invite par défaut que vous spécifiez.
6 Cliquez sur OK.
La boîte de dialogue Créer un champ de paramètre apparaît.
Remarque : Lorsqu'il y a plus d'un élément dans la zone de liste “| Valeurs par
défaut ”, la case à cocher “ Permettre l'édition des valeurs par défaut ” apparaît.
Cette case à cocher est sélectionnée par défaut pour spécifier que l'entrée de
nouvelles valeurs est autorisée lors de l'invite des valeurs de paramètre.
Activez ou désactivez cette case à cocher en fonction de vos besoins.
7 Cliquez sur OK.
L'Explorateur de champs apparaît avec le paramètre sélectionné.
8 Faites glisser et relâchez le paramètre dans l'état.

520 Crystal Reports Guide de l’utilisateur


scr8.book Page 521 Monday, April 2, 2001 12:29 PM

Sous-états 26

Un sous-état correspond à un état imbriqué dans un état.


Les états sans relations peuvent être combinés dans un état
unique au moyen des sous-états. Vous pouvez coordonner
des données qui ne seraient autrement pas liées et présenter
différents aperçus des mêmes données dans un état unique.
Ce chapitre décrit la création et l'utilisation des sous-états.

Crystal Reports Guide de l’utilisateur 521


scr8.book Page 522 Monday, April 2, 2001 12:29 PM

Sous-état

Sous-état
Un sous-état correspond à un état imbriqué dans un état. Le processus de création
d'un sous-état est similaire au processus de création d'un état normal. Un sous-état
peut recevoir la plupart des caractéristiques d'un état, ce qui inclut son propre
critère de sélection des enregistrements. Il existe cependant quelques différences,
à savoir qu’un sous-état :
 s'insère comme un objet dans un état principal et ne peut donc exister
indépendamment (bien qu’un sous-état puisse être enregistré en tant qu’état
principal) ;
 peut être inséré dans n'importe quelle section de l'état principal, où il sera
imprimé dans sa totalité ;
 ne peut pas contenir un autre sous-état.
De façon générale, vous serez amené à créer un sous-état dans les quatre cas
suivants :
 Pour fusionner deux états indépendants en un seul. Voir “Combinaisons
d'états indépendants à l’aide de sous-états” à la page 531.
 Pour associer des données s'il n'est pas possible d'établir d’autres formes de
liaison entre elles. Voir “Utilisation des sous-états avec des données
impossibles à lier” à la page 532.
 Pour grouper plusieurs affichages des mêmes données dans un seul état. Voir
“Affichage sous différentes vues des mêmes données dans un état” à la
page 536.
 Pour effectuer des recherches de type un-à-plusieurs à partir d’un champ qui
n’est pas indexé sur le champ de recherche. Voir “Liaisons un à plusieurs” à la
page 597.
Remarque : Vous pouvez augmenter la performance des états contenant des sous-
états en utilisant des sous-états à la demande au lieu d'utiliser des sous-états
prédéterminés.

Sous-états liés et non-liés

Sous-états non-liés
Un sous-état non-lié peut être considéré comme une entité en soi. Il n'existe aucune
corrélation entre ses données et celles de l'état principal.
Avec les sous-états non liés, les enregistrements des états ne sont pas comparés. Un
sous-état non lié peut fort bien utiliser les mêmes données que l'état principal, et il
peut aussi utiliser une source de données totalement différente. Cela ne signifie
pas qu’un sous-état soit limité à l'utilisation d'une seule table. Un sous-état non lié
peut ainsi être basé sur une table unique ou sur plusieurs tables. Quelles que soient
les sources de données utilisées, les états sont traités de façon indépendante.

522 Crystal Reports Guide de l’utilisateur


scr8.book Page 523 Monday, April 2, 2001 12:29 PM

26 : Sous-états

Sous-états liés
Dans le cas des sous-états liés, au contraire, les données sont associées. Le logiciel
établit un rapprochement entre les enregistrements du sous-état et ceux de l’état
principal. Supposons que vous créez un état principal avec la liste de vos clients et
un sous-état avec la liste des commandes. Si vous les liez, le logiciel crée un sous-
état pour chaque client et y inclut la liste des commandes passées par ce client.

Mode de fonctionnement des sous-états


Le lien entre un sous-état et un état principal s'établit par l'intermédiaire d'un
champ de paramètre.
Lorsque vous sélectionnez un champ de liaison de sous-état :
 le logiciel crée, dans le sous-état, un champ de paramètre qui permet à l'état
principal de lui transmettre les valeurs ;
 le logiciel se sert du champ de paramètre pour créer une formule de sélection
d'enregistrements du sous-état ;
 la formule de sélection limite le sous-état aux enregistrements pour lesquels le
champ de liaison est égal à la valeur du champ de paramètre.
Lors de l’exécution de l’état, le logiciel recherche le premier champ dont il a besoin
dans l'état principal et, via le champ de liaison, passe sa valeur au champ de
paramètre du sous-état. Le logiciel crée alors un sous-état en sélectionnant les
enregistrements sur la base de la valeur du champ de paramètre. Voici un exemple :
 Vous créez un état de vos clients et un sous-état des commandes passées. Vous
décidez de créer un lien entre ces deux états sur la base du champ ID Client.
 Lors de l’exécution de l’état, le logiciel prend le premier enregistrement de
client, et passe la valeur de son champ ID Client dans le champ de paramètre
du sous-état.
 Le logiciel exécute alors le sous-état de Commandes. La formule de sélection
de ce sous-état ne conserve que les commandes dans lesquelles l’ID Client est
égal au contenu du champ de paramètre, c'est-à-dire ici celui du premier
client. Vous obtenez donc dans le sous-état les commandes de ce premier
client uniquement.
 Lorsque le premier sous-état est terminé, le logiciel passe au deuxième
enregistrement de l’état principal, imprime les données du client et transfère
de façon similaire l’ID Client correspondant dans le champ de paramètre.
 Crystal Reports construit un sous-état ne comprenant que les enregistrements
de commandes concernant le second client.
 Le processus se poursuit jusqu'à la fin de l’état.
 Cette opération se déroule en arrière-plan. Indiquez simplement les champs
avec lesquels l'état principal sera lié au sous-état et le logiciel fait le reste. Les
valeurs sont transmises par l'intermédiaire du champ de paramètre sans
intervention de l'utilisateur.

Crystal Reports Guide de l’utilisateur 523


scr8.book Page 524 Monday, April 2, 2001 12:29 PM

Sous-état

Remarque : Lorsque vous prévisualisez un sous-état lié en cliquant sur le bouton


Aperçu dans la barre d’outils standard, à partir de l'onglet Conception du sous-
état, Crystal Reports exécute le sous-état indépendamment, sans recevoir une
valeur du champ de paramètre de l’état principal et sans évaluer la formule de
légende de l'onglet Aperçu. Dans un tel cas, le logiciel affiche la boîte de dialogue
Entrer des valeurs de paramètre vous invitant à entrer une valeur.
La valeur entrée dans la liste déroulante est la valeur utilisée par le programme
pour exécuter le sous-état.

Liaisons entre bases de données et sous-états dans des situations un-à-


plusieurs
Lorsque votre état comprend deux tables liées, la méthode de recherche des
données diffère selon :
 la source de données,
 la situation de l’indexation,
 les critères de sélection d’enregistrements,
 s'il s'agit d'un état unique avec des tables liées ou d'un état principal contenant
un sous-état.
Avant de choisir entre des tables liées ou un sous-état, il est important de prendre
en considération toutes les implications d'un tel choix. Cette question est traitée de
manière approfondie dans “Amélioration des performances dans les liaisons un-à-
plusieurs” à la page 545.
En règle générale, si vous avez :
 des tables indexées,
 des champs indexés liés,

524 Crystal Reports Guide de l’utilisateur


scr8.book Page 525 Monday, April 2, 2001 12:29 PM

26 : Sous-états

 des plages limitant les critères de sélection d'enregistrements sur la base des
champs indexés,
le logiciel doit lire le même nombre d’enregistrements, que vous travailliez avec
des tables liées dans un état unique ou avec des sous-états. Cependant, étant donné
que chaque sous-état est lancé comme un état séparé, il peut-être avantageux
d’utiliser des tables liées pour des questions de performance. Voir “Tables
indexées” à la page 542.

Insertion d'un sous-état


1 Dans le menu Insérer, cliquez sur le bouton Sous-état.
La boîte de dialogue Insérer un sous-état s'affiche.

2 Pour choisir un sous-état existant, cliquez sur Sélectionner un état et entrez


son nom. Si vous ne connaissez pas le nom de l'état, utilisez le bouton
Parcourir et recherchez-le dans la boîte de dialogue qui apparaît.
Pour créer un nouveau sous-état, cliquez sur “ Créer un sous-état ” et tapez un
nom. Pour obtenir de l'aide à la création du sous-état, cliquez sur le bouton
Expert Etat.
3 Choisissez Sous-état à la demande pour avoir la possibilité de récupérer les
données dans le sous-état le cas échéant. Dans le cas contraire, toutes les
données du sous-état apparaîtront dans l'état.
4 Cliquez sur OK.
Le logiciel affiche un cadre d'insertion.
5 Déplacez ce cadre à l’endroit où vous voulez qu’il apparaisse dans votre état et
cliquez une fois pour le placer.

Crystal Reports Guide de l’utilisateur 525


scr8.book Page 526 Monday, April 2, 2001 12:29 PM

Insertion d'un sous-état

Si vous avez importé votre sous-état, le logiciel crée un onglet Conception de


sous-état portant le nom du sous-état.
 Pour le modifier, cliquez sur l'onglet Conception du sous-état et entrez vos
modifications.
 Si vous ne désirez plus modifier votre état, votre travail est terminé.
Si vous créez un nouveau sous-état, le logiciel crée un onglet Conception de
sous-état portant le nom du sous-état.
 Pour parfaire le travail accompli avec l'Expert, cliquez sur l'onglet
Conception du sous-état et terminez votre sous-état comme vous le
feriez avec n’importe quel autre état.
 Si vous ne désirez plus modifier votre état, votre travail est terminé.

6 Cliquez sur l'onglet Aperçu pour afficher votre état.


7 Si vous sélectionnez l'option “ Sous-état à la demande ”, cliquez sur l'onglet
d'aperçu du sous-état pour afficher le sous-état.
Cet onglet porte le nom de votre sous-état.
Remarque : L'utilisation de sous-états à la demande accroît les performances des
états qui comportent des sous-états.
Pour plus d’informations sur le placement d’une légende personnalisée dans
l’onglet Aperçu de sous-état, voir “Ajout de légendes aux sous-états à la demande”
à la page 535.

Comment prévisualiser votre sous-état


Il est parfois intéressant de prévisualiser un sous-état sans afficher l’état principal.
Par exemple, vous pouvez prévisualiser le sous-état pour vérifier et analyser des
données pour un ensemble précis de valeurs de paramètres.

Pour prévisualiser un sous-état


1 Cliquez sur l'onglet de conception du sous-état.
Cet onglet porte le nom de votre sous-état.
2 Cliquez sur Aperçu de la barre d’outils standard.
Le logiciel affiche un aperçu du sous-état sélectionné.

526 Crystal Reports Guide de l’utilisateur


scr8.book Page 527 Monday, April 2, 2001 12:29 PM

26 : Sous-états

Comment enregistrer un sous-état en tant qu’état principal


Il est parfois avantageux d'enregistrer un sous-état en tant qu’état principal pour
diffuser ses informations à plusieurs utilisateurs. Par exemple, l’état principal
contenant le sous-état peut être pertinent pour une réunion d’actionnaires à la fin de
l’année fiscale, mais les données du sous-état peuvent être utiles quotidiennement
par vos directeurs. Dans de tels cas, il est facile d’enregistrer le sous-état comme un
état principal.

Pour enregistrer un sous-état comme état principal


1 Dans l’onglet Conception, cliquez avec le bouton droit de la souris sur le sous-état
et sélectionnez la commande Enregistrer le sous-état sous du menu contextuel.
La boîte de dialogue Enregistrer sous apparaît.
2 Sélectionnez le répertoire voulu dans la zone de liste.
3 Entrez un nouveau nom pour le sous-état.
4 Cliquez sur Enregistrer.
Le logiciel enregistre le sous-état en tant qu’état principal, vous permettant
ainsi de l’ouvrir séparément si nécessaire.

Mise à jour des sous-états


Pour maintenir les sous-états à jour, il peut être nécessaire de réimporter un sous-
état automatiquement lors de l'ouverture de l'état principal.
Remarque : Il n'est possible de réimporter que des sous-états créés depuis un
fichier d'état.
La réimportation met à jour les données ainsi que la mise en forme, le
regroupement et la structure du sous-état si des modifications ont été apportées. Si
vous modifiez l'état sur lequel le sous-état était basé à l'origine, ces modifications
sont reflétées dans l'état contenant le sous-état.
Vous pouvez spécifier la réimportation automatique de tous les sous-états, ou la
réimportation d'un sous-état spécifique.

Pour mettre à jour tous les sous-états lors de l'ouverture de l'état


principal
1 Choisissez la commande Options dans le menu Fichier.
2 Dans la boîte de dialogue Options, cliquez sur l'onglet Nouvel état.
3 Cliquez sur Réimporter les sous-états à l'ouverture des états.
4 Cliquez sur OK.
Tous les sous-états seront mis à jour lors de l'ouverture et de l'actualisation de
leur état principal.

Crystal Reports Guide de l’utilisateur 527


scr8.book Page 528 Monday, April 2, 2001 12:29 PM

Liaisons d'un sous-état aux données de l’état principal

Pour mettre à jour un sous-état spécifique lors de l'ouverture de


l'état principal
1 Dans le menu Mettre en forme, cliquez sur Mettre en forme un sous-état.
2 Dans la boîte de dialogue de l'Editeur de format, cliquez sur l'onglet Sous-état.
3 Cliquez sur Réimporter à l’ouverture.
Le sous-état actuel sera mis à jour lorsque l'état principal sera ouvert et actualisé.

Mise à jour manuelle des données d'un sous-état


Vous pouvez à tout moment mettre à jour les données d'un sous-état.
1 Dans l'onglet Conception, cliquez avec le bouton droit de la souris sur le sous-état.
2 Cliquez sur Réimporter le sous-état dans le menu contextuel.
3 Cliquez sur Oui pour mettre à jour les données du sous-état.

Liaisons d'un sous-état aux données de l’état principal


Les données des sous-états viennent souvent enrichir celles de l'état principal. Par
exemple, les informations sur les commandes de client du sous-état sont
complémentaires aux informations sur les clients contenues dans l'état principal.

Données de l'état principal Données du sous-état lié

528 Crystal Reports Guide de l’utilisateur


scr8.book Page 529 Monday, April 2, 2001 12:29 PM

26 : Sous-états

Dans un tel cas, vous devez associer les données de l'état principal et celles du
sous-état pour que les commandes apparaissant dans chaque sous-état
correspondent aux bons clients.
Pour ce faire, vous allez spécifier un champ commun au sous-état et à l'état
principal. A l’aide de la boîte de dialogue Liaisons de sous-état, vous pouvez créer
une liaison entre les deux champs communs. Crystal Reports se sert de la liaison
pour faire correspondre les enregistrements de l’état principal à ceux du sous-état.
La liaison assure que les données “ commandes ” dans le sous-état se trouvent sur
la même ligne que les données “ client ” correspondantes de l’état principal.

Pour lier un sous-état aux données de l'état principal


1 Lorsque vous importez un état pour en faire un sous-état, ou lorsque vous en
créez un, sélectionnez le menu Insérer, puis cliquez sur Sous-état. Choisissez
ou créez un état puis cliquez sur l’onglet Liaison.
- ou -
Si votre sous-état est déjà inséré dans votre état principal mais n’a pas été lié lors
de la mise en place, sélectionnez l'option Liaisons de sous-état du menu Edition.
La boîte de dialogue Liaisons de sous-état apparaît.

2 Sélectionnez le sous-état que vous voulez lier dans la zone de liste Pour sous-
état : (s'il n'est pas déjà sélectionné).
3 Mettez en surbrillance le champ que vous voulez utiliser comme champ de
liaison dans l’état principal (conteneur) à partir de la liste Champs disponibles.
4 Cliquez sur le bouton flèche (>).
Le champ va s'ajouter dans la zone de liste Champs auxquels lier. Il s'agit
maintenant d'un champ de liaison.
5 Répétez les étapes 3 et 4 pour chaque champ de liaison supplémentaire selon
vos besoins.

Crystal Reports Guide de l’utilisateur 529


scr8.book Page 530 Monday, April 2, 2001 12:29 PM

Liaisons d'un sous-état aux données de l’état principal

6 Utilisez la section Liaison de champ, qui n’apparaît que si vous sélectionnez


un champ de liaison, pour définir la liaison pour chaque champ de liaison :
 Dans la zone de liste déroulante Champ paramètre de sous-état à utiliser,
sélectionnez le champ que vous voulez lier à l’état.
 Activez la case à cocher Données de sous-état basées sur champ et
sélectionnez un champ depuis la zone de liste déroulante voisine si vous
voulez réorganiser les données du sous-état sur la base d’un champ
spécifique (c’est l’équivalent d’un usage rapide de l’Expert Sélection). Si vous
n’avez rien spécifié ici, le sous-état reprendra l’organisation de l’état principal.
7 Cliquez sur OK.
Le logiciel coordonnera désormais les données de l'état principal et celles du sous-
état lorsque vous exécutez l’état.
Remarque : Le type de champ dans l’état conteneur détermine quels sous-états
sont visibles. Dans la mesure où Report Designer lit les dates en tant que champs
de chaîne, de date ou de date/heure, vous devez vérifier que le type du champ de
paramètre du sous-état correspond au type de champ défini dans Options d’état
pour le champ que vous voulez lier.

Liaisons d'un sous-état à l’état principal sans modifier la formule


de sélection
Crystal Reports se sert d’un mécanisme du champ de paramètre pour lier les sous-
états aux états principaux.
Si vous liez un champ (n'étant pas un champ de paramètre) de l’état principal à un
champ du sous-état, le logiciel :
 crée automatiquement un champ de paramètre pour faciliter la liaison ;
 modifie la formule de sélection d’enregistrements du sous-état afin de trouver
les enregistrements dont le champ du sous-état est égal à la valeur du champ
de paramètre.
Le système nécessite un champ de paramètre ; cette situation porte le nom de
“ Liaison implicite ”.
Vous voudrez parfois utiliser un champ de paramètre lié dans un sous-état, sans
que ce champ de paramètre soit utilisé en tant que partie de la formule de sélection
du sous-état. Par exemple, vous souhaitez que l’état principal transfère une valeur
résumée qui peut être utilisée dans des calculs par le sous-état, ou vous souhaitez
que l’état principal transfère le titre du sous-état.
Lorsque vous liez un champ dans l’état principal à un champ de paramètre se
trouvant dans le sous-état, le logiciel :
 vérifie les liaisons que vous avez spécifiées ;
 ne crée plus de champ de paramètre ;
 ne modifie pas la formule de sélection d’enregistrements du sous-état.
Lorsque vous spécifiez une liaison, cette dernière est appelée “ Liaison explicite ”.

530 Crystal Reports Guide de l’utilisateur


scr8.book Page 531 Monday, April 2, 2001 12:29 PM

26 : Sous-états

Pour lier un sous-état à l'état principal sans modifier la formule de


sélection
1 Créez un champ de paramètre dans le sous-état.
2 Liez un champ de l’état principal à ce champ de paramètre.

Combinaisons d'états indépendants à l’aide de sous-états


Vous pouvez associer plusieurs états indépendants pour former un seul état.
Supposons, par exemple, qu'il s'agisse d’un état regroupant :
 les ventes par vendeur ;
 les ventes par article.
Bien que ces deux états concernent les données de ventes, il n'y a pas de relation
directe entre eux.

Il est possible d’associer plusieurs états indépendants en un seul à l'aide des sous-
états. Ces états ne doivent pas nécessairement reposer sur la même série de
données. Il peuvent utiliser des données distinctes.
Chaque état est autonome ; les données de l'un ne sont liées en rien à celles de
l'autre. C'est le cas le plus simple pour travailler avec des sous-états.

Crystal Reports Guide de l’utilisateur 531


scr8.book Page 532 Monday, April 2, 2001 12:29 PM

Utilisation des sous-états avec des données impossibles à lier

Combinaison de plus de deux états indépendants


Pour combiner deux états sans lien
1 Prenez en tant qu’état principal l'état que vous imprimerez en premier.
2 Importez un état existant à utiliser comme sous-état ou créez un nouveau
sous-état.

3 Placez le sous-état dans le pied de page de l'état. Il sera imprimé


immédiatement après l'état principal.

Pour combiner trois états sans liens, ou plus


1 Prenez en tant qu’état principal l'état que vous imprimerez en premier.
2 Importez ou créez chaque état que vous voudrez utiliser comme sous-état.
3 Utilisez l'Expert Section pour insérer autant de sections pieds de page d'état
que de sous-états à utiliser.
Par exemple, si vous devez utiliser trois sous-états, insérez deux nouvelles
sections de pied de page pour en porter le total à trois.
4 Dans le pied de page A de l'état, placez le sous-état qui doit être imprimé
immédiatement après l'état principal. Dans le pied de page B de l'état, placez le
sous-état devant être ensuite imprimé, et ainsi de suite.
Les sous-états seront imprimés dans l’ordre où vous les avez placés dans l’état.
Remarque : Vous pouvez également juxtaposer les sous-états dans la même
section de pied de page de l’état. Ils seront imprimés l’un à côté de l’autre à la
fin de l’état.
5 Placez les sous-états dans les sections de pied de page de l'état. Ils seront
imprimés immédiatement après l'état principal.

Sujets connexes
“Travail sur les sections” à la page 190.

Utilisation des sous-états avec des données


impossibles à lier
Vous pouvez lier des tables dans un état tant que les critères suivants sont réunis :
 les champs de liaison sont tous deux des champs de base de données ;
 les champs de liaison contiennent des données similaires ;
 les champs de liaison possèdent la même longueur ;
 le champ de liaison dans la table liaison vers est indexé (bases de données PC
seulement).

532 Crystal Reports Guide de l’utilisateur


scr8.book Page 533 Monday, April 2, 2001 12:29 PM

26 : Sous-états

La liaison des tables se fait généralement sans problèmes. Pourtant, dans certains
cas, il n'est pas possible d'associer les données de différentes tables car elles ne
remplissent pas les critères de liaison.
Par exemple, il n'est pas possible de réaliser une liaison à partir de ou vers un
champ de formule, ni de faire une liaison de deux tables non indexées dans un seul
état. Vous devez avoir recours aux sous-états.

Liaison à partir de/vers un champ de formule


Il peut arriver que l'un des champs de liaison soit le résultat d'une formule (calcul).
Par exemple, le numéro d'un employé peut être une valeur de 11 caractères
comprenant le code à deux lettres de son service suivi du numéro de sécurité
sociale à 9 chiffres (par exemple, RH555347487).
Il est facile, en utilisant le langage de formule de Crystal Reports, de retrouver le
numéro de sécurité sociale à partir de ce champ :
{employé.ID EMPLOYE} [-9 à -1]
- ou -
{employé.ID EMPLOYE} [3 à 12]
Pour l'ID RH555347487, ces deux formules renverront 555347487.
Même si le résultat constitue un numéro de sécurité sociale correct, puisque cette
valeur provient d’une formule, le système vous empêche d’utiliser le champ pour
vous lier à un champ similaire se trouvant dans une autre table. Vous pouvez
manipuler et coordonner les deux valeurs à partir d’un sous-état.

Pour effectuer une liaison depuis/vers un champ de formule


1 Créez l'état principal avec une table contenant le champ Numéro de Sécurité
Sociale.
2 Créez (ou importez) un sous-état avec la formule qui permet d'extraire le
numéro de sécurité sociale du champ ID Employé, ({@EXTRAIRE} dans notre
exemple).
Voir “Insertion d'un sous-état” à la page 525.
3 Insérez le sous-état à l’endroit où vous souhaitez qu’il apparaisse dans l'état
principal.
4 Etablissez la liaison entre le sous-état et l’état principal en liant le champ
Numéro de sécurité sociale dans l'état principal ({fichier.SECURITE
SOCIALE}) avec la formule qui extrait le numéro dans le sous-état
({@EXTRAIRE}). Voir “Liaisons d'un sous-état à l’état principal sans modifier
la formule de sélection” à la page 530.

Crystal Reports Guide de l’utilisateur 533


scr8.book Page 534 Monday, April 2, 2001 12:29 PM

Création d'un sous-état à la demande

Liaison entre tables non indexées


Lorsque vous utilisez des bases de données PC (qui ne sont ni SQL ni ODBC), le
champ de liaison dans la base de données de consultation doit être indexé pour
que le lien créé dans Crystal Reports soit accepté. Lorsque deux tables contiennent
des données associées mais qu'elles ne sont pas indexées sur le champ que vous
souhaitez utiliser comme champ de liaison, ou si la table principale est indexée
mais que la table à consulter ne l’est pas, vous ne pourrez pas associer les tables
pour obtenir un état unique. Vous devrez utiliser des sous-états pour associer les
données dans les deux tables.
Remarque : Il est à noter que la liaison entre tables non indexées ou la liaison
d’une table principale indexée à une table à consulter non indexée ralentit
considérablement la création d’état. Si le volume de données est important, le
temps d'exécution sera très long. Ne recourez donc à ce type d’états que si vous
n'avez pas d'autre solution.

Pour lier des tables non indexées


1 Créez votre état principal.
2 Créez (ou importez) un sous-état et insérez-le dans l'état principal.
Voir “Insertion d'un sous-état” à la page 525.
3 Etablissez un lien entre le sous-état et l'état principal en utilisant les champs
non indexés (ou un champ indexé dans la table de l'état principal et un champ
non indexé dans la table à consulter). Voir “Liaisons d'un sous-état aux
données de l’état principal” à la page 528.

Création d'un sous-état à la demande


Les sous-états à la demande peuvent être particulièrement utiles pour créer un état
contenant de multiples sous-états. Dans ce cas, il est possible de faire apparaître ces
sous-états comme liens hypertexte.
De plus, les données réelles ne sont pas lues à partir de la base de données tant que
l’utilisateur n'explore pas le lien hypertexte. De cette manière, seuls les sous-états
à la demande qui sont réellement affichés seront extraits de la base de données.
Ceci facilite la gestion des sous-états.
Remarque : Les données pour un sous-état à la demande ne sont pas enregistrées
sauf si le sous-état est vraiment ouvert dans une fenêtre d’aperçu.

Pour créer un sous-état à la demande


1 Placez un sous-état ordinaire dans votre état principal.
2 Cliquez sur le bouton Format dans la barre d’outils supplémentaire.
L’Editeur de format apparaît.

534 Crystal Reports Guide de l’utilisateur


scr8.book Page 535 Monday, April 2, 2001 12:29 PM

26 : Sous-états

3 Cliquez sur l’onglet Sous-état puis activez la case à cocher Sous-état à la


demande.
4 Cliquez sur OK.

Ajout de légendes aux sous-états à la demande


Pour renforcer l'organisation d'un état, ajoutez des légendes à l’onglet Aperçu de
sous-état et au cadre d'insertion des sous-états à la demande.
Les légendes sont écrites à l’aide de formules. Les légendes du cadre d'insertion et
de l’onglet Aperçu du sous-état peuvent comprendre les noms de champ de l’état
principal.
Une légende d'onglet remplace le nom de fichier du sous-état dans l’onglet Aperçu
de sous-état.
Remarque : Les légendes du cadre ne sont destinées qu’aux sous-états à la
demande tandis que les légendes de l'onglet sont destinées aux sous-états à la
demande et aux sous-états normaux. Puisque les données d’un sous-état normal
sont visibles dans l’onglet Aperçu, vous n’avez pas besoin de légende de cadre
lorsque vous mettez en forme le sous-état.

Pour ajouter une légende


1 Sélectionnez le sous-état et cliquez sur le bouton Format de la barre d’outils
supplémentaire.
L’Editeur de format apparaît.
2 Cliquez sur l’onglet Sous-état.
3 Vous pouvez entrer une légende de sous-état à la demande ou une légende
d'onglet en cliquant sur le bouton Formule approprié et en ouvrant l’Editeur
de formule de format.
4 Entrez votre formule dans la zone modifiable Texte de la formule.
Exemple utilisant la syntaxe Crystal :
"Plus d’information sur " + {client.NOM DU CLIENT}
Exemple utilisant la syntaxe Basic :
formule = "Plus d'informations sur" + {client.NOM DU CLIENT}
A l’aide de la base de données exemple Xtreme.mdb, ces formules vous
donnent une légende telle que “ Plus d’information sur Pathfinders ” ou “ Plus
d’information sur Rockshocks pour Jocks ”.
5 Cliquez sur Vérifier pour contrôler des erreurs éventuelles dans la formule. Si
le logiciel trouve une erreur, il vous en informe en affichant un message
décrivant l’erreur.

Crystal Reports Guide de l’utilisateur 535


scr8.book Page 536 Monday, April 2, 2001 12:29 PM

Affichage sous différentes vues des mêmes données dans un état

6 Après avoir corrigé toutes les erreurs, cliquez sur le bouton Enregistrer et
fermer.
7 Cliquez sur OK pour revenir à l’état.
Remarque : Une formule d'onglet n’est évaluée que lorsque vous explorez un
sous-état. Si vous prévisualisez un sous-état séparément de l’état principal, la
formule ne sera pas évaluée.

Affichage sous différentes vues des mêmes données


dans un état
Vous pouvez utiliser des sous-états pour obtenir différentes vues des données
dans l’état principal, lorsque, par exemple, vous voulez présenter des valeurs de
résumé en haut de votre état et les détails en bas.

Vous pouvez effectuer cette tâche de plusieurs manières. Les deux méthodes les
plus simples sont les suivantes :
 Créez l’état résumé sous forme d’état principal et l’état détaillé sous forme de
sous-état. Vous pouvez ainsi placer le sous-état détaillé dans la section Pied de
page de l'état.
 Créez l’état résumé sous forme de sous-état et l’état détaillé sous forme d’état
principal. Vous pouvez ainsi placer l’état résumé dans la section En-tête de l'état.
Coordonnez les données des deux états en liant l'état à l'aide des champs de liaison
appropriés.

536 Crystal Reports Guide de l’utilisateur


scr8.book Page 537 Monday, April 2, 2001 12:29 PM

Bases de données 27

Ce chapitre décrit les notions essentielles à la


compréhension de la conception et de l'utilisation des bases
de données. Après la description des bases de données
relationnelles (y compris celles provenant de sources
ODBC), l'indexation et les liaisons entre tables, ce chapitre
aborde les concepts de traitement côté serveur (empiler le
traitement des états au niveau du serveur) et le mappage de
champs (rétablissement des mappages de champs de base
de données et d'états après une modification de base de
données). Enfin, ce chapitre met l'accent sur les tâches
courantes relatives aux bases de données telles que le
changement de pilote de base de données et la création
d'une source de données ODBC.

Crystal Reports Guide de l’utilisateur 537


scr8.book Page 538 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

Généralités sur les bases de données


Malgré la grande diversité des systèmes de gestion de base de données (SGBD),
Crystal Reports s’y adapte une fois connecté aux fichiers de votre base. La
manipulation des fichiers, ainsi que des tables, des champs et des enregistrements de
la base de données est en effet quasiment identique d'un type de données à l'autre.
Ce chapitre décrit les différents concepts et tâches relatifs à l'utilisation de fichiers
de base de données. L'utilisation de pseudonymes de bases de données, la
recherche de fichiers de base de données déplacés ou renommés, l'utilisation de
tables indexées et les liaisons de tables sont des sujets familiers pour les
concepteurs d'état utilisant Crystal Reports. La lecture de la section “Utilisation de
SQL et des bases de données SQL” à la page 564 est particulièrement
recommandée aux utilisateurs prévoyant de manipuler des données stockées dans
le format SQL ou dans un autre format accessible par ODBC.

Bases de données relationnelles


Aujourd'hui, l'architecture de la plupart des bases de données utilisées dans les
entreprises repose sur le modèle relationnel. Les applications qui permettent de
générer ce type de bases de données sont désignées par l'acronyme SGBDR
(Systèmes de Gestion de Bases de Données Relationnelles).
Dans une base de données relationnelle, les données sont organisées en lignes et
colonnes. Les lignes, ou rangées, sont appelées enregistrements, et les colonnes
sont appelées champs. Chaque enregistrement contient un ensemble de données
apparentées, par exemple toutes les informations relatives à un client. Chaque
champ fait référence à un type de données présent dans tous les enregistrements,
par exemple le nom du client. Les enregistrements et champs sont stockés dans une
table. Le diagramme ci-dessous illustre le modèle de base de données relationnelle
dans sa forme la plus élémentaire :

Il arrive fréquemment que deux tables différentes puissent être reliées à l'aide d'un
champ commun. C'est le cas, par exemple, lorsqu'une table Client contient un
champ ID Client par client et une table Commandes, un champ ID Client pour
chaque client ayant passé une commande. Les deux tables peuvent être liées par
l'intermédiaire de leur champ commun (voir “Liaisons entre tables” à la page 543).

538 Crystal Reports Guide de l’utilisateur


scr8.book Page 539 Monday, April 2, 2001 12:29 PM

27 : Bases de données

Le diagramme suivant montre les relations possibles entre deux tables :

Pseudonymes
Pour diverses raisons, le nom ou l'emplacement d'une base de données peut être
modifié. Si vous créez un état, puis changez le nom ou l'emplacement d'une table
ou d'un fichier, Report Designer doit pouvoir retrouver le nouveau nom ou le
nouvel emplacement. Ceci est particulièrement important lorsque vous créez des
formules qui utilisent une table qui a été renommée ou déplacée. Ce problème n'est
pas difficile à résoudre pour trouver une référence sur un seul champ. En revanche,
rechercher toutes les formules utilisant ce champ peut vite devenir très fastidieux.
Pour résoudre ce problème, Report Designer utilise des pseudonymes (alias)
référençant les tables et fichiers de base de données. Les pseudonymes sont des
pointeurs, des périphériques internes, indiquant au logiciel où il trouvera un
champ de base de données. En cas de modification du nom ou de l'emplacement de
la base de données, il suffit de redéfinir les pointeurs. Voir “Recherche de fichiers”
à la page 540. Un pseudonyme ne change pas ; aussi vos formules ne sont-elles pas
affectées. Report Designer déduit du pseudonyme l'emplacement et le nom du
champ, puis il va à l'endroit indiqué et exécute la formule sans aucun problème.

Crystal Reports Guide de l’utilisateur 539


scr8.book Page 540 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

Le Report Designer attribue automatiquement des pseudonymes par défaut aux


tables de base de données lorsque vous sélectionnez une table ou son fichier pour
la première fois. Par défaut, le pseudonyme est identique au nom d’origine de la
table. Dans les bases de données (telles que dBASE par exemple) stockant chaque
table dans un fichier séparé, le nom du fichier se présente sans extension. Si vous
utilisez, par exemple, un fichier dBASE nommé SOCIETE.DBF, Crystal Reports lui
affectera par défaut le pseudonyme SOCIETE. Vous pouvez accepter ce
pseudonyme par défaut ou le modifier.
Vous pouvez toujours modifier un pseudonyme à l'aide de la commande Définir
un pseudonyme du menu Base de données. N'oubliez pas, dans ce cas, de corriger
dans votre état les formules utilisant déjà son nom d'origine, en les remplaçant par
son nouveau pseudonyme.

Recherche de fichiers
Si vous avez déplacé un fichier d'une base de données ou modifié son nom, Crystal
Reports ne sera pas en mesure de retrouver ses données lors de la prochaine
impression de l'état. Il en sera de même si vous créez un état sur une machine
stockant toutes les données dans un répertoire spécifique, puis si vous copiez ou
déplacez l'état vers une autre machine stockant les mêmes données dans un autre
répertoire. Quel que soit le cas de figure, vous devez vérifier l'emplacement des
fichiers utilisés par l'état et redéfinir les pointeurs de pseudonyme en fonction du
nouvel emplacement (ou du nouveau nom) de la base de données.

540 Crystal Reports Guide de l’utilisateur


scr8.book Page 541 Monday, April 2, 2001 12:29 PM

27 : Bases de données

La commande Vérifier une base de données du menu Base de données vérifie les
pointeurs de pseudonyme qui sont stockés dans les états pour contrôler la
présence, dans les répertoires indiqués, des fichiers référencés. Si cette commande
vérifie une absence de concordance, Crystal Reports vous le signalera.
Utilisez la commande Définir un emplacement du menu Base de données pour
modifier les pointeurs du pseudonyme enregistrés par Crystal Reports. La
commande Définir un emplacement indique de façon simple le nouveau nom ou
l'emplacement des fichiers de base de données. De plus, la commande Définir un
emplacement convertit automatiquement votre pilote de base de données vers la
source de données que vous avez choisie. Vous pouvez par exemple convertir
automatiquement un accès direct à une source de données en source de données
ODBC en utilisant la commande Définir un emplacement. Les règles suivantes
doivent être observées :
 Si vous ne déplacez qu'une table, la commande Définir un emplacement peut
la convertir vers le même type ou un type différent de source de données.
 Si vous déplacez plus d'une table, la commande Définir un emplacement peut
convertir toutes les tables vers le même type de source de données. Pour
déplacer plus d'une table vers une source de données différente, utilisez
l'option Convertir le lecteur de base de données.

Sujets connexes
“Modification de la source de données ODBC utilisée par un état” à la page 592.

Crystal Reports Guide de l’utilisateur 541


scr8.book Page 542 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

Tables indexées
L'indexation des tables de la base de données permet à Crystal Reports de
retrouver et d'évaluer plus rapidement les données. Certains SGBDR indexent
automatiquement les tables de votre base de données, tandis que d'autres
imposent une création manuelle. Si vous désirez obtenir de bonnes performances
lors de la génération des états, vérifiez que chaque table est effectivement indexée.
Remarque : Certains SGBDR ne gèrent pas les tables indexées. Consultez votre
documentation pour savoir si votre SGBDR gère les index, et le cas échéant, comment
les créer. Si la documentation de votre SGBDR ne fait pas référence aux tables
indexées, ces dernières ne sont probablement pas prises en charge. Vous devrez par
conséquent lier les tables en fonction de champs communs. L'Expert Liaison visuelle
de Crystal Reports permet de déterminer si vos tables contiennent des index.
Les index organisent les enregistrements dans les tables de base de données
relationnelles de telle sorte que les données soient plus faciles à localiser. Prenons
l'exemple d'une table contenant les données suivantes :

ID Commande Client Montant


10444 Allez Distribution 25141.50
10470 BG Mountain Inc. 19164.30
10485 Sierra Mountain 8233.50
10488 Mountain Toad 24580.50
10495 SFB Inc. 7911.80
10501 La Bomba de Bicicleta 1956.20
10511 BG Mountain Inc. 1683.60
10544 Sierra Bicycle Group 19766.20
10568 Mountain Tops Inc. 29759.55
10579 Sierra Bicycle Group 12763.95
Les informations de cette table sont organisées en fonction du champ ID Commande.
Ceci ne pose pas de problèmes lorsque vous recherchez des informations dans cette
table en fonction du numéro de commande. Cette méthode ne convient déjà plus,
cependant, pour retrouver des informations concernant un client, par exemple.
Supposons que vous souhaitiez retrouver toutes les commandes passées par Sierra
Bicycle Group. Le pilote de la base de données examine le premier numéro de
commande dans la liste et vérifie s'il correspond effectivement à une commande
émanant de cette société. Si ce n'est pas le cas, il passe à l'enregistrement suivant et
compare le nom du client à celui que vous avez entré dans votre requête. A chaque
fois qu'il existe une concordance, le moteur extrait les informations et passe au
numéro de commande suivant. Avec cette technique, l'ensemble des champs ID
Commande et Client de la table doit être lu. Ceci demande un certain temps et des

542 Crystal Reports Guide de l’utilisateur


scr8.book Page 543 Monday, April 2, 2001 12:29 PM

27 : Bases de données

ressources informatiques importantes lorsqu'une table comporte des milliers,


voire des millions d'enregistrements.
Pour résoudre ce problème, indexez la table en fonction du champ Client. Ce type
d'index peut se présenter de la façon suivante :

Client Pointeur vers ID Commande


Allez Distribution 10444
BG Mountain Inc. 10470
BG Mountain Inc. 10511
La Bomba de Bicicleta 10501
Mountain Toad 10488
Mountain Tops Inc. 10568
SFB Inc. 10495
Sierra Bicycle Group 10544
Sierra Bicycle Group 10579
Sierra Mountain 10485
Dans cet index, les informations sont organisées par clients et non plus par ID de
commande. Notez également que la seconde colonne contient effectivement des
pointeurs vers des ID Commandes spécifiques de la table d'origine. Ainsi, l'index
permettra au moteur de rechercher directement le nom qui vous intéresse (Sierra
Bicycle Group) dans la colonne Client.
Chaque fois qu'il trouve une entrée Client valide dans l'index, le moteur de base de
données utilise le pointeur de la seconde colonne de l'index pour consulter la
commande correspondante dans la table. Aussi ne lit-il que les commandes
passées par le client spécifié. Enfin, l'index étant organisé autour des noms de
clients, le moteur peut abandonner les recherches dès qu'il a trouvé une entrée ne
correspondant pas au nom indiqué.
L'avantage de cette recherche très structurée est la rapidité. L'utilisation d'index
accélère l'extraction des données et la génération d'états, ce qui représente un facteur
important lors de la création d'états pour des fichiers de base de données importants.

Liaisons entre tables


Créer une liaison entre deux tables permet d'établir une correspondance entre leurs
enregistrements respectifs. Par exemple, il est possible de lier les tables Commandes
et Clients de sorte que chaque commande puisse être associée au client qui l'a passée.
La mise en place d'une liaison implique par conséquent un champ commun aux
deux tables. Crystal Reports se sert des liaisons pour mettre en correspondance les
enregistrements d'une table avec ceux de l'autre table. Dans notre exemple, la
liaison permet de vérifier que toutes les données d'une ligne de l'état se réfèrent à
la même commande.

Crystal Reports Guide de l’utilisateur 543


scr8.book Page 544 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

Liaison de et liaison vers


Lorsque vous liez deux tables, la liaison s'effectue d'une table vers l'autre. Les
liaisons entre deux tables se font toujours d'une table vers une autre. La table de
départ sert de table principale et utilise la table d'arrivée comme table de
consultation. Dans une liaison ordinaire, Report Designer examine le premier
enregistrement de la table principale et retrouve tous les enregistrements
correspondants dans la table de consultation. Il passe ensuite au second
enregistrement de la table principale, et ainsi de suite.
Remarque : Crystal Reports peut lier deux enregistrements en fonction d'une
concordance partielle des chaînes correspondantes. Ceci est appelé une liaison
partielle. Pour établir une liaison partielle dans Crystal Reports, il suffit d’activer
la case à cocher Permettre les correspondances partielles dans la boîte de dialogue
Options de liaison. Par exemple, une liaison partielle permet de renvoyer
“ Chris ” à ” Christophe ”. Cependant, la liaison partielle ne fonctionne que si la
valeur de la table consultée est plus longue que celle de la table principale. Ainsi,
“ Chris ” peut renvoyer à “ Christophe ”, mais l'inverse n'est pas vrai.

Relations entre liaisons


Lorsque deux tables sont liées, les enregistrements qu'elles contiennent sont en
général unis par une relation de type :
 un-à-un
 un-à-plusieurs.
Relations un-à-un
Lorsque les enregistrements de deux tables liées sont unis par des relations un-à-un,
à chaque enregistrement de la table principale correspond un seul enregistrement
dans la table de consultation (déterminé sur la base des champs liés). Par exemple,
dans Xtreme.mdb (la base de données exemple livrée avec Crystal Reports), la table
Employé peut être liée à la table Adresses d’employés via leur champ commun ID
employé. La table Employé contient des informations sur les employés de la
société : fonction, salaire, date d'arrivée dans la société, etc. La table Adresses
d’employés contient l'adresse de chaque employé. Dans chacune de ces tables, il n'y
a qu'un (et un seul) enregistrement par employé. Par conséquent, lorsque la table
Employé est liée à la table Adresses d'employés, vous n'avez à consulter qu'un seul
enregistrement de la table Adresses d'employés pour chaque enregistrement de la
table Employé. Nous sommes donc bien en présence d'une relation un-à-un.

Relations un-à-plusieurs
Lorsque les enregistrements de deux tables liées sont unis par des relations un-à-
plusieurs, à chaque enregistrement de la table principale correspondent un ou
plusieurs enregistrements dans la table de consultation, déterminés sur la base de
champs de liaison. Par exemple, dans Xtreme.mdb (la base de données exemple
livrée avec Crystal Reports), la table Client peut être reliée à la table Commandes

544 Crystal Reports Guide de l’utilisateur


scr8.book Page 545 Monday, April 2, 2001 12:29 PM

27 : Bases de données

via leur champ commun ID Client. La table Client contient des informations sur
chaque client ayant passé une commande. La table Commandes contient des
informations sur les commandes passées par les clients. Chaque client pouvant
passer plusieurs commandes, il est possible que la table Commandes contienne
plusieurs enregistrements correspondant à un même enregistrement de la table
Client. Nous sommes donc bien en présence d'une relation un-à-plusieurs.

Amélioration des performances dans les liaisons un-à-plusieurs


Les informations fournies dans cette section permettent d'optimiser le temps de
traitement et de réduire au maximum le trafic réseau lors de la création d'états.
Vous apprendrez comment tirer parti des formules de sélection et des index dans
un environnement un-à-plusieurs pour rationaliser la création des états. Si vous ne
suivez pas les conseils donnés ci-dessous, vous risquez de produire des états
traitant beaucoup plus d’enregistrements que nécessaire.
Lorsque deux tables de base de données font l'objet d'une liaison un-à-plusieurs, le
nombre d’enregistrements examinés pendant la comparaison de leur contenu
dépend de plusieurs facteurs.
Les tableaux suivants montrent les effets de ces différents facteurs sur le nombre
d’enregistrements réellement lus. Ils sont basés sur le scénario suivant :
 La table A contient 26 enregistrements (un par lettre de l'alphabet).
 La table B contient 2600 enregistrements (100 enregistrements pour chaque
enregistrement de la table A).
 Le but est de produire un état retrouvant deux enregistrements spécifiques
dans la table A et les 200 (100+100) enregistrements qui leur correspondent
dans la table B.
Dans le meilleur des cas, le logiciel ne devra lire que 200 enregistrements pour
atteindre ce but.
Dans le pire des cas, le logiciel devra lire environ 67600 enregistrements pour
arriver au même résultat.
Remarque : Les facteurs de performance des fichiers de données sont différents de
ceux des bases de données SQL. Par fichier de données, nous entendons tout fichier
non SQL accessible directement depuis Crystal Reports. Par base de données SQL,
nous entendons toute base au format SQL accessible directement (ou via ODBC)
depuis Crystal Reports, ainsi que les autres bases accessibles via ODBC. Pour de
plus amples informations, voir “Accès aux sources de données” à la page 603.

Description détaillée des colonnes de tableau


Les tableaux de performances reproduits ci-dessous utilisent les colonnes suivantes :
 Liaison ou sous-état
Produisez-vous un état à partir de bases de données liées ou insérez-vous un
sous-état que vous liez aux données de votre état principal ?

Crystal Reports Guide de l’utilisateur 545


scr8.book Page 546 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

 Formule de sélection
Votre état principal inclut-il une formule de sélection définissant une plage de
valeurs pour le champ clé (indexé) de la Table A ?
 Index A
La Table A est-elle indexée sur le champ que vous comptez utiliser pour
mettre en correspondance ces enregistrements ?
 Index B
La Table B est-elle indexée sur le champ que vous comptez utiliser pour mettre
en correspondance ces enregistrements ?
 Lectures dans A
Combien d’enregistrements le logiciel devra-t-il lire dans la Table A pour
trouver les deux enregistrements recherchés ?
 Lectures dans B pour chaque A
Combien d’enregistrements le logiciel devra-t-il lire dans la Table B pour
trouver les 200 enregistrements recherchés ?
 Total des enregistrements lus
Quel est le nombre total des enregistrements que le logiciel a dû lire pour
exécuter la tâche ?

Données PC

Lectures
Total des
Liaison/ Formule de Index A Index B Lectures dans B enregistrements
Sous-état sélection dans A pour
lus
chaque A
Liaison Non Oui ou Oui 26 100 2600
Non (26*100)
Liaison Oui Non Oui 26 100 2600
(26*100)
Liaison Oui Oui Oui 2 100 200
(2*100)
Sous-état Non Non Non 26 2600 67,600
(26*2600)
Sous-état Non Oui Non 2 2600 67,600
(26*2600)
Sous-état Non Oui Oui 26 100 2600
(26*100)
Sous-état Oui Non Non 2 2600 5200
(2*2600)
Sous-état Oui Non Oui 26 100 2600
(26*100)
Sous-état Oui Oui Oui 2 100 200
(2*100)

546 Crystal Reports Guide de l’utilisateur


scr8.book Page 547 Monday, April 2, 2001 12:29 PM

27 : Bases de données

Données SQL

Total des
Liaison/Sous-état Formule de Lectures dans A Lectures dans B enregistrements
sélection pour chaque A
lus
Liaison Non 26 100 (26*100) 2600
Liaison Oui 2 100 (2*100) 200
Sous-état Non 26 100 (26*100) 2600
Sous-état Oui 2 100 (2*100) 200

Considérations sur les fichiers de données


Lorsque vous travaillez avec des fichiers de données, des liaisons de type un-à-
plusieurs peuvent apparaître si vous liez des tables au sein d'un même état ou si
vous insérez un sous-état dans l'état principal.

Liaison entre fichiers de données


La procédure suivante permet d'extraire le contenu de fichiers de données liés par
une relation de type un-à-plusieurs.
 S'il existe une formule de sélection, le logiciel l'analyse et transmet son contenu
au fichier DLL de la base de données. Ces informations permettent
généralement de délimiter la plage de données à traiter. Considérons la
formule suivante :
{client.REGION} in "CA" to "IL" AND
Remainder ({client.ID CLIENT}, 2) = 0
Dans cette formule, la partie située avant l'opérateur “ and ” comporte des
critères de sélection de plage pour le champ Région. Les premières lettres de la
région doivent être comprises entre “ CA ” et “ IL ”. Le logiciel transmet cette
sorte de condition au fichier DLL de la base de données (pour les données OP)
ou au serveur (pour les données SQL). Voir “Sélection d'enregistrements” à la
page 129.
La deuxième moitié de la formule de sélection, cependant, doit être traitée par
le moteur d'état. Il utilise une fonction intégrée pour manipuler et évaluer une
valeur de champ. Cette opération ne peut pas être effectuée dans le fichier DLL
de la base de données ni sur le serveur. Le logiciel ne transmet pas cette
condition au fichier DLL de la base de données.
 En présence d'un index dans la table A et d'un critère de sélection basé sur la
valeur du champ indexé, {client.REGION} dans notre exemple, le logiciel se
rend directement à l'enregistrement recherché dans la table A (la première
entrée avec CA) et le lit.
 Il repère dans la table B (à l'aide de l'index de cette dernière)
l'enregistrement correspondant à celui qu'il vient de trouver.

Crystal Reports Guide de l’utilisateur 547


scr8.book Page 548 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

 Il retransmet l'enregistrement fusionné (A+B) à Report Designer, qui vérifie


sa conformité avec toute la formule de sélection.
 Il lit ensuite le second enregistrement correspondant et transmet
l'enregistrement fusionné résultant, puis le troisième et ainsi de suite
jusqu'à ce qu'il ait lu tous les enregistrements répondant aux critères de
sélection.
 Le programme revient ensuite à la table A et lit l'enregistrement suivant. Il
est inutile de tester l'enregistrement pour s'assurer qu'il répond à la
condition CA, car ce champ est indexé et les enregistrements sont classés
par ordre alphabétique. Il vérifie en revanche la condition “ IL ” (par
exemple, si l'intervalle des valeurs indiqué n'est pas dépassé (par exemple,
l’enregistrement suivant pourrait être le Mississippi ou le Tennessee). Si
l'enregistrement figure toujours dans la plage spécifiée, le programme
reprend la recherche des enregistrements concordants.
 Il continue le processus jusqu'à ce qu'il ait localisé tous les enregistrements
visés dans la table A et les enregistrements correspondants dans la table B.
Pour trouver deux enregistrements dans la table A et les 100
enregistrements qui leur correspondent dans la table B, le logiciel doit lire
200 enregistrements.
Remarque : L'établissement d'une liaison n'est possible que si la table de
consultation (table B) est indexée.
 En l'absence d'index sur la table A, ou si la plage de valeurs servant de
condition ne porte pas sur le champ indexé, le logiciel lira le tout premier
enregistrement trouvé.
 Il repère dans la table B (à l'aide de l'index de cette dernière) le premier
enregistrement correspondant à celui qu'il vient de trouver.
 Il transmet l'enregistrement fusionné (A+B) résultant au moteur d’état qui
vérifie sa conformité avec l'ensemble de la formule de sélection.
 Il repère ensuite le second enregistrement correspondant dans la table B et
passe l'enregistrement fusionné, puis le troisième et ainsi de suite, jusqu'à
la transmission de tous les enregistrements stockés dans la table B
correspondant au premier enregistrement de la table A.
 Il revient ensuite à l'enregistrement suivant dans la table A et recommence
la recherche et la fusion des enregistrements correspondants.
Pour trouver deux enregistrements dans la table A et les 100
enregistrements qui leur correspondent dans la table B, le logiciel doit lire
2600 enregistrements.

Sous-états et fichiers de données


Si votre état principal est basé sur la table A et si votre sous-état est basé sur la table
B et si les enregistrements sont liés, tenez compte d'abord des facteurs suivants :
 Le nombre de sous-états générés dépend de l'index et de la formule de
sélection utilisés pour l'état principal.

548 Crystal Reports Guide de l’utilisateur


scr8.book Page 549 Monday, April 2, 2001 12:29 PM

27 : Bases de données

 En présence d'une Table A indexée et si l’état principal est doté d'une


formule de sélection transmettant des conditions de limites de plage pour
le champ indexé, le logiciel exécute deux sous-états.
 En présence d'une Table A non indexée ou si la Table A est indexée mais
que la formule de sélection ne transmet pas de condition de limite de plage
pour le champ indexé, le logiciel exécute vingt-six sous-états.
 Le nombre d’enregistrements lus pour chaque sous-état dépend de
l'indexation de la Table B.
 Si la table B est indexée, le logiciel lit uniquement les enregistrements
correspondants (100) à chaque fois qu'il exécute un sous-état.
 Si la table n'est pas indexée, le logiciel lit tous ses enregistrements (2600) à
chaque fois qu'il exécute un sous-état.

Considérations sur les bases de données SQL


Les index ne jouant pas un rôle essentiel dans les bases de données SQL, votre
principal souci, en ce qui concerne les tables liées et les sous-états, sera de vérifier
l'existence, dans l'état principal, d'une formule de sélection imposant des limites de
plage qui soit applicable à la table A. Voir “Liaison entre fichiers de données” à la
page 547.

Tables SQL liées


Lorsque la formule de sélection contient des conditions de limite de plage, le
logiciel la transmet au serveur.
 En présence d'une formule de sélection imposant des limites de plage sur la
table A, le serveur repère les enregistrements répondant aux critères (2),
recherche les enregistrements correspondants de la table B (100) et renvoie les
200 enregistrements fusionnés au moteur d'état.
 En cas d'absence de formule de sélection ou si une formule de sélection
n'impose pas de limites de plage à la table A, le serveur recherche pour chaque
enregistrement de la table A (26) les enregistrements correspondants de la
table B (100) et renvoie les 2600 enregistrements fusionnés au moteur d'état.
Dans les deux cas, le moteur d'état applique ensuite l'intégralité de la formule de
sélection aux enregistrements fusionnés.

Sous-états et bases de données SQL


Si vous créez un état principal depuis la table A et un sous-état depuis la table B :
 Le nombre de sous-états exécutés dépend de la présence d'une formule de
sélection dans l'état principal.
 En présence d'une formule de sélection transmettant des limites de plage
sur la table A, le logiciel n'exécute un sous-état que pour les
enregistrements satisfaisant à la condition de limite de plage (2).

Crystal Reports Guide de l’utilisateur 549


scr8.book Page 550 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

 En l'absence d'une formule de sélection, ou si cette dernière ne transmet pas


de limite de plage sur la table A, le logiciel exécute un sous-état pour
chaque enregistrement de la table A (soit 26).
 Le nombre d'enregistrements lus est constant d'un sous-état à l'autre, qu'il y ait
ou non sélection basée sur une limite de plage dans la table A. Chaque sous-
état lit uniquement les enregistrements de la table B correspondant à ceux de la
table A (100) déjà lus dans l'état principal.

Considérations de performance pour tous les états

Considération n°1
Que vous manipuliez des fichiers de données et/ou des bases de données SQL, le
logiciel analyse l'intégralité de la formule de sélection et passe les critères
transmissibles en ignorant les autres. Par exemple, si la formule trouve d’abord des
critères qu’elle peut transmettre, ensuite des critères qu’elle ne peut pas
transmettre, puis de nouveau des critères qu’elle peut transmettre, elle transmet la
première partie, elle omet la seconde et transmet la troisième.
 Dans le cas de fichiers de données, elle transmet ces critères à la couche
Traduction de la base de données.
 Dans le cas d'une base de données SQL, elle transmet ces critères au serveur
sous forme d'une clause WHERE (Où).
A quelques exceptions près, les critères transmissibles de la formule de sélection
sont ceux qui comparent un champ à une constante. Cette catégorie de critères
englobe tous ceux qui peuvent être définis à l'aide de l'Expert Sélection (champ
égal à, parmi, inférieur à, supérieur à, inférieur ou égal à, supérieur ou égal à, entre,
commence par, ou comme constante).
Dans ce domaine, deux cas de figures particuliers doivent être pris en
considération. Il s'agit de ceux dans lesquels la formule contient plusieurs
conditions dont certaines sont intransmissibles.
 Formules de type AND (ET)
({client.REGION} = "CA" AND
{client.ID CLIENT} [3 to 5] = "777")
Ici, le logiciel comprend qu'il peut d'abord transmettre la condition placée
avant l’opérateur AND mais pas celle placée après. Dans la mesure où les
enregistrements susceptibles de répondre à la seconde condition devront avoir
déjà obligatoirement répondu à la première, le logiciel transmet d'abord celle-
ci. Il extrait ensuite l’ensemble de données approprié, puis le soumet à la
seconde condition. La règle avec les formules AND est donc que le logiciel
transmet les conditions transmissibles.
Remarque : Lorsque toutes les conditions d'une formule AND peuvent être
traitées par le serveur ou par le fichier DLL de la base de données, le logiciel
les passe intégralement.

550 Crystal Reports Guide de l’utilisateur


scr8.book Page 551 Monday, April 2, 2001 12:29 PM

27 : Bases de données

 Formules de type OR (OU)


{client.REGION} = "CA" or
{client.ID CLIENT} [3 to 5] = "777")
Ici aussi, le logiciel comprend qu'il peut d'abord transmettre la condition placée
avant l'opérateur Or. Cependant, comme il peut arriver que des
enregistrements répondent à la seconde condition mais pas à la première, la
transmission de celle-ci n'a aucun sens et risque au contraire de provoquer
l'extraction d'une série de données incomplète. En d'autres termes, même s'il
parvient à extraire toutes les données répondant à la première condition, le
logiciel devra de toute façon extraire l'ensemble des données de la ou des tables
avant d’appliquer la seconde condition dans le Report Designer. C'est
pourquoi, plutôt que de dupliquer une partie des données extraites, le logiciel
ne passe rien. Il extrait l'ensemble des données puis exécute les deux test dans
le Report Designer. La règle avec les formules de type OR est donc de
transmettre tous les critères ou de n'en transmettre aucun.
Remarque : Lorsque toutes les conditions d'une formule OR peuvent être
traitées par le serveur ou par le fichier DLL de la base de données, le logiciel
les passe intégralement.

Considération n°2
Pour savoir si le logiciel peut utiliser l’index de la Table A pour améliorer la
performance, vérifiez :
 qu’il existe une formule de sélection ;
 qu’il existe des limites de plage dans la formule de sélection applicables au
champ clé (indexé) de la Table A ;
 que l'option Utiliser des index est activée dans la boîte de dialogue Options.
Considération n°3
Si les champs que vous utilisez dans la table A ne sont pas indexés mais que celle-ci
contient par ailleurs un champ indexé, essayez de l'utiliser. Supposons que vous
disposez de trois produits (Produit 1, Produit 2 et Produit 3) et que vous souhaitiez
identifier toutes les ventes de Produit 2 aux Etats-Unis. Le champ Produit n'est pas
indexé, mais le champ Date de commande l'est. Sachant que Produit 2 n'a pas été
commercialisé avant le mois de juillet 2000, vous pouvez améliorer de beaucoup les
performances en limitant votre état aux seules commandes passées après cette date,
à l'aide d'une formule de sélection. Dans ce cas, le logiciel utilise l'index Date de
commande pour extraire uniquement les commandes passées depuis juillet 2000 et ne
recherche les occurrences de Produit 2 que dans cette portion de la base de données.

Expert Liaison visuelle


L'Expert Liaison visuelle de Crystal Reports facilite la création des liaisons entre les
tables. Lorsque vous sélectionnez la commande Ajouter une base de données a
l’état du menu Base de données et ensuite sélectionnez une seconde table de base
de données, l'Expert Liaison visuelle apparaît avec la table supplémentaire affichée.

Crystal Reports Guide de l’utilisateur 551


scr8.book Page 552 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

Le moyen le plus simple d'établir une liaison entre deux tables est de cliquer sur le
bouton Liaison intelligente dans l'Expert Liaison visuelle. Cette fonction établit
automatiquement les liaisons entre les tables basées sur les champs communs ou
sur les champs indexés (si votre base de données gère les champs indexés).

Liaison entre des tables indexées


Toute liaison entre deux tables de base de données à accès direct doit associer l'un
des champs (indexés ou non) de la table principale à l'un des champs indexés de la
table de consultation. Le champ de liaison de la table principale peut être indexé,
mais ce n'est pas indispensable. Par contre le champ de liaison de la table de
consultation doit être indexé.
De plus, les champs utilisés pour lier les deux tables doivent être du même type de
données. Par exemple, vous pouvez lier un champ de chaîne dans une table à un
champ de chaîne dans une autre table ou lier un champ numérique dans une table
à un champ numérique dans une autre table. Mais vous ne pouvez pas lier un
champ numérique dans une table à un champ de chaîne dans une autre table.
Remarque :
 Certains SGBDR autorisent la conversion dans l'index du type des valeurs de
champ. Il est ainsi possible pendant l'indexation de présenter sous forme de
chaîne la valeur d'un champ numérique. Cependant, si vous choisissez
d'utiliser ce champ pour créer une liaison avec une autre table, vous devez
effectuer cette liaison avec un champ appartenant au type de données initial.
Vous ne pouvez pas lier une valeur de type chaîne à un champ numérique qui
a été converti en chaîne dans l'index.
 En cas de liaison entre des tables provenant de deux sources de données
ODBC différentes, MS SQL Server et Oracle par exemple, seuls les champs de
type chaîne peuvent être liés. Ceux-ci sont en effet les seuls qui soient toujours
stockés de la même façon, quelle que soit la source des données. Les autres
types de données ne sont pas toujours stockés de la même manière dans des
sources différentes. Par conséquent, vous ne pouvez pas créer de liaison entre
des sources de données différentes dans Crystal Reports excepté des chaînes.
 Lorsque vous liez des tables de base de données à accès direct en utilisant des
pilotes natifs (non SQL), le seul type de jointure disponible est Jointure externe
gauche.

Modification de l'index utilisé pour la liaison


Lorsque vous utilisez la fonction Liaison intelligente pour lier des tables à l’aide
d’un champ repris dans plusieurs index (deux ou plus), Crystal Reports
sélectionne l'un de ces index pour la liaison. Il se peut que cet index ne soit pas celui
que vous voudriez utiliser. Pour déterminer quel est l’index utilisé et pour le
modifier, utilisez la section Index de la boîte de dialogue Options de liaison.

552 Crystal Reports Guide de l’utilisateur


scr8.book Page 553 Monday, April 2, 2001 12:29 PM

27 : Bases de données

Pour afficher cette boîte de dialogue, utilisez l'une des méthodes suivantes :
 vous pouvez cliquer deux fois sur la ligne de liaison concernée ;
 vous pouvez sélectionner la ligne de liaison concernée, puis cliquer sur le
bouton Options en bas de l'Expert Liaison visuelle ;
 vous pouvez cliquer avec le bouton droit de la souris sur la ligne de liaison
concernée, puis choisir la commande Options dans le menu contextuel qui
apparaît.
La section Index de la boîte de dialogue Options de liaison est constituée de deux
parties :
 la zone de texte Index actuel.
Cette zone de texte affiche l'index qui est en cours d'utilisation. Si vous cliquez sur
la flèche, vous afficherez la liste des autres index disponibles, ainsi que l'option “
Aucun index spécifique ”. Si vous utilisez une table indexée et que l'index que
vous comptez utiliser n'apparaît pas, cliquez sur le bouton Ajouter un index.
 La zone de texte Champs dans l'index.
Cette zone de texte affiche les champs qui sont inclus dans l'index sélectionné
dans la zone de liste déroulante Index actuel.
Si vous sélectionnez l'option Aucun index spécifique, le logiciel choisira pour vous
un index la prochaine fois que vous afficherez un aperçu de l'état.
Remarque : Certains SGBDR ne gèrent pas les tables indexées. Vérifiez que votre
base de données utilise effectivement des index avant d'en sélectionner un dans le
cadre d'une liaison. Pour de plus amples informations, reportez-vous à la
documentation de votre SGBDR.

Méthodes de consultation des tables (bases de données à accès direct)


Lorsqu'une table unique est liée à plusieurs tables, Crystal Reports doit déterminer
l'ordre de recherche et de liaison des données. Ces opérations se font à partir de la
table principale et à destination de la deuxième, troisième ou autre table de recherche.
Crystal Reports offre trois options de recherche des enregistrements dans
plusieurs tables de consultation et à partir d'une table principale unique :
 “Consulter les deux en même temps” à la page 554
 “Consulter intégralement les fichiers, l'un après l'autre (A à B, A à C)” à la
page 555
 “Consulter toutes les combinaisons des deux fichiers” à la page 555.
Remarque : Ces options ne sont pas disponibles lorsque vous utilisez des données
en provenance d'une source ODBC.
Ces options ne sont disponibles que lorsqu'une table unique, dite principale, est
liée à au moins deux tables de consultation. La table principale doit servir de table
de “ liaison à partir de ” à chaque liaison. Par exemple, lorsque vous liez la table
Client à la table Commandes et à la table Crédit, les options de consultation sont

Crystal Reports Guide de l’utilisateur 553


scr8.book Page 554 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

disponibles. Il n'en va pas de même si vous liez la table Client à la table


Commandes et la table Crédit à la table Client.
Les sections qui suivent reproduisent, pour chaque méthode décrite, trois champs
extraits de trois tables différentes. Dans chaque cas, la table Client est liée à la table
Crédit et à la table Commandes. Les champs reproduits sont Nom du client pour
la table Client, Montant pour la table Crédit et Montant de commande pour la table
Commandes. Il ne s'agit pas forcément des champs utilisés pour les liaisons, le seul
but de ces exemples étant d'indiquer comment extraire des données de la base
selon chacune des trois méthodes.

Consulter les deux en même temps


Cette option recherche pour chaque enregistrement de la table Client un
enregistrement correspondant dans la table Crédit et dans la table Commandes.
Elle repère ensuite le prochain enregistrement correspondant dans la table Crédit
et le prochain enregistrement correspondant dans la table Commandes, et ainsi de
suite. Une fois tous les enregistrements correspondants trouvés, le processus se
répète pour chaque enregistrement de la table Client.

Table Client Table Crédit Table Commandes

Montant de
Nom du client Montant commandes
Cyclists ($1088.56) $1529.70
Incorporated
Cyclists ($1260.12) $23.50
Incorporated
CyclePath Corp. ($1958.03) $49.50
CyclePath Corp. ($1076.43) $1702.60
CyclePath Corp. ($75.04)
The Great Bike Shop ($138.98) $3269.70
The Great Bike Shop $5219.55
The Great Bike Shop $1538.20
Notez que sur chaque ligne de l’état, il n’existe pas forcément de corrélation entre
la valeur du champ Montant de la table Crédit et celle du champ Montant de
commandes de la table Commandes. Cependant, à chaque enregistrement de la
table Client correspond forcément un enregistrement sélectionné en même temps
dans la table Crédit et dans la table Commandes.
Remarquez également que lorsque la table Crédit ne contient plus
d'enregistrement correspondant à un enregistrement de la table principale
(Client), des espaces vides sont insérés dans l'état jusqu'à ce que tous les
enregistrements correspondants de la table Commandes aient été extraits. La
même règle s'applique si la table Commandes n'a plus d'enregistrements.

554 Crystal Reports Guide de l’utilisateur


scr8.book Page 555 Monday, April 2, 2001 12:29 PM

27 : Bases de données

Consulter intégralement les fichiers, l'un après l'autre (A à B, A à C)


Pour chaque enregistrement dans la table Client, cette option recherche tous les
enregistrements correspondants dans la table Crédit (Table B) et ensuite recherche
tous les enregistrements correspondants dans la table Commandes (Table C). Elle
passe ensuite à l’enregistrement suivant de la table principale (Client) et
recommence l’opération.

Table Client Table Crédit Table Commandes

Montant de
Nom du client Montant
commandes
Cyclists Incorporated ($1088.56)
Cyclists Incorporated ($1260.12)
Cyclists Incorporated $1529.70
Cyclists Incorporated $23.50
CyclePath Corp. ($1958.03)
CyclePath Corp. ($1076.43)
CyclePath Corp. ($75.04)
CyclePath Corp. $49.50
CyclePath Corp. $1702.60
The Great Bike Shop ($138.98)
The Great Bike Shop $3269.70
The Great Bike Shop $5219.55
The Great Bike Shop $1538.20
Remarque : Pour afficher les données de la table C (la table Commandes de cet
exemple) dans l'état avant les données de la table B (table Crédit), vous devez
modifier les liens de façon à ce que le lien A vers C soit placé en premier, suivi du
lien A vers B. Effectuez cette opération à partir de l'Expert Liaison visuelle. Pour
changer l’ordre des liaisons, supprimez les liaisons actuelles et établissez les
nouvelles liaisons selon l’ordre voulu.

Consulter toutes les combinaisons des deux fichiers


Cette option recherche pour chaque enregistrement de la table Client un
enregistrement correspondant dans la table Crédit, puis tous les enregistrements
correspondants dans la table Commandes. Une fois extraits tous les enregistrements
de la table Commandes qui correspondent aux enregistrements de la table Crédit
correspondant eux-mêmes au premier enregistrement de la table Client, le système
passe au second enregistrement de la table Client et répète la procédure.

Crystal Reports Guide de l’utilisateur 555


scr8.book Page 556 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

Table Client Table Crédit Table Commandes

Montant de
Nom du client Montant commandes
Cyclists ($1088.56) $1529.70
Incorporated
Cyclists ($1088.56) $23.50
Incorporated
Cyclists ($1260.12) $1529.70
Incorporated
Cyclists ($1260.12) $23.50
Incorporated
CyclePath Corp ($1958.03) $49.50
CyclePath Corp ($1958.03) $1702.60
CyclePath Corp ($1076.43) $49.50
CyclePath Corp ($1076.43) $1702.60
CyclePath Corp ($75.04) $49.50
CyclePath Corp ($75.04) $1702.60
The Great Bike Shop ($138.98) $3269.70
The Great Bike Shop ($138.98) $5219.55
The Great Bike Shop ($138.98) $1538.20
Remarque : Pour que le logiciel recherche le premier enregistrement
correspondant dans la Table C (la table Commandes dans cet exemple) et qu’il
trouve tous les enregistrements correspondants dans la Table B (la table Crédit),
l’opposé du processus actuel, modifiez vos liaisons afin que la liaison A à C soit
en premier, suivie par la liaison A à B. Effectuez cette opération à partir de
l'Expert Liaison visuelle. Pour changer l’ordre des liaisons, supprimez les liaisons
actuelles et établissez les nouvelles liaisons dans l’ordre approprié.

Types de jointures SQL (sources de données ODBC)


Crystal Reports vous permet d'indiquer le type de jointure à utiliser lors de la liaison
de tables SQL. Une jointure SQL précise les modalités de la comparaison entre les
champs liés de deux tables SQL lors de la lecture des enregistrements. Utilisez la
boîte de dialogue Options de liaison pour spécifier que le type de jointure est SQL.
Remarque : Si vous utilisez les jointures SQL, vous n'avez pas besoin de champ
indexé.
Les différents types de jointures sont les suivants :
 “Jointure égale [=]” à la page 557
 “Jointure externe gauche [=(+), *=]” à la page 558

556 Crystal Reports Guide de l’utilisateur


scr8.book Page 557 Monday, April 2, 2001 12:29 PM

27 : Bases de données

 “Jointure externe droite [(+)=, =*]” à la page 559


 “Jointure supérieure à[>]” à la page 560
 “Jointure inférieure à [<]” à la page 561
 “Jointure supérieure ou égale à [>=]” à la page 561
 “Jointure inférieure ou égale à [<=]” à la page 562
 “Jointure différente [!=, <>]” à la page 563.

Jointure égale [=]


Les résultats obtenus avec cette jointure incluent tous les enregistrements dont la
valeur du champ lié est strictement identique dans les deux tables. Dans l'exemple
suivant, la table Client est liée à la table Commandes par l'intermédiaire du champ
ID Client. Lorsque le logiciel trouve dans la table Commandes un ID Client qui
coïncide avec celui de la table Client, il affiche le contenu des enregistrements
concernés des deux tables.
Pour décrire une jointure Egale, SQL utilise la syntaxe suivante :
SELECT Client.’ID Client’ ,
Client.’Nom client’,
Commandes.’Montant commande’
FROM ‘Client’ Client,
‘Commandes’ Commande
WHERE Client.ID Client =
Commandes.ID Client
Cette instruction génère les données suivantes :

Table Client Table Client Table Commandes

Montant de
Nom du client Nom du client
commandes
52 Allez Distribution 25141.50
53 BG Mountain Inc. 19164.30
53 BG Mountain Inc. 1683.60
57 Hansen MTB Inc. 15716.40
58 La Bomba de 1956.20
Bicicleta
60 Mountain Toad 24580.50
62 SFB Inc. 7911.80
63 Sierra Bicycle Group 19766.20
63 Sierra Bicycle Group 12763.95
64 Sierra Mountain 8233.50

Crystal Reports Guide de l’utilisateur 557


scr8.book Page 558 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

Jointure externe gauche [=(+), *=]


Les résultats obtenus d'une jointure externe gauche incluent tous les enregistrements
dont les valeurs du champ lié dans les deux tables correspondent exactement. Ils
incluent aussi une ligne pour chaque enregistrement dans la table principale
(gauche) dont la valeur du champ lié n’a aucune correspondance dans la table de
consultation. Par exemple, vous pouvez utiliser une jointure externe gauche pour
visualiser tous les clients et les commandes qu’ils ont passées, mais vous recevez
aussi une ligne pour chaque client qui n’a passé aucune commande. Ces clients
apparaissent à la fin de la liste avec des espaces vides au lieu de détails concernant
leurs commandes.

Table Client Table Client Table Commandes

Montant de
Nom du client Nom du client
commandes
52 Allez Distribution 25141.50
53 BG Mountain Inc. 19164.30
53 BG Mountain Inc. 1683.60
57 Hansen MTB Inc. 15716.40
58 La Bomba de Bicicleta 1956.20
60 Mountain Toad 24580.50
62 SFB Inc. 7911.80
63 Sierra Bicycle Group 19766.20
63 Sierra Bicycle Group 12763.95
64 Sierra Mountain 8233.50
54 Bicicletas Aztecas
55 Deely MTB Inc.
Remarque : En langage SQL, les jointures externes gauches et externes droites
sont traitées différemment des autres jointures. Si vous accédez à la base de
données par l'intermédiaire d'ODBC, Crystal Reports utilise la syntaxe ODBC
dans l'instruction SQL. Lorsque vous vous connectez directement à une base de
données SQL (sans passer par ODBC), Crystal Reports utilise la syntaxe native de
cette base de données. Pour de plus amples informations, voir la documentation
ODBC de Microsoft ou celle de votre base de données SQL.

558 Crystal Reports Guide de l’utilisateur


scr8.book Page 559 Monday, April 2, 2001 12:29 PM

27 : Bases de données

Jointure externe droite [(+)=, =*]


Les résultats obtenus avec cette jointure incluent tous les enregistrements dont la
valeur du champ lié est strictement identique dans les deux tables. Ils incluent
également une ligne pour chaque enregistrement de la table de consultation
(droite) dont la valeur du champ lié n'a pas pu être trouvée dans la table principale.
Lorsque vous liez la table Client à la table Commandes, des lignes sont ajoutées en
fonction des commandes passées par un client, comme pour une jointure égale.
Vous obtenez également des lignes spécifiques pour toutes les commandes
trouvées qui ne peuvent pas être liées à un client. Cette situation est théoriquement
impossible, mais la méthode permet par exemple de repérer rapidement les
commandes enregistrées par un vendeur inexpérimenté ayant oublié d'entrer l’ID
Client. Dans les tables résultantes, en effet, un espace vide remplace le champ
Client dans toutes les commandes ne précisant pas le nom du client.
:

Table Client Table Commandes Table Commandes

Montant de
Nom du client ID Commande commandes
52 6 25141.50
53 11 19164.30
53 21 1683.60
57 4 15716.40
58 20 1956.20
60 16 24580.50
62 19 7911.80
63 28 19766.20
63 32 12763.95
64 14 8233.50
25 10320.87
Remarque : En langage SQL, les jointures externes gauches et externes droites
sont traitées différemment des autres jointures. Si vous accédez à la base de
données par l'intermédiaire d'ODBC, Crystal Reports utilise la syntaxe ODBC
dans l'instruction SQL. Lorsque vous vous connectez directement à une base de
données SQL (sans passer par ODBC), Crystal Reports utilise la syntaxe native de
cette base de données. Pour de plus amples informations, voir la documentation
ODBC de Microsoft ou celle de votre base de données SQL.

Crystal Reports Guide de l’utilisateur 559


scr8.book Page 560 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

Jointure supérieure à[>]


Les résultats obtenus avec cette jointure incluent tous les enregistrements dont la
valeur du champ lié de la table principale est strictement supérieure que celle du
même champ dans la table de consultation. Ils permettent par exemple de comparer
les salaires des vendeurs à ceux des directeurs des ventes. Les dirigeants de
l'entreprise veulent s'assurer qu'aucun vendeur n'est mieux payé que son directeur.
Pour s'en tenir à cet exemple, il suffirait de lier la table Vendeur à la table Directeur,
par l'intermédiaire de leur champ Salaire comme ceci :
SELECT Vendeur.'Nom',
Vendeur.’Salaire’,
Directeur.’Nom’,
Directeur.’Salaire’
FROM ‘Vendeur’ Vendeur,
‘Directeur’ Directeur
WHERE Vendeur.’Salaire’ >
Directeur.’Salaire’
Cette instruction SQL génère les données suivantes :

Table Vendeur Table Vendeur Table Directeur Table Directeur

Nom Salaire Nom Salaire


Davolio $35,000.00 Fuller $32,000.00
Davolio $35,000.00 Brid $30,000.00
Davolio $35,000.00 Buchanan $29,500.00
Dodsworth $48,300.00 Hellstern $45,000.00
Dodsworth $48,300.00 Fuller $32,000.00
Dodsworth $48,300.00 Brid $30,000.00
Dodsworth $48,300.00 Buchanan $29,500.00
Dodsworth $48,300.00 Martin $35,000.00
Patterson $30,000.00 Buchanan $29,500.00
Dans cette table, aucune relation n'a pu être établie entre les vendeurs et les
directeurs des ventes. Ces derniers ayant tous une ancienneté supérieure à celle
des vendeurs, il est utile - lors d'une réévaluation de la politique salariale de
l'entreprise - de vérifier que leur rémunération est également plus élevée.

560 Crystal Reports Guide de l’utilisateur


scr8.book Page 561 Monday, April 2, 2001 12:29 PM

27 : Bases de données

Jointure inférieure à [<]


Les résultats obtenus avec cette jointure incluent tous les enregistrements dont la
valeur du champ lié de la table principale est strictement inférieure à celle du même
champ dans la table de consultation. Ils permettent, comme dans l'exemple du
paragraphe précédent, de vérifier qu'aucun salaire de vendeur n'est supérieur à un
salaire de directeur des ventes. Le champ Salaire est utilisé de nouveau pour
effectuer la liaison. Cette fois-ci, cependant, la liaison se fait de la table Directeur
vers la table Vendeur en utilisant une jointure inférieure sur les champs Salaire liés :
SELECT Directeur.’Nom’,
Directeur.’Salaire’,
Vendeur.’Nom’,
Vendeur.’Salaire’
FROM ‘Directeur’ Directeur,
‘Vendeur’ Vendeur
WHERE Directeur.’Salaire’ <
Vendeur.’Salaire’
Cette instruction SQL génère une table légèrement différente de la précédente.

Table Directeur Table Directeur Table Vendeur Table Vendeur

Nom Salaire Nom Salaire


Fuller $32,000.00 Davolio $35,000.00
Fuller $32,000.00 Dodsworth $48,300.00
Brid $30,000.00 Davolio $35,000.00
Brid $30,000.00 Dodsworth $48,300.00
Buchanan $29,500.00 Davolio $35,000.00
Buchanan $29,500.00 Dodsworth $48,300.00
Buchanan $29,500.00 Patterson $30,000.00
Martin $35,000.00 Dodsworth $48,300.00
Hellstern $45,000.00 Dodsworth $48,300.00

Jointure supérieure ou égale à [>=]


Les résultats obtenus avec cette jointure incluent tous les enregistrements dont la
valeur du champ lié de la table principale est supérieure ou égale à celle du même
champ dans la table de consultation. L'instruction donnée ici en exemple est
pratiquement identique à celle de la Jointure supérieure à :
SELECT Vendeur.'Nom',
Vendeur.’Salaire’,
Directeur.’Nom’,
Directeur.’Salaire’
FROM ‘Vendeur’ Vendeur,
‘Directeur’ Directeur
WHERE Vendeur.’Salaire’ >=
Directeur.’Salaire’

Crystal Reports Guide de l’utilisateur 561


scr8.book Page 562 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

Cette instruction génère les données suivantes :

Table Vendeur Table Vendeur Table Directeur Table Directeur

Nom Salaire Nom Salaire


Davolio $35,000.00 Fuller $32,000.00
Davolio $35,000.00 Brid $30,000.00
Davolio $35,000.00 Buchanan $29,500.00
Davolio $35,000.00 Martin $35,000.00
Dodsworth $48,300.00 Hellstern $45,000.00
Dodsworth $48,300.00 Fuller $32,000.00
Dodsworth $48,300.00 Brid $30,000.00
Dodsworth $48,300.00 Buchanan $29,500.00
Dodsworth $48,300.00 Martin $35,000.00
Patterson $30,000.00 Brid $30,000.00
Patterson $30,000.00 Buchanan $29,500.00

Jointure inférieure ou égale à [<=]


Les résultats obtenus avec cette jointure incluent tous les enregistrements dont la
valeur du champ lié de la table principale est inférieure ou égale à celle du même
champ dans la table de consultation. L'instruction donnée ici en exemple est
pratiquement identique à celle de la Jointure inférieure :
SELECT Directeur.’Nom’,
Directeur.’Salaire’,
Vendeur.’Nom’,
Vendeur.’Salaire’
FROM ‘Directeur’ Directeur,
‘Vendeur’ Vendeur
WHERE Directeur.’Salaire’ <=
Vendeur.’Salaire’
Cette instruction génère les données suivantes :

Table Directeur Table Directeur Table Vendeur Table Vendeur

Nom Salaire Nom Salaire


Fuller $32,000.00 Davolio $35,000.00
Fuller $32,000.00 Dodsworth $48,300.00
Brid $30,000.00 Davolio $35,000.00
Brid $30,000.00 Dodsworth $48,300.00
Brid $30,000.00 Patterson $30,000.00
Buchanan $29,500.00 Davolio $35,000.00

562 Crystal Reports Guide de l’utilisateur


scr8.book Page 563 Monday, April 2, 2001 12:29 PM

27 : Bases de données

Table Directeur Table Directeur Table Vendeur Table Vendeur

Nom Salaire Nom Salaire


Buchanan $29,500.00 Dodsworth $48,300.00
Buchanan $29,500.00 Patterson $30,000.00
Martin $35,000.00 Davolio $35,000.00
Martin $35,000.00 Dodsworth $48,300.00
Hellstern $45,000.00 Dodsworth $48,300.00

Jointure différente [!=, <>]


Les résultats obtenus avec cette jointure incluent tous les enregistrements dont la
valeur du champ lié de la table principale est différente de celle du même champ
dans la table de consultation. Cette jointure permet de trouver toutes les
combinaisons d'éléments possibles dans une table jointe à elle-même. Par exemple,
une société peut disposer d'une table énumérant tous ses produits. Lorsqu'elle
décide d'organiser une promotion offrant au client de bénéficier d'une réduction
de 50 % sur le second article, elle doit établir une liste de l'ensemble des
combinaisons d'articles possibles :
SELECT Produit1.’Nom du produit’,
Produit2.’Nom du produit’,
FROM ‘Produit’ Produit1
‘Produit’ Produit2
WHERE Produit1.’Nom du produit’ !=
Produit2.’Nom du produit’
Cette instruction SQL ouvre deux fois la table Produit. La première fois, elle reçoit
le pseudonyme Produit1. La deuxième fois, elle reçoit le pseudonyme Produit2.
Ensuite le champ Nom du produit est utilisé pour lier la table Produit1 à la table
Produit2. Il s'agit de la même table, mais dans la mesure où elle a été ouverte deux
fois sous des pseudonymes différents, Crystal Reports considère qu'il s'agit de
deux tables distinctes. Une Jointure différente lie les deux tables par l'intermédiaire
de leur champ Nom du produit. Par conséquent, chaque produit est
successivement lié à tous les autres produits mais jamais avec lui-même :

Produit1 Produit2

Nom du produit Nom du produit


Casque Xtreme pour adulte Antivol Xtreme Mtn
Casque Xtreme pour adulte Gants InFlux en lycra
Casque Xtreme pour adulte Selle Roadster Micro Mtn
Antivol Xtreme Mtn Casque Xtreme pour adulte
Antivol Xtreme Mtn Gants InFlux en lycra
Antivol Xtreme Mtn Selle Roadster Micro Mtn

Crystal Reports Guide de l’utilisateur 563


scr8.book Page 564 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

Produit1 Produit2

Nom du produit Nom du produit


Gants InFlux en lycra Casque Xtreme pour adulte
Gants InFlux en lycra Antivol Xtreme Mtn
Gants InFlux en lycra Selle Roadster Micro Mtn
Selle Roadster Micro Mtn Casque Xtreme pour adulte
Selle Roadster Micro Mtn Antivol Xtreme Mtn
Selle Roadster Micro Mtn Gants InFlux en lycra
Remarque : Le symbole != peut servir à représenter les jointures différentes, à
condition qu'il soit pris en charge par le pilote de la source de données ODBC
utilisé pour accéder aux données. Si ce n'est pas le cas, le logiciel utilise le symbole
par défaut (<>).

Utilisation de SQL et des bases de données SQL


Les SGBDR basés sur le langage SQL sont probablement les plus puissants et les
plus répandus. Leur architecture suit généralement le modèle client/serveur. Le
serveur SQL permet de créer, de stocker et de manipuler les fichiers, les tables, les
champs et les enregistrements de la base de données. L'interface client SQL permet
aux utilisateurs des stations de travail de créer et d'employer des fichiers de la base
de données, mais aussi d'extraire des données pertinentes et exploitables de nature
à faciliter leurs tâches journalières.

Définition de SQL
SQL est un langage conçu pour organiser, gérer, développer et interroger de
grandes bases de données relationnelles via un réseau. Le langage SQL est très
répandu dans le domaine informatique. Ce langage a été standardisé par l’American
National Standards Institute (ANSI) et l’International Standards Organization (ISO),
ce qui assure que toutes les applications ayant recours à la norme SQL utilisent les
mêmes fonctions. De nombreux éditeurs ajoutent des fonctions SQL plus avancées
en vue d’améliorer le langage et le rendre plus convivial, cependant ils doivent
respecter les normes de base établies par l’ANSI et l’ISO.
SQL n’est pas véritablement un langage informatique. Il ne peut pas être utilisé
pour créer des applications autonomes ou des systèmes d'exploitation. Il s'agit
plutôt d'un “ sous-langage ” utilisable depuis d'autres langages ou applications. En
outre, son objectif est limité puisqu'il vise uniquement à faciliter l'interrogation des
bases de données relationnelles.
La syntaxe du langage SQL détermine les modalités de l'envoi d'instructions au
serveur de base de données. Une instruction est une demande d'exécution d'une
opération dans la base de données : création d'un fichier, ajout de tables et de
champs, ajout d'enregistrements dans des tables, ou extraction de données. Le

564 Crystal Reports Guide de l’utilisateur


scr8.book Page 565 Monday, April 2, 2001 12:29 PM

27 : Bases de données

serveur SQL analyse l'instruction et exécute les opérations requises. Lorsqu'elle


contient une demande d'informations, le serveur réunit les données requises et les
envoie à la station cliente (d'où elles pourront être visualisées par l'utilisateur).

Une requête est une instruction SQL destinée à extraire des données d'une ou de
plusieurs bases SQL. Certaines applications SQL requièrent l'entrée directe de la
requête à l'aide d'un éditeur de texte, tandis que d'autres permettent d'interroger
la base par l'intermédiaire d'une interface graphique, ce qui est plus convivial.
Dans ce cas, l’application doit créer une instruction SQL reposant sur les
informations que vous fournissez. L'instruction est en fait la requête SQL, c'est elle
qui est utilisée pour demander les données. Crystal Reports fait partie de cette
deuxième catégorie d'applications compatibles SQL.

Architecture Client/Serveur
L'une des fonctions les plus puissantes des SGBDR SQL est celle qui leur permet
d'exploiter efficacement l'architecture client/serveur.

Dans sa configuration la plus simple, le réseau se compose d'un ou de plusieurs


serveurs permettant à tous les utilisateurs d'accéder aux applications et données
communes. La plupart des serveurs réseau gèrent aussi des services visant à
faciliter le travail des utilisateurs clients : sécurité du réseau, sauvegarde des
données, supervision de la répartition des ressources, etc. En raison de la charge

Crystal Reports Guide de l’utilisateur 565


scr8.book Page 566 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

importante de travail qui pèse sur lui, le serveur se compose souvent d'un
ordinateur puissant et rapide doté éventuellement de plusieurs processeurs,
disques et lecteurs de CD-ROM.
Un client réseau est un poste de travail unique qui est utilisé régulièrement par un
ou plusieurs employés. Cet utilisateur travaille sur le client et accède aux données
et aux applications situées sur le serveur par l’intermédiaire du réseau. Les
traitements importants qui requièrent beaucoup de ressources sont gérés par le
serveur, seuls les résultats étant renvoyés au client. Cette répartition permet
d'optimiser l'utilisation des ressources (généralement plus limitées) des stations de
travail et d'accroître ainsi leur disponibilité au profit de l'utilisateur.
Nombreuses sont les applications informatiques qui fonctionnent aujourd'hui en
architecture client/serveur. Une application client/serveur simple est divisée en
deux parties : une application côté serveur qui est située sur l’ordinateur serveur
et une application côté client qui est installée sur le poste de travail de l’utilisateur.
L'application serveur gère les processus complexes, longs ou exigeant beaucoup
de ressources, tandis que l'application client est dotée d'une interface conviviale
permettant d'effectuer plus facilement et plus rapidement les tâches à accomplir.

Il arrive fréquemment que le nombre de postes ou de sessions d'une application


client/serveur soit limité par la licence d'utilisation acquise. Un poste représente
un poste de travail client unique ou un utilisateur client unique (selon les
spécifications de l’éditeur) qui peut être connecté au logiciel client/serveur. Pour
augmenter le nombre de stations clients pouvant se connecter à l'application sur le
serveur, il suffit généralement d'acheter une licence supplémentaire.
Il faut bien distinguer les applications serveur du serveur réseau, même s'ils sont
souvent désignés sous le nom de serveur. Cependant, une application serveur
réside sur un serveur réseau, ce qui lui permet de bénéficier du matériel et du
système d’exploitation de l’ordinateur serveur. Un serveur réseau est un
ordinateur auquel les clients réseau sont connectés par câble ou tout autre
périphérique de connexion.

566 Crystal Reports Guide de l’utilisateur


scr8.book Page 567 Monday, April 2, 2001 12:29 PM

27 : Bases de données

SGBD SQL
Un SGBDR SQL est un exemple de logiciel client/serveur. Un SGBD SQL standard
inclut une application serveur SQL qui traite la création et l’utilisation des bases de
données et de leurs données. Le SGBD inclut également un logiciel client SQL (un
poste) qui peut se connecter au serveur SQL par l’intermédiaire du réseau. Ce
logiciel client comporte au minimum un éditeur d'instructions SQL et une couche
de communication sous-jacente autorisant les échanges avec l'application serveur
SQL via le réseau.
Lorsque vous exécutez une instruction SQL, le logiciel client la transmet à la
couche de communication qui à son tour la fait suivre au logiciel serveur. Ce
dernier analyse l'instruction, effectue l'opération requise et renvoie les données
demandées au logiciel client qui les affiche. Lorsque le serveur renvoie des
données, le logiciel client affiche les données lisibles par l’utilisateur.

Procédures stockées
En supplément des attributs de base de données relationnelles (tables, champs,
enregistrements, etc.) de nombreux SGBD SQL prennent en charge les procédures
stockées. Une procédure stockée est un programme SQL compilé qui comprend au
moins une instruction SQL. Ces procédures servent à définir des requêtes SQL
réutilisables indéfiniment. Elles peuvent même devenir interactives par
l'adjonction de variables, d'expressions conditionnelles et d'arguments qu'il suffira
de définir sur invite avant l'exécution.

Crystal Reports Guide de l’utilisateur 567


scr8.book Page 568 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

Dans la mesure où les procédures stockées peuvent renvoyer une série de


résultats, elles peuvent fournir un jeu de données spécifique lorsqu’elles sont
exécutées. En fait, Crystal Reports permet d’exécuter une procéure stockée sur une
base de données SQL et d’utiliser les données qui sont alors renvoyées pour
concevoir un état. Lorsque la procédure stockée est conçue pour demander des
paramètres complémentaires avant son exécution, Crystal Reports vous
demandera ces informations lorsque vous sélectionnerez cette procédure pour
votre état. Voir “Sélection d'une procédure stockée à partir d’une base de données
SQL et modification des paramètres” à la page 594.
Remarque :
 N'utilisez qu'une seule procédure stockée par état ou sous-état (tout état
comportant des sous-états peut utiliser une procédure stockée différente pour
l'état principal et les sous-états).
 Les procédures stockées ne peuvent pas être utilisées en conjonction avec les
autres objets de la base de données.
 La liaison n'est pas possible avec les procédures stockées.

Utilisation de SQL par Crystal Reports


Lorsque vous vous connectez à une base de données SQL, Crystal Reports se comporte
comme un client SQL ordinaire et se connecte à votre serveur SQL via le réseau.
Lorsque vous concevez un état qui accède à des données SQL, Crystal Reports crée
une requête SQL. Cette requête peut être modifiée si vous maîtrisez le langage SQL
et si vous pensez qu’elle peut être optimisée. Si vous choisissez la commande
Afficher une requête SQL du menu Base de données, la boîte de dialogue Afficher
une requête SQL apparaît et affiche la requête SQL créée par Crystal Reports.
Cette requête SQL (la requête qui est affichée) est une représentation de
l'instruction que Crystal Reports envoie au serveur SQL. En interprétant l'essentiel
de votre conception d’état en une requête SQL, Crystal Reports réussit à transférer
la plus grosse partie du traitement de l'état sur le serveur. Plutôt que de lire la
totalité de la base de données pour trouver les données recherchées, Crystal
Reports laisse cette tâche au serveur et extrait un ensemble de données beaucoup
plus petit, ce qui réduit le délai d'attente et l'immobilisation des ressources de votre
station de travail.

Langage SQL
Dans la mesure où Crystal Reports utilise le langage SQL pour accéder aux bases de
données client/serveur via ODBC, la compréhension des clauses (commandes)
suivantes vous permettra de mieux appréhender le processus de génération d'un état.

568 Crystal Reports Guide de l’utilisateur


scr8.book Page 569 Monday, April 2, 2001 12:29 PM

27 : Bases de données

SELECT
La clause SELECT spécifie les éléments que vous désirez extraire de la base de
données. Ces éléments peuvent être des valeurs de champ ou le résultat de calculs
exécutés lors de la collecte des données. Par exemple :
SELECT
TABLEA.'NOMCLIENT',
TABLEA.'REGION'

DISTINCT
La clause DISTINCT contraint la requête à extraire des séries de données uniques
(distinctes). Une même ligne ne sera donc extraite qu'une seule fois. L'instruction
SELECT de l'exemple précédent pourrait par exemple être modifiée en clause
DISTINCT comme suit :
SELECT DISTINCT
TABLEA.'NOMCLIENT',
TABLEA.'REGION'

FROM
La clause FROM précise la source des champs de base de données spécifiés dans la
clause SELECT. Elle répertorie les tables dans lesquelles sont stockés les champs et
les enregistrements contenant les données demandées. Les clauses FROM
générées par Crystal Reports insèrent un pseudonyme avant le nom des tables
pour pouvoir les identifier dans votre état. L'instruction suivante se compose d'une
clause SELECT complétée par la clause FROM :
SELECT
TABLEA.'NOMCLIENT',
TABLEA.'REGION'
FROM
'TABLEA' TABLEA

WHERE
La clause WHERE peut remplir deux fonctions :
 Définition des critères de sélection d'enregistrements
 Définition des modalités de jointure de deux tables
Dans le premier cas, elle spécifie une condition de recherche déterminant les
enregistrements (ou lignes d’enregistrements) à extraire. Par exemple :
SELECT
MATABLE.'VENDEUR',
MATABLE.'TOTALDEVENTES'
FROM
'MATABLE' MATABLE
WHERE
MATABLE.'TOTALDEVENTES' < 10000.00

Crystal Reports Guide de l’utilisateur 569


scr8.book Page 570 Monday, April 2, 2001 12:29 PM

Généralités sur les bases de données

Quand WHERE est utilisé pour spécifier la liaison entre deux tables, un opérateur
de jointure SQL se trouve entre le nom des deux tables. Voir “Types de jointures
SQL (sources de données ODBC)” à la page 556.
Dans l'exemple suivant, la clause WHERE joint deux tables :
SELECT
CLIENT.'ID_CLIENT',
CLIENT.'NOM_CLIENT',
COMMANDES.'MONTANT'
FROM
'CLIENT' CLIENT,
'COMMANDES' COMMANDES
WHERE
CLIENT.'ID_CLIENT' = COMMANDES.'ID_CLIENT'

ORDER BY
La clause ORDER BY indique que les enregistrements trouvés devront être triés
d'après les valeurs d'un champ spécifique. En l'absence de la clause ORDER BY, les
enregistrements sont présentés dans l'ordre où ils apparaissent dans la base de
données d'origine. Lorsque vous spécifiez plusieurs champs à la suite de la clause
ORDER BY, le programme trie les enregistrements en fonction des valeurs
contenues dans le premier champ spécifié. Suite à ce premier tri, le programme trie
les enregistrements en fonction des valeurs du deuxième champ spécifié, etc.
L'instruction SQL suivante utilise une clause ORDER BY :
SELECT
MATABLE.'SOCIETE',
MATABLE.'VILLE',
MATABLE.'REGION'
FROM
'MATABLE' MATABLE
ORDER BY
MATABLE.'REGION' ASC,
MATABLE.'VILLE' ASC
Remarque : ASC signifie que les valeurs du champ doivent être triées par ordre
croissant plutôt que par ordre décroissant (DESC). L’ordre croissant trie les lettres
de A à Z et les chiffres de 0 à 9.

GROUP BY
La clause GROUP BY extrait un ensemble de données de résumé. Au lieu d'extraire
les données, GROUP BY les regroupe et présente un résumé de ces groupes par
l'intermédiaire d'une fonction de résumé SQL. Le serveur renvoie uniquement les
informations de résumé correspondant à chaque groupe à Crystal Reports.
Par exemple:
SELECT
MATABLE.'REGION',
MATABLE.'CODEPOSTAL',
SUM (MATABLE.'VENTES')

570 Crystal Reports Guide de l’utilisateur


scr8.book Page 571 Monday, April 2, 2001 12:29 PM

27 : Bases de données

FROM
'MATABLE' MATABLE
GROUP BY
MATABLE.'REGION',
MATABLE.'CODEPOSTAL'

Traitement côté serveur


Le traitement côté serveur vous permet de configurer un état qui accomplit la
plupart de son traitement sur le serveur et ne passe que les détails pertinents à
votre ordinateur.
Le traitement côté serveur vous offre quelques bénéfices :
 moins de temps connecté au serveur ;
 moins de mémoire requise pour traiter l’état sur votre ordinateur ;
 moins de temps de transfert du serveur au client.
Voici comment fonctionne le traitement côté serveur : à l’aide de la technologie
SQL Pass-Through pour envoyer une instruction SQL au serveur de base de
données et pour extraire un jeu de données initial, Crystal Reports décharge la
plupart de l’extraction des données et le tri sur le système de serveur, libérant ainsi
la mémoire et les ressources locales pour des tâches plus importantes. C’est
pourquoi le traitement côté serveur ne marche qu’avec les états qui ont été triés et
groupés auparavant. Si un état n’a été ni trié ni groupé (par exemple, un état de
liste simple), il n’y aura aucun traitement à expédier vers le serveur. Notez
également que le traitement côté serveur ne fonctionne qu’avec les états basés sur
les sources de données SQL. Vous ne pourriez pas, par exemple, utiliser le
traitement côté serveur pour un état basé sur une requête puisque la requête n’est
pas une source de données SQL.
Souvenez-vous qu’afin de pouvoir grouper sur le serveur, votre état doit répondre
aux conditions suivantes :
 l’option Grouper sur le serveur (dans la boîte de dialogue Options) est activée.
Pour de plus amples renseignements, voir “Activation du traitement côté
serveur” à la page 573.
 l’état doit utiliser un groupement quelconque.
 l’état doit être partiellement masqué (du moins, la section Détails doit être
masquée). Puisque le serveur traitera ces sections masquées, plus grande est la
partie de l’état visible, plus grande sera la partie du traitement qui doit se faire
du côté client. Si la section Détails est affichée, le traitement côté serveur ne
sera pas possible.
 dans certains cas, les champs de formule doivent être traités du côté client. Si
le groupement est basé sur un champ de formule, ou si une formule est utilisée
dans un champ de résumé, tous les enregistrements, par conséquent, doivent
être transférés du côté client avant que la formule puisse être évaluée. Ceci

Crystal Reports Guide de l’utilisateur 571


scr8.book Page 572 Monday, April 2, 2001 12:29 PM

Traitement côté serveur

augmentera le temps requis pour exécuter l’état. Donc, il se peut que vous
vouliez utiliser les instructions SQL en tant qu’alternative aux formules.
Remarque : les formules utilisées pour la sélection d'enregistrements
constituent une exception et peuvent être empilées sur le serveur.
 Afin que l’état puisse être traité sur le serveur, tous les totaux cumulés
apparaissant dans l’état doivent être basés sur les champs de résumé. Les
données requises pour les totaux cumulés seront envoyées au côté client.
 Afin que l’état puisse être traité sur le serveur, il ne doit pas contenir les
résumés Moyenne ou Compte distinct.
 L’état ne doit pas comporter de valeurs de groupe spécifiées.
Remarque :
 Lorsque vous explorez une section masquée d’un état, alors que le traitement
s'effectue sur le serveur, la connexion au serveur sera automatiquement
commencée. Si le client est déconnecté du serveur (par exemple, si vous
téléchargez un état sur votre ordinateur portable et travaillez avec lui en mode
autonome), l’exploration des données provoquera une erreur car la base de
données n'est pas disponible.
 Si vous enregistrez un état partiellement traité sur le serveur en utilisant l’option
Enregistrer les données avec l’état, le logiciel n’enregistrera que les
enregistrements qui ont été transférés au côté client. Autrement dit, si vous avez
exploré les données d’une section masquée, et qu'il existe un onglet pour ces
données dans Crystal Reports, ces enregistrements seront sauvegardés avec l’état.

Comment le groupement côté serveur affecte la requête SQL


Quand un état envoie la plupart de son traitement sur le serveur, cette action, par
nécessité, change la requête SQL. Ainsi, lorsque vous activez l’option Grouper sur
le serveur, les aspects individuels du traitement côté serveur modifieront
l’instruction SQL de manières différentes.
 Si vous sélectionnez Utiliser les index ou serveur pour rapidité (dans la boîte
de dialogue des options d'état), le programme ajoute une clause ORDER BY à
l'instruction SQL et une clause WHERE pour la formule de sélection
d'enregistrements, lorsque c'est possible.
 Si vous groupez sur un type de données pouvant être lié dans SGBDR, le
logiciel ajoute une clause GROUP BY à l’instruction SQL. Le logiciel utilise la
clause GROUP BY pour grouper sur le serveur.
 Si vous résumez sur la base d’un type de données pouvant être lié, le logiciel
ajoute un champ de résumé à la clause SELECT de l’instruction SQL.
 Si vous explorez un type de données pouvant être lié, le logiciel ajoute une
clause WHERE à l’instruction SQL.
 Si vous groupez en ordre décroissant sur la base d’un type de données
pouvant être lié, le logiciel ajoute une clause ORDER BY à l’instruction SQL.

572 Crystal Reports Guide de l’utilisateur


scr8.book Page 573 Monday, April 2, 2001 12:29 PM

27 : Bases de données

L’instruction peut aussi varier d'un onglet à l'autre :


 L’instruction peut aussi varier d'un onglet à l'autre : si vous travaillez dans
l’onglet Aperçu, l’instruction inclura la clause GROUP BY, en plus de tout
résumé que l’état passe au serveur.
 si vous effectuez une exploration, l’instruction variera suivant les données
sous-jacentes et le niveau de l’exploration. Les critères WHERE changent avec
chaque exploration. De plus, si vous explorez en profondeur, l’instruction
n’inclura pas de clause GROUP BY, puisque vous n’avez plus de groupes dans
cet onglet d’exploration.
Pour afficher l’instruction SQL actuelle pour l’onglet actif, sélectionnez la
commande Afficher une requête SQL du menu Base de données. La boîte de
dialogue Afficher une requête SQL affiche alors l’instruction SQL.
Remarque :
 Vous pouvez utiliser l'Editeur d'expression SQL pour modifier des
expressions SQL pour qu'elles soient traitées sur le serveur.
 Les instructions SQL ayant été modifiées dans la boîte de dialogue Afficher
une requête SQL désactivent le traitement côté serveur car la clause GROUP
BY n'est plus empilée.

Activation du traitement côté serveur


1 Dans le menu Fichier, cliquez sur Options d'état.
2 Sélectionnez Grouper sur le serveur dans la boîte de dialogue des options d'état.
Cette case à cocher est désactivée si l'option Utiliser les index ou serveur pour
rapidité n'est pas sélectionnée.
3 Cliquez sur OK.
Remarque : Vous pouvez également activer ou désactiver rapidement cette option
en sélectionnant ou en désélectionnant Grouper sur le serveur dans le menu Base de
données. Si l'option Utiliser les index ou serveur pour rapidité n'est pas sélectionnée
dans la boîte de dialogue Options d'état, cette commande est désactivée.

Mappage de champs de base de données


La boîte de dialogue Mapper des champs permet de lier les champs d’état aux
champs de base de données correspondants après avoir modifié la structure de la
base de données ou après avoir créé un état reposant sur une base de données à partir
du modèle d’un autre état, établi sur une autre base de données ayant la même
structure de table et de champ. De cette façon, la boîte de dialogue vous aide à vous
assurer que votre état s’imprime avec la version actuelle de la base de données active.
Lorsque vous créez un état pour la première fois, l’état retire ses champs de la base
de données dans sa présente forme. Si vous changez la structure de la base de
données après que vous ayez créé l’état, le logiciel a besoin d’adapter l’état à cette
nouvelle structure.

Crystal Reports Guide de l’utilisateur 573


scr8.book Page 574 Monday, April 2, 2001 12:29 PM

Mappage de champs de base de données

A propos de la boîte de dialogue Mapper des champs


La boîte de dialogue Mapper des champs contient quatre zones de liste :
 La zone de liste dans le coin supérieur gauche affiche les noms de tous les
champs d’état non mappés, pour lesquels le logiciel décèle un changement
dans la base de données active. Le premier nom est sélectionné par défaut.
 La zone de liste dans le coin supérieur droit affiche les noms de tous les
champs de base de données non mappés, pour lesquels le logiciel décèle une
modification. Puisque la case à cocher Correspondre type est activée par
défaut, cette zone de liste n’affiche que les noms des champs de base de
données non mappés du même type que le champ d’état sélectionné dans la
zone de liste du coin supérieur gauche. Pour afficher tous les champs de base
de données non mappés, désactivez la case à cocher Correspondre type.
 La zone de liste dans le coin inférieur gauche affiche les noms de tous les
champs d’état mappés. Lorsque vous mappez les champs dans les zones de
liste supérieures, ils apparaissent dans les zones de liste inférieures.
 La zone de liste dans le coin inférieur droit affiche les noms de tous les champs
de base de données mappés. Lorsque vous mappez les champs dans les zones
de liste supérieures, ils apparaissent dans les zones de liste inférieures.
Pour chaque champ de base de données que vous avez modifié, sélectionnez le
champ d’état et le champ de base de données dans les sections supérieures et
cliquez sur Mapper. Les noms de champ se déplaceront des zones supérieures aux
zones inférieures.
Vous n’avez pas besoin de remapper chaque champ d’état. Par exemple, si vous
supprimez un champ de base de données, il ne sera pas nécessaire de remapper
son champ d’état correspondant parce que vous n’en aurez pas besoin dans votre
état. Vous pouvez cliquer sur OK pour fermer la boîte de dialogue sans remapper
chaque champ répertorié dans la zone de liste supérieure gauche.
Parfois, vous serez amené à démapper ou annuler la liaison des champs d’état ou de
base de données que vous avez déjà mappés. Par exemple, il se peut que vous ayez
mappé les champs incorrects ou que vous vouliez mapper un champ d’état à celui de
base de données que vous avez déjà mappé. Dans ce cas, vous pouvez sélectionner
un champ d’état dans les zones de liste inférieures (le logiciel sélectionne
automatiquement le champ de base de données) et cliquer sur Démapper. Les noms
de champ se déplaceront des zones inférieures aux zones supérieures.
Remarque : Crystal Reports n’actualise pas automatiquement les données d’état
lorsque vous fermez la boîte de dialogue Mapper des champs. Si vous voulez
actualiser vos données, vous aurez besoin de cliquer sur le bouton Actualiser de
la barre d’outils standard.

574 Crystal Reports Guide de l’utilisateur


scr8.book Page 575 Monday, April 2, 2001 12:29 PM

27 : Bases de données

Processus pour remapper


Si vous faites des changements aux champs de base de données actifs qui
requièrent que vous remappiez les champs d’état correspondants, vous pourrez
afficher la boîte de dialogue Mapper des champs en sélectionnant n’importe quelle
commande suivante du menu Base de données :
 Vérifier une base de données
 Vérifier à chaque impression
 Définir l’emplacement
 Convertir le lecteur de base de données
Vous pouvez utiliser ces commandes pour une fonction spécifique ; cependant,
elles ouvriront la boîte de dialogue Mapper des champs si le logiciel décèle des
incohérences entre les noms de champ de l’état et ceux de la base de données. Afin
de pouvoir déceler toute incohérence possible, le logiciel compare chaque nom de
champ dans l’état aux noms de champs de la base de données. Si l’un de ces noms
ne correspond à aucun nom de la base de données, la boîte de dialogue Mapper
des champs s’affichera.
Remarque : les champs d’état restant non mappés seront enlevés de l’état.

Utilisation du processus de vérification d’une base de données


Lorsque vous sélectionnez la commande Vérifier une base de données du menu
Base de données, le logiciel contrôle les bases de données actives et indique s’il a
trouvé des modifications ou non. Si oui, l’état devra être adapté afin d’éviter des
erreurs.
Le logiciel affiche la boîte de dialogue Mapper des champs s’il décèle l’un de ces
types de changement à la base de données :
 le nom d’un champ de base de données utilisé dans l’état a été changé ;
 la base de données a été changée d’une source de données PC à une source de
données SQL.
Pour un didacticiel sur la boîte de dialogue Mapper des champs, voir “Nouveau
mappage des champs modifiés de la base de données” à la page 576. Crystal
Reports adapte automatiquement l’état (et n’affiche pas la boîte de dialogue
Mapper des champs) s’il décèle l’un de ces changements :
 des champs ont été ajoutés à la base de données ;
 les champs non utilisés dans l’état ont été enlevés de la base de données ;
 les emplacements de champ ont été changés dans la base de données ;
 les types de données pour les champs dans la base de données ont été changés.

Crystal Reports Guide de l’utilisateur 575


scr8.book Page 576 Monday, April 2, 2001 12:29 PM

Mappage de champs de base de données

Utilisation du processus de vérification à chaque impression


La commande Vérifier à chaque impression est un verrouillage qui déclenche la
commande Vérifier une base de données chaque fois que vous imprimez votre état.
 Si une coche se trouve à côté de la commande Vérifier à chaque impression, la
commande est activée. Elle déclenchera la commande Vérifier une base de
données chaque fois que vous imprimerez. Voir “Utilisation du processus de
vérification d’une base de données” à la page 575.
 Si la coche est absente, la commande est désactivée. Par défaut, la commande
est désactivée.

Utilisation du processus de définition de l’emplacement


Lorsque vous sélectionnez la commande Définir l’emplacement du menu Base de
données et spécifiez un nouvel emplacement pour la base de données active, le
logiciel recherche des modifications dans la base de données.
La commande Définir l’emplacement entraîne l’affichage de la boîte de dialogue
Mapper des champs si elle décèle l’une des modifications suivantes dans la
structure de la base de données :
 un champ de base de données a été supprimé ;
 un champ de base de données a été renommé ;
 la base de données est entièrement nouvelle.
Remarque : Le logiciel contrôle ces modifications uniquement si les bases de
données ont des noms différents ou si le nom de la base de données a changé. Si la
base de données a le même nom, la boîte de dialogue Mapper des champs
n’apparaîtra pas et vous aurez besoin de vérifier la base de données après avoir
fini de définir l’emplacement. Pour de plus amples renseignements, voir
“Utilisation du processus de vérification d’une base de données” à la page 575.

Nouveau mappage des champs modifiés de la base de données


Utilisez la boîte de dialogue Mapper des champs pour mapper de nouveau des
champs d’état existants dans la base de données active s’ils ont été changés.

Pour mapper de nouveau un champ modifié de base de données


1 Avec l’état actif dans l’onglet Conception, sélectionnez la commande Vérifier
une base de données du menu Base de données.
La zone de message Vérifier une base de données apparaît.

576 Crystal Reports Guide de l’utilisateur


scr8.book Page 577 Monday, April 2, 2001 12:29 PM

27 : Bases de données

 Si le logiciel ne décèle aucun changement dans la base de données active, la


zone de message affichera ce message : “La base de données est à jour.”
Dans ce cas, cliquez tout simplement sur OK et continuez votre travail.
 Si le logiciel décèle des changements dans la base de données active, la zone
de message affichera ce message : “ Le fichier de base de données [nom de
la table] a changé. Poursuivre pour mettre l'état à jour ? ”
2 Cliquez sur OK.
Si le logiciel décèle qu’un nom de champ a été changé dans la base de données
active, la boîte de dialogue Mapper des champs apparaît.
Remarque : Le logiciel adapte automatiquement l’état aux changements
d’autres données dans la base de données (nombre de champs, emplacement
de champ, type de données, etc.). Il n’est pas nécessaire de mapper de nouveau
les champs dans lesquels ces modifications ont été faites.
3 Mettez en surbrillance le premier champ d’état que vous voulez mapper de
nouveau dans la zone de liste supérieure gauche.
4 Dans la zone de liste supérieure droite, mettez en surbrillance le champ de
base de données non mappé vers lequel vous voulez mapper de nouveau le
champ d’état sélectionné.
5 Cliquez sur le bouton Mapper.
L'état sélectionné et les champs de la base de données ne figurent plus dans les
zones supérieures. Ils apparaissent désormais dans les zones inférieures.
6 Répétez les étapes 3 à 5 pour chaque champ d’état non mappé que vous voulez
mapper de nouveau.
Remarque : Si les noms de n’importe quel champ d’état restent dans la zone de
liste supérieure gauche lorsque vous quittez la boîte de dialogue, le logiciel les
enlèvera de votre état.
7 Cliquez sur OK.
Le logiciel remappe les champs d’état aux champs de base de données modifiés.

Nouveau mappage lors de la conversion des pilotes de base de données


Lorsque vous choisissez Convertir le lecteur de base de données dans le menu Base
de données et spécifiez le pilote de base de données à utiliser lors de l'exécution de
l'état, le programme vérifie la base de données pour détecter d'éventuelles
modifications. Il affiche la boîte de dialogue Mapper des champs lorsqu'il détecte
des changements de structure.

Crystal Reports Guide de l’utilisateur 577


scr8.book Page 578 Monday, April 2, 2001 12:29 PM

Utilisation des bases de données

Utilisation des bases de données


Cette section décrit plusieurs procédures habituelles relatives à l'accès aux fichiers
de bases de données à partir de Crystal Reports. Lorsque c'est utile, des
instructions étape par étape sont fournies.

Utilisation de requêtes Access

Ouverture de requêtes Access à l’aide de DAO


Les requêtes Microsoft Access peuvent s'utiliser dans Crystal Reports sous la
forme d’ensembles de données séparées, semblables aux tables Access. Lorsqu’une
base de données Access est ouverte à l'aide du moteur DAO (voir “Microsoft
Access” à la page 609), toutes les requêtes dans cette base de données peuvent être
lues automatiquement.

Pour ouvrir une requête Access via DAO


1 Cliquez sur le bouton Nouveau dans la barre d'outils standard.
La Collection d’états Crystal Report apparaît.

2 Cliquez sur En tant qu’état vide, puis sur OK.

578 Crystal Reports Guide de l’utilisateur


scr8.book Page 579 Monday, April 2, 2001 12:29 PM

27 : Bases de données

3 Dans la boîte de dialogue de l'Explorateur de données, recherchez,


sélectionnez puis développez le fichier de base de données Microsoft Access
(*.mdb) qui contient la requête que vous voulez utiliser dans votre état.
Remarque : Si votre base de données requiert un nom d'utilisateur ou un mot
de passe, ou toute autre information de connexion, une boîte de dialogue de
connexion apparaît.
4 Mettez en surbrillance la requête et toutes les tables que vous voulez inclure
dans votre état et cliquez sur Ajouter.
5 Cliquez sur Fermer une fois que vous en avez terminé avec la boîte de
dialogue Explorateur de données.
La boîte de dialogue de l'Explorateur de champs apparaît.
Remarque : La boîte de dialogue de l'Expert Liaison Visuelle apparaît tout
d'abord, si vous avez sélectionné plusieurs requêtes et tables.
Toutes les requêtes et tables sélectionnées dans la base de données Access
apparaissent dans la boîte de dialogue Explorateur de champs.
6 Recherchez votre requête dans la liste des Champs de la base de données, et
cliquez deux fois sur son nom.
La requête se développe pour afficher tous les champs qu'elle contient.
7 Sélectionnez tous les champs que vous voulez utiliser dans votre état et
ajoutez-les à l'onglet Conception.
Remarque : Vous ne pouvez pas utiliser les requêtes d'action ou les requêtes de
mise à jour Access dans Crystal Reports. Toutefois, vous pouvez utiliser les
requêtes de Sélection et de tables croisées Access.

Ouverture de requêtes Access à l’aide d'ODBC


ODBC vous permet d'exercer un meilleur contrôle sur les parties de la base de
données que vous voulez utiliser. C'est pourquoi l'emploi d'une requête Access via
ODBC requiert quelques étapes supplémentaires.

Pour ouvrir des requêtes Access à l’aide de ODBC


1 Choisissez la commande Options dans le menu Fichier.
2 Cliquez sur l'onglet Base de donnée pour l'activer.
La boîte de dialogue Options apparaît.

Crystal Reports Guide de l’utilisateur 579


scr8.book Page 580 Monday, April 2, 2001 12:29 PM

Utilisation des bases de données

3 Vérifiez que la case à cocher Vues et/ou la case à cocher Redemander à


l’utilisateur lors de la connexion soi(en)t activée(s).
 Lorsque vous sélectionnez l'option “ Vues ”, les requêtes disponibles
stockées dans votre base de données Access s'affichent automatiquement.
 Lorsque vous sélectionnez l'option “ Redemander à l’utilisateur lors de la
connexion ”, la boîte de dialogue Permettre les états sur s'affiche à chaque
fois que vous vous connectez à une source de données ODBC. Cette boîte
de dialogue offre les mêmes options que la section Permettre les états sur
de la boîte de dialogue Options, mais elle offre ces options pour chaque
source de données ODBC à laquelle vous vous connectez.
4 Vous pouvez aussi utiliser les options Nom de la table LIKE et Propriétaire
LIKE si vous le désirez.
 “ Nom de la table LIKE ” est basée sur la clause SQL LIKE. Cette option vous
permet d'indiquer le type des noms de table que vous voulez voir apparaître
dans la boîte de dialogue Sélectionner une table SQL. Utilisez les caractères
de soulignement (_) et de pourcentage (%) comme caractères génériques
avec cette fonction. Le caractère de soulignement spécifie un caractère
quelconque, alors que le caractère de pourcentage spécifie une série de
caractères quelconque. Ainsi, JEA_ correspond uniquement à JEAN, tandis
que JEA% correspond à la fois à JEAN et à JEANNE. De même, Nom de
table LIKE C% affiche uniquement les tables dont le nom commence par C.
 “ Propriétaire LIKE ” est aussi basée sur la clause SQL LIKE. Cette option
vous permet de sélectionner une table selon son propriétaire, son créateur
ou on pseudonyme et non pas selon son nom. Ainsi, Propriétaire LIKE C%
affiche uniquement les tables dont le propriétaire commence par la lettre C.
5 Cliquez sur OK pour fermer la boîte de dialogue Options.

580 Crystal Reports Guide de l’utilisateur


scr8.book Page 581 Monday, April 2, 2001 12:29 PM

27 : Bases de données

6 Créez un nouvel état. Choisissez ODBC comme la source de vos données pour
votre base de données Access.
Truc : En choisissant une source de données ODBC, vous êtes connecté au
serveur automatiquement.
Si vous n'avez pas indiqué un fichier de base de données Access avec votre
source de données ODBC Access, la boîte de dialogue Sélectionner une base de
données apparaît.
Remarque : Si votre base de données requiert un nom d'utilisateur ou un mot
de passe, ou toute autre information de connexion, une boîte de dialogue de
connexion apparaît.
7 Recherchez et sélectionnez la base de données contenant la requête Access que
vous voulez utiliser puis développez-la.
Si vous avez sélectionné la case à cocher “ Redemander à l’utilisateur lors de la
connexion ” de la boîte de dialogue Options, la boîte de dialogue Permettre les
états sur apparaît. Si ce n'est pas le cas, passez directement à l'étape 9.

8 Vérifiez que la case à cocher Vues est sélectionnée et cliquez sur OK lorsque
vous avez terminé.
9 Mettez en surbrillance votre requête et cliquez sur Ajouter puis sur Fermer.
L'onglet Conception apparaît, ainsi que la boîte de dialogue de l'explorateur de
champs. Votre requête Access et tous les champs qui lui sont associés
apparaissent sous Champs de Base de données.
Remarque : Vous ne pouvez pas utiliser les requêtes d'action ou les requêtes de
mise à jour Access dans Crystal Reports. Toutefois, vous pouvez utiliser les
requêtes de Sélection et de tables croisées Access.

Ouverture de requêtes de paramètre Access


Les requêtes de paramètre Access ne peuvent être ouvertes que si une base de
données Access a été ouverte à l’aide d’ODBC. Il convient donc de vérifier que
vous disposez d'une source de données ODBC pour votre base de données Access
avant de déclencher la procédure. Voir “Configuration d'une source de données
ODBC” à la page 585.

Crystal Reports Guide de l’utilisateur 581


scr8.book Page 582 Monday, April 2, 2001 12:29 PM

Utilisation des bases de données

Remarque : Lorsque vous créez une requête de paramètre dans Access, vous
devez fournir une invite pour la requête et spécifier le type de données pour le
paramètre. Vous commencez avec la requête ouverte en mode Conception dans
Microsoft Access, saisissez dans la cellule Critères l’invite du champ qui servira
de paramètre. Choisissez ensuite la commande Paramètres depuis le menu
Requête dans Access et spécifiez un type de données pour le paramètre que vous
venez de créer. Vérifiez que l'invite apparaît exactement telle que celle qui se
trouve dans la cellule Critères. Pour des instructions complètes, reportez-vous à la
documentation d’Access. Si vous n’installez pas la requête de paramètre
correctement, Crystal Reports ne pourra pas s’en servir.

Pour ouvrir une requête de paramètre Access


1 Choisissez la commande Options du menu Fichier dans Crystal Reports.
La boîte de dialogue Options apparaît.
2 Cliquez sur l'onglet Base de donnée pour l'activer.

3 Sélectionnez la case à cocher Procédures stockées et/ou Redemander à


l’utilisateur lors de la connexion.
 L’option Procédures stockées affiche automatiquement toutes les
procédures stockées disponibles lorsque vous vous connectez à une source
de données ODBC. Crystal Reports traite les requêtes de paramètre Access
presque de la même manière qu’il traite les procédures stockées SQL. Donc,
pour utiliser une requête de paramètre, vous devez activer l’option
Procédures stockées.

582 Crystal Reports Guide de l’utilisateur


scr8.book Page 583 Monday, April 2, 2001 12:29 PM

27 : Bases de données

 Lorsque vous sélectionnez l'option “ Redemander à l’utilisateur lors de la


connexion ”, la boîte de dialogue Permettre les états sur s'affiche à chaque
fois que vous vous connectez à une source de données ODBC. Cette boîte
de dialogue offre les mêmes options que la section Permettre les états sur
de la boîte de dialogue Options, mais elle offre ces options pour chaque
source de données ODBC à laquelle vous vous connectez.
4 Vous pouvez aussi utiliser les options Nom de la table LIKE et Propriétaire
LIKE si vous le souhaitez.
 “ Nom de la table LIKE ” est basée sur la clause SQL LIKE. Cette option
vous permet d'indiquer le type des noms de table que vous voulez voir
apparaître dans la boîte de dialogue Sélectionner une table SQL. Utilisez les
caractères de soulignement (_) et de pourcentage (%) comme caractères
génériques avec cette fonction. Le caractère de soulignement spécifie un
caractère quelconque, alors que le caractère de pourcentage spécifie une
série de caractères quelconque. Ainsi, JEA_ correspond uniquement à
JEAN, tandis que JEA% correspond à la fois à JEAN et à JEANNE. De
même, Nom de table LIKE C% affiche uniquement les tables dont le nom
commence par C.
 “ Propriétaire LIKE ” est aussi basée sur la clause SQL LIKE. Cette option
vous permet de sélectionner une table selon son propriétaire, son créateur
ou on pseudonyme et non pas selon son nom. Ainsi, Propriétaire LIKE C%
affiche uniquement les tables dont le propriétaire commence par la lettre C.
5 Cliquez sur OK pour fermer la boîte de dialogue Options.
6 Créez un nouvel état. Choisissez ODBC comme la source de vos données pour
votre base de données Access.
Truc : En choisissant une source de données ODBC, vous êtes connecté au
serveur automatiquement.
Si vous n'avez pas indiqué un fichier de base de données Access avec votre
source de données ODBC Access, la boîte de dialogue Sélectionner une base de
données apparaît.
Remarque : Si votre base de données requiert un nom d'utilisateur ou un mot
de passe, ou toute autre information de connexion, une boîte de dialogue de
connexion apparaît.
7 Recherchez et sélectionnez la base de données contenant la requête de
paramètre Access que vous voulez utiliser puis développez-la.
Si vous avez sélectionné la case à cocher “ Redemander à l’utilisateur lors de la
connexion ” de la boîte de dialogue Options, la boîte de dialogue Permettre les
états sur apparaît. Si ce n'est pas le cas, passez directement à l'étape 9.

Crystal Reports Guide de l’utilisateur 583


scr8.book Page 584 Monday, April 2, 2001 12:29 PM

Utilisation des bases de données

8 Vérifiez que la case à cocher Procédures est activée, puis cliquez sur OK.
9 Mettez en surbrillance votre Requête de paramètre et cliquez sur Ajouter.
Truc : Votre requête de paramètre se trouve dans l’arborescence des Procédures
stockées de votre source de données ODBC dans l’Explorateur de données.
La boîte de dialogue Entrer des valeurs de paramètre s'affiche.

10 Sélectionnez un paramètre dans la zone de liste Champs de paramètre.


La case à cocher Définir sur la valeur NULL est sélectionnée par défaut. Si vous
voulez affecter une valeur, vous devez désactiver la case à cocher Définir sur la
valeur NULL.
11 Pour affecter une valeur, complétez la zone Valeur discrète puis cliquez sur OK.
12 Répétez les étapes 10 et 11 pour chaque paramètre de votre requête de
paramètre Access.
13 Cliquez sur Fermer dans la boîte de dialogue Explorateur de données.
Vous pourrez toujours modifier la valeur d'un paramètre ultérieurement à l'aide
de la commande Paramètres de la procédure stockée du menu Base de données.

584 Crystal Reports Guide de l’utilisateur


scr8.book Page 585 Monday, April 2, 2001 12:29 PM

27 : Bases de données

14 Créez votre état en utilisant les champs de la Requête de paramètre. Seuls les
enregistrements répondant aux valeurs de paramètre que vous avez spécifiées
dans la boîte de dialogue Entrer des valeurs de paramètre seront utilisés dans
votre état.
Remarque : Vous ne pouvez pas utiliser les requêtes d'action ou les requêtes de
mise à jour Access dans Crystal Reports. Toutefois, vous pouvez utiliser les
requêtes de Sélection et de tables croisées Access.

Utilisation de sources de données ODBC

Configuration d'une source de données ODBC


Avant d'installer une source de données ODBC, vous devez d'abord installer un
pilote ODBC correspondant au type des données que vous comptez utiliser. La
plupart des applications SGBD procèdent automatiquement à l'installation et à la
configuration de ces pilotes. Si vous avez des doutes, reportez-vous à la
documentation de votre SGBD.
Remarque : Crystal Reports installe la version 3.510 de l'Administrateur ODBC. Si
vous possédez une version différente, les étapes de cette procédure peuvent
légèrement différer.

Pour définir une source de données ODBC


1 Depuis le Gestionnaire des programmes, cliquez deux fois sur l’icône de
l’Administrateur ODBC du groupe de programmes approprié.
L’Administrateur de sources de données ODBC apparaît.

Crystal Reports Guide de l’utilisateur 585


scr8.book Page 586 Monday, April 2, 2001 12:29 PM

Utilisation des bases de données

2 Pour ajouter une nouvelle source de données ODBC, cliquez sur le bouton
Ajouter.
La boîte de dialogue Créer une nouvelle source de données apparaît.

3 Sélectionnez le pilote ODBC correspondant au type de vos données à partir de


la zone de liste correspondante.
4 Cliquez sur Terminer.
Si aucun pilote n'est indiqué pour votre type de données, c'est que vous n'avez
pas correctement exécuté l'installation du pilote ODBC. Dans ce cas, reportez-
vous à la documentation de votre SGBD.
Une boîte de dialogue de configuration d’une source de données ODBC
spécifique au pilote ODBC sélectionné, apparaît.
Remarque : Si vous n'avez pas installé correctement les pilotes ODBC
correspondant au type des données sélectionnées, le système affiche un message
d'erreur au lieu de la boîte de dialogue de configuration de la source de données.

5 Saisissez le nom de votre nouvelle source de données ODBC dans la zone de


liste Nom de la source de données.

586 Crystal Reports Guide de l’utilisateur


scr8.book Page 587 Monday, April 2, 2001 12:29 PM

27 : Bases de données

Remarque : Cette boîte de dialogue peut différer de l'illustration présentée dans


ce manuel selon le type de données que vous utilisez. Cette boîte de dialogue est
propre au pilote ODBC d'Access 97. Pour plus de détails sur l'utilisation de la
boîte de dialogue correspondant à vos données, cliquez sur Aide.
.

La nouvelle
source de
données ODBC
est alors
affichée dans
cette liste.

6 Cliquez sur OK lorsque vous avez terminé.

Vérification de la configuration d'une source de données ODBC


1 Depuis le groupe ou dossier de programmes approprié, lancez l'application
Administrateur ODBC.
L’Administrateur de sources de données ODBC apparaît.

2 Sélectionnez la source de données appropriée dans la zone de liste Sources de


données utilisateur (sur l’onglet DSN Utilisateur).

Crystal Reports Guide de l’utilisateur 587


scr8.book Page 588 Monday, April 2, 2001 12:29 PM

Utilisation des bases de données

3 Cliquez sur le bouton Configurer.


La boîte de dialogue de configuration de votre source de données ODBC apparaît.

La boîte de dialogue de configuration d'une source de données ODBC qui


apparaît dépend de la source de données sélectionnée. Cette boîte de dialogue
rassemble des commandes et des informations qui permettent de configurer
votre source de données.
4 Vérifiez que les options et paramètres choisis correspondent à votre système et
à votre base de données.
5 Procédez aux changements requis, et cliquez ensuite sur OK.
6 Cliquez sur OK pour fermer la boîte de dialogue Administrateur de source de
données ODBC.

Connexion à une source de données ODBC


1 Choisissez la commande Connexion au/déconnexion du Serveur du menu
Base de données.
La boîte de dialogue Explorateur de données apparaît.

588 Crystal Reports Guide de l’utilisateur


scr8.book Page 589 Monday, April 2, 2001 12:29 PM

27 : Bases de données

2 Sélectionnez le fichier de base de données ODBC que vous voulez ouvrir, puis
cliquez sur Connexion.
Lorsque la source données requiert un nom d'utilisateur ou un mot de passe, ou
toute autre information de connexion, une boîte de dialogue de connexion apparaît.
3 Entrez les informations que vous utilisez habituellement pour vous connecter
à cette base de données puis cliquez sur OK.
Si vous n'avez pas spécifié de base de données avec la source de données
ODBC, la boîte de dialogue Choisir une base de données apparaît. Sélectionnez
le fichier de base de données et cliquez sur OK.

Ajout d'une table de base de données ODBC à un état


1 Choisissez la commande Ajouter une base de données à l’état du menu Base
de données.
La boîte de dialogue Explorateur de données apparaît.

2 Sélectionnez le fichier de base de données ODBC à ouvrir et cliquez deux fois


dessus.
Si la base de données requiert un ID utilisateur ou un mot de passe, la boîte de
dialogue Connexion au serveur apparaît.

3 Entrez les informations que vous utilisez habituellement pour vous connecter
à cette base de données puis cliquez sur OK.

Crystal Reports Guide de l’utilisateur 589


scr8.book Page 590 Monday, April 2, 2001 12:29 PM

Utilisation des bases de données

Si vous n'avez pas spécifié de base de données avec la source de données


ODBC, la boîte de dialogue Choisir une base de données apparaît. Sélectionnez
le fichier de base de données et cliquez sur OK.
4 Mettez en surbrillance une table de base de données et cliquez sur Ajouter.
5 Cliquez sur Fermer une fois que vous en avez terminé avec la boîte de
dialogue Explorateur de données.
6 Assurez-vous que les tables sont liées dans l'Expert Liaison visuelle et cliquez
sur OK.

Connexion à MS SQL Server via ODBC


Cette section vous explique comment vous connecter à une source de données
Microsoft SQL Server depuis Crystal Reports. Elle n'a qu'une valeur d'exemple
dans la mesure où le serveur SQL (ou la source de données protégée par mot de
passe) que vous utilisez peut requérir une procédure de connexion différente.

Connexion au serveur MS SQL via ODBC


1 Vérifiez la configuration de la source de données Microsoft SQL Server à l'aide
de l'Administrateur ODBC. Voir “Vérification de la configuration d'une source
de données ODBC” à la page 587.
2 Dans Crystal Reports, choisissez la commande Connexion au/déconnexion du
serveur du menu Base de données.
La boîte de dialogue Explorateur de données apparaît.

Sélectionnez la source de données SQL Server et cliquez sur Connexion. Une


source de données CRSS est créée automatiquement dans le dossier ODBC au
cours de l'installation. Cette source de données vous permet d'ouvrir les bases
de données MS SQL Server.

590 Crystal Reports Guide de l’utilisateur


scr8.book Page 591 Monday, April 2, 2001 12:29 PM

27 : Bases de données

3 La boîte de dialogue Connexion au serveur SQL apparaît.

4 Entrez votre nom et votre mot de passe SQL Server.


5 Cliquez sur le bouton Options.
La section Options de la boîte de dialogue Connexion au serveur SQL s'affiche.

6 Vérifiez les paramètres de votre serveur SQL.


7 Vérifiez le nom de la base de données du serveur SQL que vous voulez ouvrir,
le langage de cette base de données, le nom de l’application que vous utilisez
(Crystal Reports) et le nom de votre station de travail. Effectuez toutes les
modifications nécessaires.
8 Cliquez sur OK.

Déconnexion d'une source de données ODBC


1 Choisissez la commande Connexion au/déconnexion du Serveur du menu
Base de données.
La boîte de dialogue Explorateur de données apparaît.

Crystal Reports Guide de l’utilisateur 591


scr8.book Page 592 Monday, April 2, 2001 12:29 PM

Utilisation des bases de données

2 Sélectionnez la source de données ODBC de laquelle vous voulez vous


déconnecter.
3 Cliquez ensuite sur le bouton Déconnexion.
4 Cliquez sur Terminer lorsque vous avez terminé.

Modification de la source de données ODBC utilisée par un état


1 Choisissez la commande Définir un emplacement du menu Base de données.
La boîte de dialogue Définir un emplacement apparaît.
Elle contient la liste des pseudonymes affectés aux tables affichées dans l'état.
Elle affiche aussi (sous la liste des tables) des informations sur l'emplacement et
sur la connexion de la table en surbrillance.

2 Sélectionnez la première table dans la zone de liste Bases de données.


3 Cliquez sur Définir un emplacement.
4 Connectez-vous à la source de données ODBC d'origine si vous ne l'avez pas
encore fait. Vous devez d'abord vous connecter à l'ancienne source pour
pouvoir modifier un état de telle sorte qu'il utilise une autre source. Cette
condition implique que vous puissiez accéder à la source d'origine depuis
votre station locale.

592 Crystal Reports Guide de l’utilisateur


scr8.book Page 593 Monday, April 2, 2001 12:29 PM

27 : Bases de données

 Si la station n'est plus connectée à l'ancien serveur, installez une source de


données ODBC ayant le même nom que l'ancienne et associez-la au
nouveau serveur. Vous pourrez ainsi vous y connecter comme s'il s'agissait
de la source d'origine.
 Si vous utilisez le même nom de source de données pour vous connecter à
un nouveau serveur, configurez la source concernée à l'aide de
l'Administrateur de source de données ODBC (dans le panneau de
configuration) et associez-la au nouveau serveur.
Une fois la connexion à l'ancienne source de données établie, cliquez deux fois
dessus pour que la liste des tables apparaisse dans la boîte de dialogue
Explorateur de données.
5 Connectez-vous à la nouvelle source de données en la sélectionnant dans
l’Explorateur de données.
A ce stade, vous êtes connecté à la fois à l'ancienne et à la nouvelle source de
données.
6 Cliquez deux fois sur la nouvelle source de données pour afficher ses tables, et
sélectionnez ensuite une table de cette liste. Choisissez la même table que vous
avez sélectionnée en premier dans la boîte de dialogue Définir l'emplacement.
7 Cliquez sur Définir. Le système vous invite alors à substituer l'emplacement
indiqué pour la première table à ceux de toutes les autres tables de l'état.

8 Cliquez sur Oui pour placer toutes les tables de l’état dans la même base de
données.
9 Fermez la boîte de dialogue Définir l'emplacement et choisissez la commande
Vérifier une base de données dans le menu Base de données pour actualiser
les définitions des tables dans l'état.
10 Déconnectez-vous de l'ancienne source de données.
11 Enregistrez l'état.

Crystal Reports Guide de l’utilisateur 593


scr8.book Page 594 Monday, April 2, 2001 12:29 PM

Utilisation des bases de données

Procédures stockées SQL

Sélection d'une procédure stockée à partir d’une base de données


SQL et modification des paramètres
1 Cliquez sur la commande Options du menu Ficher.
La boîte de dialogue Options apparaît.

2 Cliquez sur l’onglet Base de données et assurez-vous que la case à cocher


Procédures stockées ou Redemander à l’utilisateur lors de la connexion est
activée.
 Lorsque vous sélectionnez l'option “ Procédures stockées ”, toutes les
procédures disponibles s'affichent automatiquement dès que vous vous
connectez à une base de données SQL.
 Lorsque vous sélectionnez l'option “ Redemander à l’utilisateur lors de la
connexion ”, la boîte de dialogue Permettre les états sur s'affiche à chaque
fois que vous vous connectez à une source de données ODBC. Cette boîte de
dialogue contient les mêmes options que la section Options explorateur de
l'onglet Base de données de la boîte de dialogue Options, mais elle les
propose pour chaque source de données ODBC à laquelle vous êtes connecté.
3 Vous pouvez aussi utiliser les options Nom de la table LIKE et Propriétaire
LIKE si vous le souhaitez.
 “ Nom de la table LIKE ” est basée sur la clause SQL LIKE. Cette option vous
permet d'indiquer le type des noms de table que vous voulez voir apparaître
dans la boîte de dialogue Sélectionner une table SQL. Utilisez les caractères

594 Crystal Reports Guide de l’utilisateur


scr8.book Page 595 Monday, April 2, 2001 12:29 PM

27 : Bases de données

de soulignement (_) et de pourcentage (%) comme caractères génériques


avec cette fonction. Le caractère de soulignement spécifie un caractère
quelconque, alors que le caractère de pourcentage spécifie une série de
caractères quelconque. Ainsi, JEA_ correspond uniquement à JEAN, tandis
que JEA% correspond à la fois à JEAN et à JEANNE. De même, Nom de la
table LIKE C% affiche uniquement les tables dont le nom commence par C.
 “ Propriétaire LIKE ” est aussi basée sur la clause SQL LIKE. Cette option
vous permet de sélectionner une table selon son propriétaire, son créateur
ou son pseudonyme et non pas selon son nom. Ainsi, Propriétaire LIKE C%
affiche uniquement les tables dont le propriétaire commence par la lettre C.
Remarque : Pour de plus amples informations sur la clause SQL LIKE,
reportez-vous à votre documentation SQL.
4 Cliquez sur OK pour fermer la boîte de dialogue Options.
5 Créez un nouvel état fondé sur la base de données SQL contenant la procédure
stockée que vous voulez utiliser.
6 Cliquez deux fois sur la source de données ODBC de votre serveur SQL dans
la boîte de dialogue Explorateur de données.
La boîte de dialogue Connexion au serveur SQL apparaît.

7 Saisissez les informations requises pour vous connecter.


8 Cliquez sur le bouton Options.
La section Options de la boîte de dialogue Connexion au serveur SQL s'affiche.

9 Vérifiez les paramètres de votre serveur SQL.


10 Cliquez sur OK.
Si vous avez activé la case “ Redemander à l’utilisateur lors de la connexion ”
dans la boîte de dialogue Options, la boîte de dialogue Permettre les états sur
apparaît. Si ce n'est pas le cas, passez directement à l'étape 12.

Crystal Reports Guide de l’utilisateur 595


scr8.book Page 596 Monday, April 2, 2001 12:29 PM

Utilisation des bases de données

11 Vérifiez que la case à cocher Procédures est activée, puis cliquez sur OK.
12 Sélectionnez dans la zone de liste Tables SQL une procédure stockée SQL, puis
cliquez sur Ajouter.
La boîte de dialogue Entrer des valeurs de paramètre s'affiche.

Remarque : Avec le pilote natif de MS SQL Server, les paramètres d’entrée de


la procédure stockée sont limités à 64 caractères au lieu de 255.
13 Sélectionnez un paramètre dans la zone de liste Champs de paramètre.
La case à cocher Définir sur la valeur NULL est sélectionnée par défaut. Si vous
voulez affecter une valeur, vous devez désactiver la case à cocher Définir sur la
valeur NULL.
14 Pour affecter une valeur, complétez la zone Valeur discrète puis cliquez sur OK.
15 Répétez les opérations décrites aux étapes 13 et 14 pour chaque paramètre
affiché dans la zone de liste Champs de paramètre.

596 Crystal Reports Guide de l’utilisateur


scr8.book Page 597 Monday, April 2, 2001 12:29 PM

27 : Bases de données

16 Cliquez sur Fermer dans la boîte de dialogue Explorateur de données.


Vous pourrez toujours modifier la valeur d'un paramètre ultérieurement à l'aide
de la commande Paramètres de la procédure stockée du menu Base de données.
17 Créez votre état en utilisant les champs de la procédure stockée. Seuls les
enregistrements répondant aux valeurs de paramètre que vous avez spécifiées
dans la boîte de dialogue Entrer des valeurs de paramètre seront utilisés dans
votre état.

Fonctionnalités de base de données avancées


Liaisons un à plusieurs
Ce didacticiel indique comment créer un état A à B, A à C avec les tables Client,
Crédit et Commandes dans la base de données échantillon Xtreme.mdb. La base
de données Xtreme.mdb est située dans le répertoire \Program Files\Seagate
Software\Crystal Reports\Samples\Fr\Databases. Utilisez les instructions ci-
dessous comme directives pour la création des états A à B, A à C avec vos propres
fichiers de base de données.

Pour configurer une liaison A à B, A à C


1 Cliquez sur le bouton Nouveau dans la barre d'outils standard.
2 Cliquez sur En tant qu'état vide puis sur OK dans la boîte de dialogue
Collection d’états Crystal Report.
3 Développez le dossier Fichiers de base de données.
4 Cliquez deux fois sur la base de données d’exemple Xtreme.mdb pour afficher
ses tables.
5 Sélectionnez la table Crédit, puis cliquez sur Ajouter.
6 Répétez l’étape précédente pour les tables Client et Commandes.
7 Lorsque les trois tables ont été ajoutées, cliquez sur Fermer dans la boîte de
dialogue Explorateur de champs.
L'Expert Liaison visuelle s'affiche.
8 Si les tables sont liées par défaut, cliquez sur Effacer liaisons.
9 Liez le champ ID Crédit du client de la table Crédit au champ ID Client de
chacune des deux autres tables.
10 Sélectionnez l'une des liaisons de l'Expert Liaison visuelle et cliquez sur
Options de liaison.
11 Cliquez sur Rechercher tout d’un seul, puis tout des autres dans la section
Lors de la liaison de deux fichiers de la boîte de dialogue Options de liaison.
Cette option établit une liaison A à B, A à C.

Crystal Reports Guide de l’utilisateur 597


scr8.book Page 598 Monday, April 2, 2001 12:29 PM

Fonctionnalités de base de données avancées

12 Cliquez sur OK pour revenir à l’Expert Liaison visuelle.


L’option que vous avez sélectionnée a affecté toutes les liaisons.
13 Pour le vérifier, cliquez sur la ligne de liaison que vous n’avez pas sélectionnée
dans la dernière étape.
14 Cliquez sur Options de liaison et vérifiez que la case à cocher Consulter
intégralement les fichiers, l'un après l'autre est activée dans la boîte de
dialogue Options de liaison.
15 Cliquez sur OK dans la boîte de dialogue Options de liaison, puis de nouveau
sur OK dans l’Expert Liaison visuelle.
Pour plus d'informations sur ce type de liaisons, voir “Consulter intégralement
les fichiers, l'un après l'autre (A à B, A à C)” à la page 555.
Vous avez établi une relation A à B, A à C entre les trois tables.

Requêtes SQL
Cette section concerne uniquement les états créés à partir de sources de données
ODBC. Une requête SQL est en effet automatiquement générée par Crystal Reports
à chaque fois que vous concevez un état basé sur une ou plusieurs sources de
données ODBC. Elle est envoyée à (aux) source(s) de données ODBC sous la forme
d'une instruction en vue de réunir les données requises par l'état.

Pour modifier une requête SQL


Truc : Ouvrez un état basé sur une source de données ODBC pour suivre cette
procédure.
1 Choisissez la commande Afficher une requête SQL du menu Base de données.
La boîte de dialogue Afficher une requête SQL apparaît

2 Cliquez sur un endroit quelconque de la zone de texte procédez aux


modifications souhaitées.

598 Crystal Reports Guide de l’utilisateur


scr8.book Page 599 Monday, April 2, 2001 12:29 PM

27 : Bases de données

3 Peaufinez éventuellement la requête SQL à l'aide de la version ANSI du


langage SQL.
Remarque : Il est impossible de modifier la clause SELECT de l'instruction SQL.
Au besoin, coupez, copiez ou collez une partie de la requête à l'aide du Presse-
papiers. Voir “Langage SQL” à la page 568.
4 Cliquez sur OK lorsque vous avez terminé.

Bases de données ACT!


ACT! est une application de gestion de contacts puissante qui permet de stocker les
coordonnées de vos interlocuteurs dans un format analogue à celui des bases de
données xBASE (dBASE, Clipper et FoxPro).
Remarque : Les versions 2 ou antérieures de la base de données ACT! nécessitent
un fichier Crw.act contrairement aux versions 3 et 4. Vérifiez le numéro de
version de votre base de données ACT! pour déterminer la procédure à suivre.

Pour utiliser une base de données ACT! 2


1 Cliquez sur le bouton Nouveau dans la barre d'outils standard.
La Collection d’états Crystal Report apparaît.

2 Cliquez sur En tant qu’état vide, puis sur OK.


3 Cliquez sur le dossier Fichiers de base de données de la boîte de dialogue
Explorateur de données et cliquez deux fois sur Rechercher un fichier de base
de données.
4 Utilisez la boîte de dialogue Ouvrir pour repérer et sélectionner le fichier
Crw.act. Par défaut, ce fichier se trouve dans le répertoire Windows ou Winnt
System 32. Cliquez sur Ouvrir lorsque vous avez terminé.

Crystal Reports Guide de l’utilisateur 599


scr8.book Page 600 Monday, April 2, 2001 12:29 PM

Fonctionnalités de base de données avancées

La boîte de dialogue Choisir le fichier pour ACT apparaît.


5 Utilisez cette boîte de dialogue pour repérer et sélectionner votre base de
données ACT!.
6 Cliquez sur OK.
L’onglet Conception apparaît dans la fenêtre d’application. Créez votre état à
l'aide des champs de votre base de données ACT!.

Pour utiliser une base de données ACT! 3 ou 4


1 Cliquez sur le bouton Nouveau dans la barre d'outils standard.
La Collection d’états Crystal Report apparaît.

2 Cliquez sur En tant qu’état vide, puis sur OK.


3 Cliquez sur le dossier Fichiers de base de données de la boîte de dialogue
Explorateur de données et cliquez deux fois sur Rechercher un fichier de base
de données.
4 Utilisez la boîte de dialogue Ouvrir pour repérer et sélectionner votre base de
données ACT!. Cliquez sur Ouvrir lorsque vous avez terminé.
La base de données sélectionnée apparaît dans la boîte de dialogue Explorateur
de données.
5 Sélectionnez la table que vous voulez utiliser pour votre état et cliquez sur
Ajouter.
6 Cliquez sur Fermer dans la boîte de dialogue Explorateur de données.
L’onglet Conception apparaît dans la fenêtre d’application. Créez votre état à
l'aide des champs de votre base de données ACT!.

600 Crystal Reports Guide de l’utilisateur


scr8.book Page 601 Monday, April 2, 2001 12:29 PM

27 : Bases de données

Journal d'événements NT
Si vous utilisez un système Windows NT, Crystal Reports vous offre la possibilité
de générer des états basés sur le Journal d’événements NT.

Pour baser un état sur un journal d'événements NT


1 Cliquez sur le bouton Nouveau dans la barre d'outils standard.
La Collection d’états Crystal Report apparaît.

2 Cliquez sur En tant qu’état vide, puis sur OK.


3 Dans la boîte de dialogue Explorateur de données, développez l'arborescence
Autres sources de données.
4 Cliquez deux fois sur Journal d'événement NT archivé ou Journal
d'événement actuel
 Choisissez Journal d'événement NT archivé pour baser votre état sur un
Journal d'événement NT déjà archivé. Si vous choisissez cette option, la
boîte de dialogue Sélectionner le Journal d'événement NT archivé apparaît,
vous permettant de naviguer jusqu’au fichier souhaité.
 Choisissez Journal d'événement NT actuel pour baser votre état sur le
Journal d'événement NT le plus récent.
5 Si vous choisissez de baser votre état sur le Journal d'événement NT actuel, la
boîte de dialogue Sélectionner le Journal d'événement actuel apparaît.

Crystal Reports Guide de l’utilisateur 601


scr8.book Page 602 Monday, April 2, 2001 12:29 PM

Pour en savoir plus

6 L'ordinateur indiqué dans la zone modifiable Ordinateur(s) est celui qui fait
l'objet de l'état de démonstration. Pour en choisir un autre, cliquez sur le signe
plus (+) à gauche de Réseau Microsoft Windows.
Le système ouvre l'arborescence pour afficher le groupe réseau auquel vous
êtes connecté.
7 Vous pouvez maintenant cliquer sur le signe plus (+) à gauche du groupe
réseau pour afficher les différents ordinateurs connectés.
8 Sélectionnez l'ordinateur NT dont vous souhaitez faire apparaître les
événements dans votre état.
Lorsque vous sélectionnez un ordinateur, son nom s'affiche dans la zone
modifiable Ordinateur(s).
Trois tables sont disponibles dans la boîte de dialogue Explorateur de données :
 Application
 Sécurité
 Système.
Utilisez ces tables pour créer votre état basé sur le Journal d'événement NT actuel.
Remarque :
 Pour créer un état sur la table Sécurité, vous devez ajouter le droit utilisateur
de gestion d’audit et du journal de sécurité à votre Stratégie NT.
 Les données que vous visualisez sont les mêmes que celles affichées dans
l'Observateur d’événements NT.

Pour en savoir plus


Ce chapitre a passé en revue les points les plus importants des bases de données,
des bases de données relationnelles et du langage SQL. Pour plus de détails sur les
bases de données, reportez-vous à la documentation accompagnant votre SGBD.
Remarque : D'autre part, vous trouverez de nombreux ouvrages de référence en
librairie si vous souhaitez approfondir vos connaissances théoriques et pratiques
des bases de données. Consultez la section informatique de votre librairie.

602 Crystal Reports Guide de l’utilisateur


scr8.book Page 603 Monday, April 2, 2001 12:29 PM

Accès aux sources de données 28

Crystal Reports exploite des données en tous genres, depuis


de simples fichiers texte jusqu'à des bases de données SQL
client-serveur avancées. Ce chapitre décrit la façon dont le
programme se connecte à diverses sources de données et
identifie les fichiers requis pour la connexion. Ce chapitre
s'adresse plus particulièrement aux utilisateurs avertis qui
souhaitent connaître tous les rouages de Crystal Reports.

Crystal Reports Guide de l’utilisateur 603


scr8.book Page 604 Monday, April 2, 2001 12:29 PM

Introduction

Introduction
Crystal Reports peut accéder à des données stockées sous des formats divers, des
plus répandus aux moins courants. En outre, Crystal Reports exploite pleinement
les fichiers de requête (.QRY) et les dictionnaires (.DC5). Voir “Le Crystal SQL
Designer” à la page 651 et “Dictionnaires” à la page 669.
Cette rubrique présente les différents types de données auxquels Crystal Reports
peut accéder et décrit par ailleurs les différentes couches d'accès aux données
impliquées dans la connexion aux données. En cas de doute concernant le Système
de gestion de bases de données (SGBD) utilisé par votre entreprise, contactez votre
responsable informatique ou votre administrateur réseau.
Le but principal de Crystal Reports est tout simplement d'accéder aux données
stockées dans les bases et de produire des états à partir de ces données. C'est l'un
des plus anciens emplois de l'informatique et il reste aujourd'hui encore largement
répandu et utilisé. Grâce à ses puissantes fonctions, Crystal Reports vous permet
d'effectuer cette tâche très facilement et très rapidement.
Le principe d'accès aux données est à la base de tous les états générés à l'aide de
Crystal Reports. Il vous permettra de mieux comprendre la façon dont les états
sont créés et de mieux connaître les différents types de données auxquels le
programme peut avoir accès.
Il vous permettra aussi de résoudre plus facilement les problèmes qui peuvent
survenir lorsque vous ouvrez une base de données. Ce dernier point n'est pas
négligeable, surtout si vous dirigez un service informatique ou si vous êtes chargé
de superviser et d'assister un groupe d'utilisateurs.
Pour l'essentiel, ce chapitre s'adresse à des responsables informatiques ou à des
utilisateurs confirmés de Crystal Reports. En effet, il aborde les Systèmes de
gestion de bases de données (SGBD) et les méthodes de stockage de données sous
un angle technique. Le public visé est donc supposé bien connaître les ordinateurs,
le système d'exploitation Windows 95, Windows 98 ou Windows NT, ainsi qu'au
moins une application SGBD.
Remarque : Les fichiers de traduction mentionnés dans ce chapitre ont, pour la
plupart, des noms légèrement différents lorsqu'ils sont visualisés à partir de la
boîte de dialogue Convertir le lecteur de base de données. Par exemple, le fichier de
traduction P2sodbc.dll est appelé Pdsodbc.dll dans la boîte de dialogue Convertir
le lecteur de base de données. Ces deux noms représentent le même fichier.

Quatre types de données


Il existe quatre grandes catégories de données accessibles via Crystal Reports :
 “Fichiers de base de données à accès direct” à la page 605
 “Source de données ODBC” à la page 632
 “Fichiers Crystal SQL Designer” à la page 647
 “Fichiers dictionnaire Crystal” à la page 648.

604 Crystal Reports Guide de l’utilisateur


scr8.book Page 605 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

L'accès à chacune de ces catégories s'effectue à l'aide d'une série spéciale de fichiers
DLL (Dynamic Link Library) et d'autres fichiers relatifs à l'accès aux données. En
comprenant la manière dont Crystal Reports accède à chaque type de données,
vous appréhenderez mieux le processus de création d'états et les différents
éléments utilisés pour créer des états complexes avec vos données. Voir “Le
Crystal SQL Designer” à la page 651 et “Dictionnaires” à la page 669.
Remarque : Lors de l'accès à n'importe quel type de données, Crystal Reports
compte sur les pilotes de la base de données pour fournir les noms des champs,
les types de champs et la longueur des champs. Le moteur de la base de données
ou le pilote de la base de données ODBC fournit ces informations.

Fichiers de base de données à accès direct


Crystal Reports peut accéder directement aux formats de base de données les plus
courants. Ainsi, il est doté de fonctions qui lui permettent d'ouvrir directement les
fichiers et tables de base de données conçus, entre autres, sous dBASE, FoxPro,
Clipper, Btrieve, Paradox et Microsoft Access. Cette fonctionnalité est disponible
dès l'installation de Crystal Reports. Une fois Crystal Reports installé sur votre
système, vous pouvez commencer immédiatement à créer des états à partir de ces
bases de données en sélectionnant simplement le fichier adéquat.

Avantages
L'accès direct à une base de données représente le moyen le plus rapide de lire les
données. Crystal Reports a juste besoin de communiquer avec une seule couche de
données permettant d'accéder aux données. Les résultats des états peuvent être
obtenus rapidement dans presque tous les environnements.
De plus, la procédure d'accès aux données est très simple. Les fichiers de bases de
données à accès direct sont des sources de données accessibles avec la souris. Il
vous suffit de sélectionner les fichiers souhaités pour que Crystal Reports lise
toutes les données qui y sont stockées.

Inconvénients
Lorsque vous accédez directement à une base données depuis Crystal Reports,
votre état ne peut utiliser que le type de la base de données concernée. Il est donc
impossible de passer à une base de données ou à une table d'un autre type sans
créer de nouvel état.
Par exemple, dans le cas d'un état basé sur des données Btrieve, il est impossible de
changer les tables pour des données Access. En effet, Crystal Reports communique
avec Btrieve à l'aide d'une syntaxe particulière, incompatible avec Access.

Crystal Reports Guide de l’utilisateur 605


scr8.book Page 606 Monday, April 2, 2001 12:29 PM

Fichiers de base de données à accès direct

En revanche, si vous accédez aux données par le biais d'ODBC, la syntaxe utilisée
sera toujours celle du langage SQL, et cela, quel que soit le type réel de la base. Voir
“Source de données ODBC” à la page 632.

Trois couches
L'accès direct aux fichiers de base de données depuis Crystal Reports requiert trois
couches :
 “Crystal Reports” à la page 606
 “Traduction des données” à la page 607
 “Base de données” à la page 607.

Crystal Reports utilise la couche Traduction pour communiquer avec la base de


données et accéder à son contenu.

Crystal Reports
Crystal Reports fonctionne comme une interface permettant de mettre en forme, de
réorganiser, de sélectionner et de trier les données qui sont stockées dans vos
fichiers. Il extrait les données en communiquant avec un ou plusieurs fichiers de la
couche de transmission des données pouvant lire la base de données. Dans la
mesure où Crystal Reports peut utiliser de nombreuses formes de données, il peut
manipuler les fichiers de données. Crystal Reports peut utiliser une méthode native
de communication pour échanger des données avec les fichiers de traduction.

606 Crystal Reports Guide de l’utilisateur


scr8.book Page 607 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Traduction des données


Les données sont traduites à l'aide d'un ensemble de fichiers DLL propre à Crystal
Reports. Celui-ci utilise les fichiers DLL spécifiques à un type de données pour
comprendre la manière dont ces données sont organisées et les présenter
correctement lors de l'impression, de l'affichage ou de l'exportation de l'état.
Remarque : Crystal Reports est livré avec tous les fichiers de traduction requis
pour les divers types de base de données auxquels il peut accéder directement.
Pour des renseignements exhaustifs sur l'ensemble des fichiers requis, reportez-
vous à l'aide en ligne de Runtime File Requirements (Runtime.hlp).

Base de données
Le fichier de base de données comprend une ou plusieurs tables. Le mode de
stockage des informations dépend du SGBD utilisé. Par exemple, dBASE stocke les
tables de base de données dans des fichiers distincts. Access, par contre, peut stocker
plusieurs tables, ainsi que les requêtes, macros et autres éléments dans un seul fichier.
Lorsque Crystal Reports accède directement à un fichier de base de données, il en
extrait automatiquement toutes les informations relatives aux tables et champs
contenus dans ce fichier. Même si vous ne comptez pas les utiliser toutes, elles sont
disponibles. En d'autres termes, lorsqu'un fichier dBASE est ouvert, seule la table
contenue dans ce fichier est ouverte et disponible. Par contre, lorsqu'un fichier
Access est ouvert, toutes les tables contenues dans ce fichier sont ouvertes, même
si elles ne sont pas utilisées.
Remarque : Crystal Reports ouvre également les requêtes des bases de données
Access à l'aide du moteur DAO ou de l'ODBC ; il vous permet d'utiliser des
champs de requête dans vos états, comme s'il s'agissait de champs de table
ordinaires. Voir “DAO” à la page 610 et “Access” à la page 637.

Principaux formats de base de données


Bien que Crystal Reports utilise la même procédure en trois temps pour accéder
directement aux données des différents formats de base qu'il gère, il se servira
d'une série de fichiers DLL différents pour chaque format. Certains formats
parviennent cependant à élargir la structure de base à trois temps.
Les sections suivantes décrivent les procédures par lesquelles Crystal Reports
accède aux données des formats de base de données les plus répandus.

dBASE, FoxPro, Clipper


Crystal Reports est conçu pour ouvrir les données dBASE simplement et
directement par l'intermédiaire du moteur xBase (stocké dans P2bxbse.dll). FoxPro
et Clipper sont des formats compatibles avec dBASE et l'accès à leurs fichiers par
Crystal Reports s'effectue donc à l'aide des mêmes DLL.

Crystal Reports Guide de l’utilisateur 607


scr8.book Page 608 Monday, April 2, 2001 12:29 PM

Fichiers de base de données à accès direct

Remarque : La couche Traduction P2bxbse.dll gère les fichiers FoxPro jusqu'à la


version 2.x. Voir “Visual FoxPro™” à la page 643 pour de plus amples
renseignements sur les versions ultérieures à 2.5.

Le fichier P2bxbse.dll gère l'ensemble des traductions entre Crystal Reports et les
fichiers dBASE, FoxPro ou Clipper. Chaque fichier de base de données contient
une seule et unique table, mais le nombre de fichiers auxquels un état peut accéder
est illimité.
Remarque : L'accès aux données dBASE peut également être effectué par
l'intermédiaire du moteur BDE (Moteur de base de données Borland), à l'aide du
fichier de traduction P2bbde.dll. Pour de plus amples renseignements sur la façon
dont le BDE communique avec la base de données, voir “Paradox” à la page 608.
Le BDE, cependant, ne prend pas en charge les données FoxPro ou Clipper.

Paradox
Les fichiers créés à l'aide de Paradox (.DB) sont accessibles aux autres applications
par l'intermédiaire du moteur BDE (Moteur de base de données Borland). C'est en
fait le BDE qui assure l'essentiel du travail d'extraction des tables et des champs.
Son intégration étroite aux données Paradox lui permet de créer la couche Base de
données selon le modèle d'accès en trois temps. Crystal Reports accède au moteur
BDE à l'aide du fichier de traduction P2bbde.dll.

608 Crystal Reports Guide de l’utilisateur


scr8.book Page 609 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Microsoft Access
Microsoft Access propose plusieurs méthodes pour ouvrir ses fichiers de base de
données. Chacune d'elles présente des avantages et des inconvénients. Par
conséquent, la méthode employée dépendra du mode d'organisation de vos
données. Cette partie décrit la technique d'ouverture d'une base de données Access
depuis Crystal Reports via le moteur DAO. Une deuxième technique utilisant le
standard ODBC (Open Database Connectivity) de Microsoft est décrite dans la
section Access, page 637.
Remarque :
 Vous pouvez préserver la sécurité des fichiers Access ouverts avec Crystal
Reports en exécutant Sysdb32.exe, puis en sélectionnant le fichier Access
Systm.mdw. Dans ce cas, le programme recherche Systm.mdw lorsqu'il ouvre
une base de données Access et l'utilisateur doit entrer le mot de passe Access
suite à une invite (si nécessaire) dans Crystal Reports.
 Lorsqu'il ouvre une base de données Access à l'aide du moteur DAO, Crystal
Reports ouvre toute la base de données et charge les informations concernant
l'ensemble des tables et des requêtes. Pour ce faire, Crystal Reports doit réserver
une mémoire tampon occupant une partie importante de la mémoire vive de
votre ordinateur. En raisons des contraintes de mémoire des ordinateurs, ce
tampon est limité à 65536 octets (64 K). Ceci restreint la taille de votre base de
données Access à environ 80 tables, selon le nombre de champs de ces tables.

Crystal Reports Guide de l’utilisateur 609


scr8.book Page 610 Monday, April 2, 2001 12:29 PM

Fichiers de base de données à accès direct

DAO
Le moteur DAO (Data Access Object™) de Microsoft pour les fichiers Access
(version 2.0 et ultérieure) gère les données du Système de gestion de bases de
données de Microsoft Access. En tant qu'utilisateur, vous ne travaillez pas
directement sur le moteur DAO. Il sert de passerelle entre les données Access et les
applications. Le moteur DAO est si étroitement lié aux données Access que Crystal
Reports le considère comme faisant partie intégrante de la base de données.
Le moteur DAO utilise la technologie OLE (Liaison et incorporation d'objet) de
Microsoft (livrée avec Windows 95, Windows 98 et Windows NT) pour permettre
l'accès aux informations Access selon une approche orientée objet.
Outre les tables de base de données Access, Crystal Reports peut ouvrir et utiliser
des requêtes Access par l'intermédiaire du DAO. Si vous ne maîtrisez pas les
requêtes Access, reportez-vous à la documentation de ce logiciel. Voir également
“Ouverture de requêtes Access à l’aide de DAO” à la page 578.
Remarque :
 Les requêtes de paramètre Access et les requêtes de table croisée ne peuvent
être ouvertes que par l’intermédiaire d'une connexion ODBC. Voir “Ouverture
de requêtes Access à l’aide de DAO” à la page 578. Les requêtes d'Action
Access ne sont pas prises en charge par Crystal Reports.
 Lorsque vous ouvrez une requête Access dans un état, vérifiez que les cases à
cocher Vues et Procédures stockées (Onglet Base de données de la boîte de
dialogue Options) sont activées dans Crystal Reports. Ainsi, vous serez assuré
que les requêtes seront visibles lorsque vous ouvrirez la base de données Access.
Pour traduire les informations et les données en provenance et à destination de
DAO, Report Designer a recours aux fichiers de traduction DAO P2bdao.dll,
P2ctdao.dll et P2irdao.dll.

610 Crystal Reports Guide de l’utilisateur


scr8.book Page 611 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Remarque : Crystal Reports est livré avec tous les fichiers nécessaires à la lecture
des données Access via le moteur DAO. Outre la plus récente version de DAO, le
programme prend également en charge une version native de VSFoxPro (Voir
“Visual FoxPro™” à la page 643). Pour de plus amples renseignements sur les
fichiers requis, reportez-vous à l'aide en ligne de Runtime File Requirements
(Runtime.hlp).

Bases de données protégées de Microsoft Access


Si vous utilisez des bases de données protégées d'Access, il faudra configurer le
paramètre SystemDB dans la base de données du registre de Windows en
indiquant le chemin d'accès où se trouve le fichier System.mda ou System.mdw
(Access 95). Dans les systèmes de Windows 95, Windows 98 et Windows NT, le
paramètre SystemDB se trouve dans la clé de registre suivante :
\\HKEY_LOCAL_MACHINE\SOFTWARE\Seagate Software\Jet\3.0\ Engines\Jet
Crystal Reports contient aussi un utilitaire Sysdb32.exe qui indique ce paramètre
à votre place. Lancez l'utilitaire requis et dirigez-le vers l'emplacement du fichier
System.mda ou System.mdw.

Crystal Reports Guide de l’utilisateur 611


scr8.book Page 612 Monday, April 2, 2001 12:29 PM

Fichiers de base de données à accès direct

Btrieve
Crystal Reports utilise les deux fichiers de traduction P2bbtrv.dll et P2ctbtrv.dll
pour communiquer avec le moteur Btrieve.

Celui-ci constitue un ensemble complexe de fichiers DLL et EXE spécifiques à la


version de Btrieve que vous utilisez. Pour de plus amples renseignements sur les
divers fichiers du moteur Btrieve, reportez-vous à votre documentation Btrieve.
Remarque :
 Btrieve doit être correctement configuré pour que Crystal Reports puisse lire
ses bases de données. Si Btrieve se trouve déjà sur votre système, Crystal
Reports pourra utiliser ses données dès l'installation. Crystal Reports installe
automatiquement les fichiers Btrieve nécessaires à la lecture des données
Btrieve. Reportez-vous à votre documentation Btrieve pour vous assurer que
votre moteur Btrieve est correctement configuré.
 Lorsqu'il ouvre une base de données Btrieve, Crystal Reports ouvre l'ensemble
de la base de données et charge les informations concernant toutes les tables
de cette base. Pour ce faire, Crystal Reports doit réserver une mémoire tampon
occupant une partie importante de la RAM de votre ordinateur. En raisons des
contraintes de mémoire des ordinateurs, ce tampon est limité à 65536 octets (64
K). Ceci restreint la taille de votre base de données Btrieve à environ 80 tables,
selon le nombre de champs de ces tables.

612 Crystal Reports Guide de l’utilisateur


scr8.book Page 613 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Fichiers DDF de Btrieve


Crystal Reports ne définit pas les fichiers de données Btrieve directement à partir
des fichiers eux-mêmes. Il utilise, pour ce faire, une série de fichiers .DDF (Data
Dictionary Files) contenant des informations sur les fichiers, les champs et les
index. Crystal Reports analyse ces fichiers .DDF à l'aide de Wbtrvdef.dll et de
Sbtrvdef.dll. Les dictionnaires DDF requis sont répertoriés dans la liste suivante.
Ils doivent tous résider dans le même répertoire :
 File.ddf
 Field.ddf
 Index.ddf.
En règle générale, une série de DDF contient les définitions de plusieurs fichiers de
données Btrieve. Lorsque vous sélectionnez un DDF lors de la création d'un nouvel
état, Crystal Reports ajoute à ce dernier l'ensemble des fichiers définis dans les
DDF. Crystal Reports adopte également le chemin d’accès défini dans les DDF
comme chemin d’accès par défaut aux fichiers de données. Ces derniers et les
fichiers DDF peuvent résider à des emplacements différents.
Remarque : Nous vous recommandons de consulter dans votre documentation
Btrieve les parties traitant des DDF et de la configuration du moteur.

Exchange
Exchange est le logiciel Microsoft qui succède à MS Mail. Il inclut, en plus de la
messagerie électronique, des fonctions de gestion de travail en groupe, de
formulaires électroniques, de productivité de groupe et de connexion à Internet.
Un dossier Exchange peut contenir des notes standard (messages), des fichiers et
des instances de formulaires. Toutes ces données sont stockées dans le EIS
(Exchange Information Store).
Crystal Reports peut générer des états portant sur les données du EIS. Pour ce
faire, les sources de données accessibles sont les suivantes :
 Journaux de suivi des messages
 Listes d'adresses
 Carnets d'adresses personnelles
 Listes d'adresses générales
 Listes de distribution.
 Journaux de suivi des messages
 Messages
 Applications de formulaire Exchange
 Propriétés des documents OLE.
 Administrateur Exchange
 Propriétés des boîtes aux lettres sur le serveur Exchange
 Propriétés des dossiers publics sur le serveur Exchange
 Liste replica des dossiers publics
 Liste ACL (Access Control List) des dossiers publics.

Crystal Reports Guide de l’utilisateur 613


scr8.book Page 614 Monday, April 2, 2001 12:29 PM

Fichiers de base de données à accès direct

Chaque source de données Exchange peut s'utiliser comme une table de base de
données et être liée à d'autres sources de données. Il est ainsi possible d'associer le
journal de suivi des messages à une liste d'adresses, avec une adresse électronique
servant de champ de liaison.

Le fichier de traduction des données utilisé pour accéder à la source de données


Exchange dépend du type de cette source. Le tableau suivant répertorie les fichiers
de traduction de données Exchange et indique leur utilité :

Nom du fichier Source de données


P2strack.dll Journaux de suivi des messages
P2smapi.dll Contenu des dossiers Exchange et listes
d'adresses
P2sexsr.dll Propriétés des boîtes aux lettres et des
dossiers publics
P2srepl.dll Listes répliques des dossiers publics
P2sacl.dll Listes ACL des dossiers publics
P2soutlk.dll Microsoft Outlook
Les fichiers de traduction Exchange interagissent directement avec l'API de
messagerie Microsoft (MAPI). MAPI sert de moteur de base de données pour les
données Exchange.

614 Crystal Reports Guide de l’utilisateur


scr8.book Page 615 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Mode de traitement des données Exchange par le Report Designer


Crystal Reports traite les données de l'Administrateur Exchange (soit les types de
serveurs Admin des dossiers publics, ACL des dossiers publics, Listes replica des
dossiers publics et Admin des boîtes aux lettres) comme un serveur de base de
données physique. Pour accéder à ces informations, il faut d'abord vous connecter
au serveur SQL/ODBC, puis sélectionner les tables appropriées dans la boîte de
dialogue Choisir une table SQL.
Lors de la connexion à l'un des serveurs de l'Administrateur Exchange, vous devez
sélectionner un ou des profils. Chaque profil représente un serveur Exchange.
Remarque : Reportez-vous à votre documentation Microsoft Exchange pour de
plus amples renseignements sur la configuration et la création de profils Exchange.

ACT!
Le logiciel de gestion de contacts ACT! de Symantec stocke les informations dans
un format de base de données relationnelle proche de xBase. Voir “dBASE, FoxPro,
Clipper” à la page 607. Crystal Reports peut lire ces données et vous permet de
créer des états basés sur vos informations de contact.

ACT! Bases de données ACT!

Crystal Reports Guide de l’utilisateur 615


scr8.book Page 616 Monday, April 2, 2001 12:29 PM

Fichiers de base de données à accès direct

Pour ouvrir une base de données ACT! 2, il suffit de sélectionner le fichier Crw.act
dans Crystal Reports lorsque vous créez un nouvel état. Le fichier Crw.act doit être
installé dans le même répertoire que le programme. Ce fichier oblige Crystal
Reports à charger les fichiers de traduction P2bact.dll et P2iract.dll. Veillez à ce que
cette condition soit bien respectée. Dans le cas contraire, les données ACT! 2
seraient assimilées à des données xBase et Crystal Reports utiliserait par défaut le
fichier de traduction P2bxbse.dll, sauf indication contraire. Cela pourrait entraîner
un affichage incorrect des données ACT! 2 dans votre état. Voir “Bases de données
ACT!” à la page 599.

ACT! Bases de données ACT! 3 et 4

Les versions 3 et 4 d'ACT! n'utilisent aucune étape intermédiaire dans la couche


Traduction. Les fichiers de traduction utilisés pour toutes les bases de données
ACT! , version 3 et ultérieure, sont P2bact3.dll et P2iract.dll. Voir “Bases de
données ACT!” à la page 599.

616 Crystal Reports Guide de l’utilisateur


scr8.book Page 617 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Oracle 7 et 8
Crystal Reports prend en charge l'accès direct aux bases de données SQL Oracle 7
et Oracle 8. Les fichiers de traduction P2sora7.dll et P2lora7.dll assurent
l'accessibilité de cette base de données. Ces fichiers communiquent avec le pilote
de base de données Oracle 7 et Oracle 8, qui est directement connecté aux bases de
données et aux clients Oracle, et se chargent donc d'extraire les données requises
par vos états.
Remarque : Pour que Crystal Reports puisse utiliser les bases de données SQL
Oracle 7 et Oracle 8, le logiciel client Oracle doit être installé sur votre système, et
le chemin du répertoire contenant le pilote Oracle doit figurer dans l'instruction
PATH de votre fichier Autoexec.bat.

Remarque : Lors d'une connexion à Oracle à l'aide de P2sora7.dll ou P2lora7.dll,


le format de date est modifié afin de correspondre au format date/heure par
défaut de Crystal Reports. Pour plus d'informations sur les formats par défaut,
voir “Pour personnaliser le format des champs Date, Heure et Date/Heure” à la
page 242.

Crystal Reports Guide de l’utilisateur 617


scr8.book Page 618 Monday, April 2, 2001 12:29 PM

Fichiers de base de données à accès direct

Microsoft SQL Server 6.x et 7.0


Crystal Reports fournit un accès direct aux bases de données créées par le serveur
SQL de Microsoft versions 6.0, 6.5 et 7.0. Le fichier P2ssql.dll installé avec le
programme traduit les requêtes vers le serveur SQL puis renvoie les données du
serveur. Il communique directement avec le pilote de Microsoft SQL Server.

Remarque : Les administrateurs de réseau et les responsables informatiques qui


gèrent le serveur System Management de Microsoft pour BackOffice peuvent
exécuter des états sur les données du serveur Systems Management. Le serveur
Systems Management Server utilise le serveur SQL pour stocker les données du
système. Ainsi, les fichiers utilisés pour accéder à ces données sont les mêmes que
ceux montrés ici pour le serveur SQL.

618 Crystal Reports Guide de l’utilisateur


scr8.book Page 619 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Sybase System 10/11


Crystal Reports ouvre les données SQL créées par Sybase System 10 ou System 11
directement via le fichier de traduction P2ssyb10.dll installé avec Crystal Reports.
Ce fichier de traduction fonctionne avec les pilotes de la base de données Sybase
pour lire les données Sybase System 10/11. Lorsque votre serveur Sybase est
configuré correctement, vous pouvez lire les données Sybase dès l'installation de
Crystal Reports.

Crystal Reports Guide de l’utilisateur 619


scr8.book Page 620 Monday, April 2, 2001 12:29 PM

Fichiers de base de données à accès direct

Lotus Domino
Lotus Domino est une application puissante de productivité de groupe utilisée
pour la communication et le partage des informations entre les services d'une
même organisation.
Crystal Reports peut lire une base de données Lotus Domino au moyen d'un
moteur natif ou d'un pilote ODBC. Pour de plus amples renseignements sur le
pilote ODBC, voir “Lotus Domino” à la page 644. Le tableau suivant permet de
comparer les caractéristiques d'un moteur natif à celles d'un pilote ODBC.

Caractéristique Moteur natif Pilote ODBC


Se connecter à des serveurs différents Oui Oui
Utiliser le gestionnaire des extensions clientes Oui Non
Lotus Domino pour transférer le mot de passe
au client Lotus Domino
Obtenir la liste des bases de données Oui Oui
disponibles (sous-dossiers compris)
Répertorier le nom des fichiers de base de Oui Oui
données
Répertorier le titre des bases de données Oui Non
Créer des états sur Ecrans et Formulaires Oui Oui
Distinguer les Ecrans des Formulaires du Oui Non
même nom
Omettre les Formulaires sans champ Oui Non
Omettre les Sous-formulaires (ne peut être Oui Non
utilisé de façon indépendante)
Champs de texte affichés sous forme de chaînes Oui Oui
Champs de texte affichés sous forme de Oui Non
mémos
Champs RTF affichés sous forme de chaînes Oui Non
Champs RTF affichés sous forme de mémos Oui Oui
Valeurs calculées pour des champs édités et liés Oui Non
Champs à plusieurs valeurs affichés sous forme Oui Non
de première valeur dotée d'un type correct
Champs à plusieurs valeurs affichés sous Oui Non
forme de chaînes et de mémos
Conversion d'un état depuis un autre pilote Oui Partiellement
Jointure externe gauche sur les tables reliées Oui Oui
Autres jointures sur les tables Non Oui
Filtrage côté serveur Partiellement Oui

620 Crystal Reports Guide de l’utilisateur


scr8.book Page 621 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Si vous sélectionnez Lotus Domino durant l'installation, les fichiers de traduction


P2snote.dll et P3slnen.dll sont ajoutés au répertoire Windows ou Winnt Crystal.

Remarque :
 Le fichier Nextpwd.dll et la DLL de l'API Lotus (Lcppn201.dll) sont installés
dans le répertoire de l'exécutable de Lotus Domino.
 La ligne suivante est ajoutée au fichier Notes.ini :
EXTMGR_ADDINS=extpwd
 Les répertoires exécutables et de données de Lotus Domino sont ajoutés à
l'instruction PATH.

Crystal Reports Guide de l’utilisateur 621


scr8.book Page 622 Monday, April 2, 2001 12:29 PM

Fichiers de base de données à accès direct

Informix® Online Server™


Informix Online Server fournit des fonctions client/serveur compatibles avec SQL.
Crystal Reports ouvre les données SQL créées par Informix par le biais du fichier
P2sifmx.dll installé avec Crystal Reports. Ce fichier de traduction fonctionne avec les
pilotes de la base de données Informix pour lire les données Informix. Vous devez
installer et configurer le client Informix avant d'utiliser ce fichier de traduction.

DB2 Server
DB2 Server d'IBM est une application client/serveur compatible avec SQL qui fait
partie intégrante du progiciel de gestion de bases de données d'IBM.
Crystal Reports ouvre les données SQL créées par DB2 via le fichier P2sdb2.dll
installé avec Crystal Reports. Ce fichier de traduction lit les données DB2 à l'aide
des pilotes de bases de données DB2. Vous devez installer et configurer le client
DB2 avant d'utiliser ce fichier de traduction.

622 Crystal Reports Guide de l’utilisateur


scr8.book Page 623 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Active Data
Crystal Reports permet de créer des états à partir de sources de données ActiveX,
comprenant ActiveX Data Objects (ADO), Remote Data Objects (RDO) et Data
Access Objects (DAO). Les états créés à partir des sources de données ActiveX
peuvent être exploités dans les applications Visual Basic qui utilisent ces mêmes
sources. Outre les applications Visual Basic, Crystal Reports prend également en
charge Crystal Data Objects (CDO), c'est-à-dire des séries de données
relationnelles créées au moment de l'exécution à l'aide de tableaux Visual Basic.
Crystal Reports permet aussi de créer des états sans aucun recours à une source de
données. Pour cela, vous devez utiliser un fichier de définition de données, c'est-à-
dire un fichier texte ASCII composé de marques de réservation qui représentent les
champs de la base de données. Un programmeur qui utilise des états créés à partir
d'un fichier de définition de données peut donc, s'il le souhaite, spécifier sa source
de données au moment de l'exécution.

Crystal Reports Guide de l’utilisateur 623


scr8.book Page 624 Monday, April 2, 2001 12:29 PM

Fichiers de base de données à accès direct

Le fichier de traduction Crystal Reports fourni pour la création d'états Active Data
est P2smon.dll. Ce fichier de traduction fonctionne en conjonction avec une série
de pilotes différente pour chaque source de données.

624 Crystal Reports Guide de l’utilisateur


scr8.book Page 625 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Système de fichier local


Vous pouvez utiliser Crystal Reports pour créer des états à l'aide de fichiers situés
sur votre système ou sur des lecteurs réseau, comprenant des informations telles
que le nom de fichier, le numéro de version, la date, etc.
Le fichier de traduction P2sfs.dll est fourni par Crystal Reports pour la création
d'états sur votre système de fichier local.
Remarque : Le mode d'accès à la lecture UNC (Universal naming convention)
doit être disponible sur votre système de fichier local. UNC est un format
standard pour les chemins qui incluent un serveur de fichier de réseau local. La
syntaxe de base est : \\serveur\partage\chemin\nom_fichier

Crystal Reports Guide de l’utilisateur 625


scr8.book Page 626 Monday, April 2, 2001 12:29 PM

Fichiers de base de données à accès direct

Journal d’événements NT
Si vous disposez de la version 3.51 ou plus récente de Windows NT, vous pouvez
utiliser Crystal Reports pour générer des états fondés sur le Journal d'événements
NT. Le Journal d'événements est une base de données qui permet aux
administrateurs réseau d'enregistrer et de suivre les divers événements susceptibles
de se produire sur une station de travail ou sur un serveur Windows NT.
Crystal Reports fournit le fichier P2sevt.dll pour travailler avec les données du
journal d'événements NT. Ce fichier communique avec l'API du journal
d'événements dans Advapi32.dll, une partie du système d'exploitation Windows NT.

626 Crystal Reports Guide de l’utilisateur


scr8.book Page 627 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Outlook
Microsoft Outlook propose de puissants outils d'organisation et de gestion de
l'information sous forme de messagerie électronique, calendriers, listes de tâches
et autres outils courants.
Crystal Reports vous permet de créer des états sur vos données Outlook à l'aide du
fichier de traduction P2soutlk.dll. Les données Outlook étant stockées dans un
système de fichiers bidimensionnels, le fichier de traduction y accède directement.
Remarque : Microsoft Outlook doit être installé et le mode d'accès à la lecture
UNC (Universal naming convention) disponible. UNC est un format standard
pour les chemins qui incluent un serveur de fichier de réseau local. La syntaxe de
base est : \\serveur\partage\chemin\nom_fichier

Crystal Reports Guide de l’utilisateur 627


scr8.book Page 628 Monday, April 2, 2001 12:29 PM

Fichiers de base de données à accès direct

Fichier journal Microsoft IIS™/Proxy


Avec Microsoft Internet Information Server (MS IIS) ou Microsoft Proxy, vous
pouvez utiliser Crystal Reports pour créer des états en fonction des fichiers journaux.
Ces fichiers journaux permettent de faire le suivi de divers types d'événements qui
se produisent lorsque vous utilisez un serveur et un navigateur Web.
Le fichier de traduction que Crystal Reports fournit pour les fichiers journaux MS
IIS et Proxy est P2smiis.dll. Les données des fichiers journaux étant normalement
stockées dans un système de fichiers bidimensionnels, le fichier de traduction y
accède directement.
Remarque : Le mode d'accès à la lecture UNC (Universal naming convention)
doit être disponible sur votre système de fichier local. UNC est un format
standard pour les chemins qui incluent un serveur de fichier de réseau local. La
syntaxe de base est : \\serveur\partage\chemin\nom_fichier

628 Crystal Reports Guide de l’utilisateur


scr8.book Page 629 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Fichiers journaux Web/IIS


Vous pouvez utiliser Crystal Reports pour créer des états en fonction des fichiers
journaux Web. Ces fichiers journaux permettent de faire le suivi de divers types
d'événements qui se produisent lorsque vous utilisez un serveur et un navigateur
Web.
Le fichier de traduction que Crystal Reports fournit pour les fichiers journaux
Web/IIS est P2swblg.dll. Les données des fichiers journaux étant normalement
stockées dans un système de fichiers bidimensionnels, le fichier de traduction y
accède directement.
Remarque : Le mode d'accès à la lecture UNC (Universal naming convention)
doit être disponible sur votre système de fichier local. UNC est un format
standard pour les chemins qui incluent un serveur de fichier de réseau local. La
syntaxe de base est : \\serveur\partage\chemin\nom_fichier

Crystal Reports Guide de l’utilisateur 629


scr8.book Page 630 Monday, April 2, 2001 12:29 PM

Fichiers de base de données à accès direct

SAP®
SAP, fournisseur de logiciels d'application de gestion client/serveur, offre un progiciel
ERP (planification des ressources de l'entreprise) comprenant des bases de données
SQL à partir desquelles vous pouvez créer des états à l'aide de Crystal Reports.
Crystal Reports fournit un accès aux bases de données créées par le progiciel ERP
de SAP. Les fichiers P2srfc.dll et P2srfcaq.dll installés avec Crystal Reports
traduisent les requêtes vers la couche Connectivité du réseau du Serveur
d'application SAP. Le Serveur d'application SAP interprète ensuite la requête, puis
renvoie les données de la base de données SAP.

Remarque : Crystal Reports prend en charge l'accès à la base de données SAP à


l'aide des fichiers librfc32.dll et vrf32.dll.

630 Crystal Reports Guide de l’utilisateur


scr8.book Page 631 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Baan®
Baan, fournisseur de logiciels d'application de gestion client/serveur, offre Baan
IV, progiciel ERP (planification des ressources de l'entreprise). Baan IV inclut un
système client/serveur et une base de données SQL personnalisés sur lesquels
vous pouvez créer des états à l'aide de Crystal Reports.
Crystal Reports fournit un accès aux bases de données créées par le progiciel ERP,
Baan IV. Le fichier P2sbaan.dll installé avec Crystal Reports traduit les requêtes
vers le serveur SQL de Baan, puis renvoie les données du serveur.

Remarque :
 Vous pouvez utiliser le fichier de traduction Crystal Reports, même si le
système client Baan n'est pas installé.
 Crystal Reports prend en charge l'accès à la base de données Baan à l'aide des
fichiers Bn4c2nt2.dll et P2sbann.ini.

Crystal Reports Guide de l’utilisateur 631


scr8.book Page 632 Monday, April 2, 2001 12:29 PM

Source de données ODBC

Source de données ODBC


ODBC (Open Database Connectivity) est un standard développé par Microsoft pour
permettre l'accès à de très nombreux formats de données à partir d'une seule
application. Il suffit qu'une application communique avec une série de fichiers ODBC
pour qu'elle puisse utiliser n'importe quelle source de données accessible par ODBC.
Il existe des centaines de systèmes de gestion de bases de données (SGBD)
disponibles pour les ordinateurs personnels, et des milliers d'applications qui
accèdent aux données de ces SGBD. Normalement, une entreprise qui conçoit des
applications d'accès aux données telles que Crystal Reports, doit développer un
moyen permettant à l'application de communiquer avec chaque type de données
que le client veut utiliser. Ceci est possible avec les bases de données auxquelles
Crystal Reports peut accéder directement.
En revanche, si un SGBD fournit à ODBC un moyen permettant d'accéder à ses
données, celles-ci deviennent une source de données ODBC. Dès lors, toute
application, telle que Crystal Reports, peut communiquer avec ODBC et avoir
accès instantanément à n'importe quelle source de données ODBC. Avec les
gestionnaires ODBC correspondant aux SGBD les plus courants, le choix des types
de données accessibles depuis Crystal Reports est quasiment illimité.

Avantages
Le principal avantage de l'accès aux données via ODBC est de permettre
l'utilisation d'une vaste gamme de données par l'intermédiaire d'une seule et
unique interface. Les SGBD les plus courants intégrant désormais des gestionnaires
ODBC, Crystal Reports peut utiliser toutes vos données, quelles qu'elles soient.
Cette souplesse permet également d'utiliser un même fichier d'état avec différentes
sources de données ODBC. Vous pouvez ainsi concevoir un état à l'aide d'une
source de données Oracle puis, en cas de passage à Microsoft SQL Server,
continuer à l'utiliser en modifiant simplement la définition de la source. Il suffit
pour cela qu'il y ait une similitude entre la structure (tables et champs) des deux
sources (mais les noms de table peuvent être différents). Voir “Modification de la
source de données ODBC utilisée par un état” à la page 592.
Les programmeurs SQL et administrateurs réseau expérimentés peuvent
également tirer profit du standard ODBC. Dans la mesure où Crystal Reports
utilise le langage SQL pour communiquer avec ODBC, les programmeurs et
administrateurs peuvent afficher et modifier l'instruction SQL envoyée à ODBC et
contrôler ainsi avec précision les modalités d'extraction des données.
Enfin, en utilisant la technologie SQL de “ pass-through ” pour envoyer une
instruction SQL à ODBC et récupérer une série initiale de données, Crystal Reports
délègue la plupart du travail de recherche et de tri au serveur et libère ainsi de la
mémoire et des ressources locales au profit de tâches plus importantes. En outre,
seules les données indiquées par l'instruction SQL sont renvoyées à Crystal

632 Crystal Reports Guide de l’utilisateur


scr8.book Page 633 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Reports, ce qui réduit la surcharge du réseau et minimise l'utilisation des


ressources. En travaillant plus efficacement avec les données initiales, Crystal
Reports vous fait économiser du temps et des efforts et vous permet de vous
concentrer sur le processus de conception et sur les tâches prioritaires.

Inconvénients
Les données devant transiter (via ODBC) par de nombreuses couches depuis la
base de données à l'application, les sources de données ODBC mettent
généralement plus longtemps à renvoyer les données que les sources de données
à accès natif. En effet, dans un premier temps, Crystal Reports demande les
données. Sa requête est ensuite traduite par la couche de traduction d'ODBC en un
format exploitable (instruction SQL). ODBC doit alors trouver les données
concernées et transmettre la requête à la source ODBC. Pour de plus amples
renseignements, voir “Couche Traduction SGBD (Source de données ODBC)” à la
page 635. La source de données analyse la requête et la traduit dans un format
exploitable par le SGBD concerné. Ce processus complexe prend du temps et
risque de se bloquer à l'une ou l'autre de ces phases.
En outre, les sources de données ODBC doivent être configurées et paramétrées
correctement dans les fichiers Odbc.ini et Odbcinst.ini avant d'être exploitées.
Lorsque vous créez un état sur un système, puis essayez de l'ouvrir sur un autre
système qui ne dispose pas de la même source de données ODBC, Crystal Reports
ne peut pas se connecter aux données.
Lorsque vous utilisez ODBC, rappelez-vous que la version du langage SQL qu'il
utilise est celle de l'ANSI (Organisme de normalisation américain). Cependant,
certains SGBD utilisent une version SQL comportant des fonctions spécifiques. Si
c'est le cas de votre SGBD, ODBC sera incapable de traduire ces fonctions
spécifiques (même si généralement il parvient à extraire l'essentiel des données).
Voir “Langage SQL” à la page 568.

Cinq couches
Le processus par lequel Crystal Reports accède au contenu d'une source de
données ODBC est constitué de cinq couches :
 “Couche Crystal Reports” à la page 634
 “Couche Traduction ODBC” à la page 634
 “Couche ODBC” à la page 635
 “Couche Traduction SGBD (Source de données ODBC)” à la page 635
 “Couche Base de données” à la page 636.

Crystal Reports Guide de l’utilisateur 633


scr8.book Page 634 Monday, April 2, 2001 12:29 PM

Source de données ODBC

Toutes ces couches utilisant le langage SQL, elles peuvent facilement transmettre
les données de la base à votre état.

Couche Crystal Reports


Lorsque Crystal Reports travaille avec des données ODBC, il génère une
instruction SQL qui demande les données appropriées à ODBC. Le générateur de
langage SQL intégré à Crystal Reports a été conçu pour créer une instruction SQL
qui laisse la source de données ODBC ou ODBC lui-même générer autant que
possible l'état, en retournant uniquement les données nécessaires à la production
de cet état. L'instruction SQL générée peut être visualisée et mise au point par
quiconque connaît le langage SQL. Voir “Requêtes SQL” à la page 598.

Couche Traduction ODBC


Crystal Reports utilise le fichier DLL P2sodbc.dll pour communiquer avec ODBC.
Ce fichier est unique à l'environnement de Crystal Reports et fournit un état avec
accès à n'importe quelle source de données ODBC. Il est le pilote chargé de
transmettre les données à destination et en provenance d'ODBC.

634 Crystal Reports Guide de l’utilisateur


scr8.book Page 635 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Couche ODBC
ODBC est un ensemble de fichiers DLL et INI intégré à l'environnement Windows
qui fait office de passerelle pour les requêtes et les données. Tout fichier ou format
de base de données utilisé par l'intermédiaire d'ODBC doit être configuré comme
une source de données ODBC.
Sous Windows 95, Windows 98 et Windows NT, les principaux fichiers DLL
d'ODBC sont les suivants :
 Odbc32.dll
 Odbc32.dll
 Odcccp32.dll Odccint.dll (version 2.5 ou utlérieure).
Bien que les informations relatives aux sources de données soient toujours stockées
dans Odbc.ini et Odbcinst.ini, la version 32 bits d'ODBC utilise la base de registre
Windows pour retrouver des informations sur telle ou telle source de données.
Remarque : Pour de plus amples renseignements sur ODBC et ses fichiers, voir la
documentation Microsoft ODBC.
ODBC utilise le langage SQL pour toutes les transactions entre Crystal Reports et
ODBC. Même si la base de données n'utilise généralement pas le langage SQL pour
créer et travailler avec des tables, le pilote ODBC fourni par la base de données (la
couche de traduction SGBD) doit communiquer avec ODBC au moyen de SQL.
Pour la plupart des utilisateurs, cette caractéristique est transparente, mais des
utilisateurs plus confirmés prennent souvent à leur avantage des traits du langage
SQL utilisé par ODBC.

Couche Traduction SGBD (Source de données ODBC)


Cette couche se compose du ou des pilotes fournis avec un SGBD pour permettre
à ODBC de communiquer avec la base de données. Crystal Reports est livré avec
plusieurs pilotes correspondant aux formats de base de données les plus répandus.
En cas de doute concernant la possibilité d'utiliser un pilote pour accéder aux
données de votre base de données, reportez-vous à la documentation de votre
SGBD. La plupart des SGBD sous Windows disposent de leur propre pilote ODBC.
Lorsqu'un SGBD inclut un pilote ODBC, il doit l'enregistrer sur l'ordinateur où il
est installé. Pour ce faire, il affecte un nom au pilote et enregistre ce nom dans le
fichier Odbcinst.ini. En général, cette étape est gérée automatiquement lorsque
l'application DBMS est installée sur le système. Certains réseaux ou applications
exigent cependant un enregistrement manuel à l'aide de l'application
Configuration ODBC. Pour de plus amples renseignements, reportez-vous à la
documentation de votre SGBD.
Une fois votre pilote ODBC enregistré, définissez la source de données ODBC au
moyen de ce pilote. La source de donnés ODBC correspond à l'objet auquel vous
vous connectez pour accéder à des données depuis Crystal Reports via ODBC. Les
sources de données sont enregistrées dans le fichier Odbc.ini. Elles conservent la

Crystal Reports Guide de l’utilisateur 635


scr8.book Page 636 Monday, April 2, 2001 12:29 PM

Source de données ODBC

trace des fichiers de traduction de SGBD (pilotes ODBC) et parfois de la base elle-
même. Une source de données ODBC n'indique que le format de la base de données
(Oracle, Sybase SQL ou MS SQL Server). Cependant, certains utilisateurs préfèrent
indiquer une base de données spécifique. Dans ce cas, la source de données ODBC
occupe à la fois la couche Traduction SGBD et la couche Base de données.
Si vous utilisez une base de données client/serveur, telle que SQL Server, les
pilotes ODBC communiquent avec le serveur via la couche Communication de
base de données que votre base de données client utilise aussi pour communiquer
avec le serveur.
Remarque : Les pilotes ODBC trouvent les fichiers propres à leur client SGBD
essentiellement grâce aux répertoires clés insérés par ce client dans l'instruction
PATH du fichier Autoexec.bat. L'essentiel est que chaque station de travail cliente
installée sur un PC local puisse se connecter à son serveur. En cas de doute,
contactez votre responsable informatique.
Pour Crystal Reports et pour les pilotes ODBC, le type de plate-forme sur laquelle
est installé votre serveur est sans importance. C'est en effet le client SGBD qui se
connecte au serveur et communique avec lui, tandis que Crystal Reports et les pilotes
se contentent de communiquer avec le client. Pour de plus amples renseignements,
voir “Utilisation de SQL et des bases de données SQL” à la page 564.

Couche Base de données


Le fichier de base de données désigné dans ce contexte comme la source de
données ODBC peut se trouver n'importe où sur le système. Lorsque la source de
données ODBC est configurée, Crystal Reports n'a pas besoin de connaître
l'emplacement ni la mise en forme des données. C'est pourquoi la base de données
peut être d'un format indifférent et se situer n'importe où sur le réseau, tant
qu'ODBC peut communiquer avec elle au travers de la source de données ODBC.

Installation de clients de base de données


Il est préférable que le client de base de données soit installé et configuré avant
Crystal Reports. Toutefois, si vous avez commencé par installer Crystal Reports,
vous pouvez suivre la procédure ci-dessous pour configurer correctement le DSN
(nom de source de données) ODBC de Crystal Reports.

Pour configurer correctement le DSN ODBC


1 Dans le menu Démarrer, sélectionnez Paramètres, puis Panneau de
configuration, puis cliquez deux fois sur Ajout/Suppression de programmes.
2 Sélectionnez Crystal Reports, puis cliquez sur Ajouter/Supprimer.

636 Crystal Reports Guide de l’utilisateur


scr8.book Page 637 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

3 Dans la boîte de dialogue Crystal Reports Setup, cliquez sur Ajouter/


Supprimer.
4 Développez le dossier Data Access, puis sélectionnez l'option d'accès aux
données appropriée.
Si vous avez installé le client de base de données Informix, sélectionnez
Informix dans le dossier Data Access.
5 Cliquez sur l'option d'accès aux données sélectionnée, puis choisissez La
totalité du composant sera indisponible.
Un X s'affiche en regard de l'option et la zone Description de la fonction
contient une remarque indiquant que la fonction va être complètement
supprimée.
6 Cliquez sur Suivant dans cette boîte de dialogue et celle qui suit.
L'option d'accès aux données que vous avez sélectionnée a disparu.
7 Répétez les étapes 2 à 4.
8 Cliquez sur l'option d'accès aux données sélectionnée, puis choisissez Sera
installé sur le disque dur local.
Le X en regard de l'option disparaît et la zone Description de la fonction
contient une remarque indiquant que la fonction va être installée.
9 Cliquez sur Suivant dans cette boîte de dialogue et celle qui suit.
L'option d'accès aux données que vous avez sélectionnée est réinstallée et son
DSN ODBC est configuré correctement.

Principaux formats de base de données ODBC

Access
Bien que vous puissiez accéder aux fichiers de Microsoft Access depuis Crystal
Reports (voir “Microsoft Access” à la page 609), il se peut que vous souhaitiez
utiliser ODBC pour ces fichiers. Lorsqu'il communique avec les bases de données
Access, ODBC utilise un fichier de traduction qui gère toutes les communications
entre DAO et le moteur de base de données Microsoft Jet (voir “DAO” à la
page 610). Il s'agit d'un exemple de pilote ODBC spécifique à un SGBD.
Toutes les tâches dans les bases de données Access sont effectuées par le moteur
Jet dont il est un composant obligatoire. Jet est un composant nécessaire pour
travailler avec les bases de données Access. Comme le moteur Jet fait partie
intégrante de toutes les bases de données Access, il est montré ici comme un
élément de la couche de la base de données.

Crystal Reports Guide de l’utilisateur 637


scr8.book Page 638 Monday, April 2, 2001 12:29 PM

Source de données ODBC

Excel
Vous pouvez convertir les feuilles de calculs Microsoft Excel en bases de données
pouvant être lues par Crystal Reports au moyen d'ODBC. Dans Excel 4.0 et
versions antérieures, utilisez la commande de définition de la base de données du
menu Données. Sous Excel 5.0 (ou toute version ultérieure), utilisez la commande
Définir du menu Insertion|Nom. Lorsque les feuilles de calcul sont converties,
leurs lignes deviennent des enregistrements et leurs colonnes des champs (pour de
plus amples renseignements pour convertir vos feuilles de calcul à un format de
base de données, reportez-vous à votre documentation Excel). Une fois la feuille
convertie, installez la source de données ODBC correspondante, puis sélectionnez-
la depuis Crystal Reports.

638 Crystal Reports Guide de l’utilisateur


scr8.book Page 639 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Remarque :
 Si vous utilisez Excel 7.0 (ou toute version ultérieure), vous pouvez exporter
vos feuilles de calculs en tant que tables de base de données Access, et les lire
depuis Crystal Reports comme vous le feriez avec d'autres tables Access. Pour
de plus amples renseignements, reportez-vous à votre documentation Excel.
 Vous pouvez également utiliser l'extension logiciel de Microsoft Excel pour
créer des états dans Crystal Reports.
Dans Windows 95, Windows 98 et Windows NT, vous pouvez définir une source
de données ODBC correspondant à une feuille Excel au moyen du moteur DAO.
Le moteur DAO est installé sur votre système avec la version de Crystal Reports.
Vous devez cependant définir une source ODBC manuellement pour votre feuille
de calculs Excel. Voir “Configuration d'une source de données ODBC” à la
page 585.

Crystal Reports Guide de l’utilisateur 639


scr8.book Page 640 Monday, April 2, 2001 12:29 PM

Source de données ODBC

Informix
Crystal Reports accède aux bases de données Informix au moyen d'ODBC. Le
client Informix doit être installé sur votre machine. Si ce n'est pas le cas, Crystal
Reports fournit le moteur utilisé par ODBC pour communiquer avec le moteur de
base de données Informix.

Remarque : Crystal Reports contient un pilote ODBC nommé Crinf914.dll


permettant de lire les données d'Informix.

640 Crystal Reports Guide de l’utilisateur


scr8.book Page 641 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Bases de données SQL via Merant DataDirect


Il existe de nombreux systèmes de gestion de bases de données SQL sur le marché,
et la plupart d'entre eux sont accessibles via ODBC. Crystal Reports installe et
configure automatiquement plusieurs sources de données ODBC, vous permettant
ainsi d'accéder à de nombreuses bases de données SQL courantes, parmi lesquelles :
 Oracle
 Sybase SQL Server
 DB2/2.
Crystal Reports contient des moteurs ODBC de type Merant DataDirect conçus
pour ces formats de base de données SQL. Par commodité, ces moteurs sont
automatiquement installés par le programme, bien qu'ils ne soient pas
nécessairement utilisés pour accéder à toutes les bases de données SQL. Même si
Crystal Reports communique toujours avec ODBC à l'aide du fichier de traduction
P2sodbc.dll, les pilotes DataDirect permettent à ODBC d'accéder plus facilement
aux bases de données.
Remarque : Si vous utilisez une base de données SQL qui n'est pas accessible par
les moteurs Merant, recherchez dans sa documentation la liste des moteurs ODBC
compatibles.
Ne confondez pas bases de données SQL et langage SQL. Ce dernier est un langage
informatique conçu spécialement pour créer et lire des fichiers de base de données.
Voir “Utilisation de SQL et des bases de données SQL” à la page 564.
Une base de données SQL est un ensemble d'applications qui utilisent le langage
SQL pour créer et manipuler des bases de données. Les SGBD SQL sont
généralement conçus pour fonctionner comme d'importantes applications client/
serveur distribuées sur le réseau.
Pour ouvrir une base de données SQL, ODBC utilise une série de quatre pilotes de
prise en charge ODBC DataDirect (les mêmes pour tous les formats de base de
données SQL), un pilote ODBC DataDirect spécifique au format de la base et la
couche Communication de base de données (assurant la communication directe
avec le fichier de base de données). Les fichiers de cette couche Traduction SGBD
sont tous des pilotes Merant DataDirect.

Crystal Reports Guide de l’utilisateur 641


scr8.book Page 642 Monday, April 2, 2001 12:29 PM

Source de données ODBC

Remarque : ODBC ne doit pas nécessairement utiliser les pilotes Merant


DataDirect pour accéder aux bases de données SQL affichées ici. La plupart des
applications SQL de SGBD disposent de leurs propres pilotes ODBC. Toutefois,
Crystal Reports installe systématiquement ces pilotes.

Remarque : Crystal Reports fournit des pilotes Merant 32 bits permettant


d'accéder aux bases de données SQL. Ils se trouvent dans le fichier Cr*14.dll.
Comme mentionné précédemment, Crystal Reports crée automatiquement
plusieurs sources de données ODBC pour les formats de base de données SQL
gérés par Merant DataDirect. Ces sources de données sont créées
automatiquement :
 ODBC-CRDB prend en charge DB2/2
 ODBC-CROR7 prend en charge Oracle 7
 ODBC-CROR8 prend en charge Oracle 8
 ODBC-CRSYB prend en charge Sybase System 10.

642 Crystal Reports Guide de l’utilisateur


scr8.book Page 643 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Visual FoxPro™
Les données de Microsoft Visual FoxPro sont accessibles par ODBC, tandis que les
données des versions 2.5 et antérieures de FoxPro sont directement accessibles via
le moteur xBase. Si vous utilisez les versions 2.5 ou antérieures de FoxPro,
reportez-vous à la rubrique “dBASE, FoxPro, Clipper” à la page 607.
Crystal Reports est livré avec le pilote ODBC Vfpodbc.dll, qui permet à ODBC de
travailler avec des données Visual FoxPro.

Crystal Reports Guide de l’utilisateur 643


scr8.book Page 644 Monday, April 2, 2001 12:29 PM

Source de données ODBC

Lotus Domino
Crystal Reports peut lire une base de données Lotus Domino au moyen d'ODBC.
Dans Windows 95, Windows 98 et Windows NT, la couche Traduction du SGBD
Lotus Domino se compose de trois fichiers :
 Nsql32.dll
 Nsqlv32.dll
 Nsqlc32.dll
Ces fichiers utilisent les pilotes installés par le client Lotus Notes pour travailler
avec la base de données Lotus Domino. Le composant client de Lotus Domino doit
être installé sur la machine locale.

Remarque : Le serveur Domino peut être remplacé par le client Lotus Notes dans
la couche Base de données de ce diagramme.

644 Crystal Reports Guide de l’utilisateur


scr8.book Page 645 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

PeopleSoft®
PeopleSoft, fournisseur de logiciels d'application d'entreprise, offre le système
ERP (Planification des ressources de l'entreprise) de PeopleSoft. Crystal Reports
exploite les données PeopleSoft ERP à l'aide d'ODBC.

Remarque : Le client PeopleSoft doit être installé et configuré correctement pour


pouvoir utiliser le fichier de traduction ODBC de Crystal Reports (P2sodbc.dll).

Crystal Reports Guide de l’utilisateur 645


scr8.book Page 646 Monday, April 2, 2001 12:29 PM

Source de données ODBC

OLE DB
OLE DB est une entité de connectivité de base de données de Microsoft semblable
à ODBC sur le plan de la conception.
Remarque :
 OLE DB n'est pas une base de données, mais une méthodologie de connectivité.
Comme ODBC, elle facilite l'échange de données créées dans d'autres systèmes
de gestion de bases de données en proposant une couche Interface.
 OLE DB exige l'usage d'un fournisseur OLE DB, c'est-à-dire l'équivalent OLE
DB d'un pilote ODBC.
Crystal Reports fournit le fichier P2soledb.dll d'OLE DB, ce qui permet à OLE DB
de communiquer avec un fournisseur OLE DB.

646 Crystal Reports Guide de l’utilisateur


scr8.book Page 647 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Fichiers Crystal SQL Designer


Le Crystal SQL Designer est une requête, une demande simple de données
formulée auprès d'une base de données. Lorsque les données demandées sont
rassemblées, elles peuvent être stockées en tant que fichier Crystal SQL Designer
(.QRY). Ce type de fichier s'utilise alors à peu près comme une base de données.
Les données extraites de vos bases SQL deviennent une nouvelle série de données
pouvant être ajoutées à vos états.
C'est grâce au langage SQL que le Crystal SQL Designer extrait et rassemble les
données en provenance des sources ODBC (telles que vos serveurs SQL). Une
instruction pour la collecte d'une série spécifique de données est envoyée
directement au SGBD SQL. Le SGBD traite la collecte de données, le tri et les
regroupements en fonctions des instructions de la requête SQL. Seule la série finale
de données est renvoyée à SQL et enregistrée en tant que fichier de requête.
Remarque : Pour de plus amples renseignements sur le langage SQL, voir “Types
de jointures SQL (sources de données ODBC)” à la page 556.

Commencez par optimiser une instruction SQL et créez un fichier de requête ne


contenant que les données dont vous avez besoin. Concevez ensuite vos états
autour de ce fichier et non autour de la base de données initiale. Notez que lorsque
vous concevez une requête, l'essentiel du travail de recherche est effectué sur le
serveur SQL. Cette méthode permet au Report Designer de générer plus facilement
et plus rapidement des états sur la base d'une série réduite de données. Pour de
plus amples renseignements, voir “Création d'une nouvelle requête à l'aide du
Crystal SQL Designer” à la page 653.

Crystal Reports Guide de l’utilisateur 647


scr8.book Page 648 Monday, April 2, 2001 12:29 PM

Fichiers dictionnaire Crystal

Avantages
Avantages Parmi les nombreuses raisons pouvant vous inciter à utiliser le Crystal
SQL Designer, la principale tient sans doute à ce qu'il délègue l'essentiel du
processus de recherche au serveur et à ce qu'il stocke les données résultantes sous
la forme d'un ensemble de données distinctes. Cette technique dite de “ pass-
through ” (délégation des tâches d'extraction des données au serveur) vous permet
de récupérer les données plus rapidement et plus efficacement. Chaque fois que
vous travaillez avec des données SQL, pensez à créer un fichier de requête avant
de concevoir votre premier état.
L'Expert SQL vous permet en outre de mieux contrôler vos données grâce au
langage SQL. Le Report Designer comprend certaines fonctions du langage SQL
lors de l'accès aux données SQL ou ODBC, mais l'Expert Requête constitue un outil
de requête extrêmement performant qui offre des fonctions SQL d'accès aux
données encore plus puissantes. L'Expert Requête permet de regrouper les
fonctions dans une requête SQL et prend en charge tous les éléments de recherche
de données du langage SQL. Si vous avez l'habitude de ce langage, vous pourrez
ainsi exécuter des tâches complexes à l'aide d'opérations UNION et de sous-
requêtes. Voir “Langage SQL” à la page 568.

Inconvénients
Dans la mesure où une requête représente un ensemble complet de données, les
enregistrements, champs ou tables que vous auriez omis d'inclure lors de sa
création ne seront pas disponibles pour générer des états. Un état ne pouvant
jamais être plus complexe que les données auxquelles il a accès, l'utilisation d'une
requête limite forcément vos options de création d'états.
En outre, une requête ne peut être utilisée avec aucune autre source de données. Si
vous décidez d'utiliser une requête dans votre état, vous ne pouvez inclure une
source de données supplémentaire, telle qu'une table de base de données ou un
autre fichier requête.

Fichiers dictionnaire Crystal


Un fichier dictionnaire (.DC5) est un affichage structuré et simplifié des données
organisationnelles que vous pouvez créer pour quiconque dans votre organisation
utilise Crystal Reports. Avec un dictionnaire, les utilisateurs finaux ne voient que
le sous-ensemble des tables et des champs dont ils ont besoin.
Un dictionnaire est une autre source de données pour Crystal Reports. Il pourvoit
un filtre commode, clarifiant et simplifiant des techniques complexes d'accès aux
données pour les utilisateurs finaux. Les utilisateurs peuvent quand même accéder
directement aux données. Les dictionnaires fournissent simplement tous les
avantages sans complications.

648 Crystal Reports Guide de l’utilisateur


scr8.book Page 649 Monday, April 2, 2001 12:29 PM

28 : Accès aux sources de données

Cependant, si vous décidez d'utiliser un dictionnaire lors de la création d'un état,


vous ne pouvez pas utiliser d'autre source de données dans cet état. Autrement dit,
vous ne pouvez pas ouvrir d'autres dictionnaires, états Crystal Reports, sources de
données ODBC, bases de données à accès direct ou toute autre source de données.
Le but du dictionnaire est de fournir un accès rapide et facile à un ensemble de
données. Une connexion aux autres sources de données au sein d'un même état irait
à l'encontre de ce but. Voir “Création d'un nouveau dictionnaire” à la page 671.
Les dictionnaires vous permettent :
 concevoir un affichage unique et dynamique de toutes les données requises
pour créer des états organisationnels et des requêtes,
 de créer un dictionnaire qui contient plusieurs sources de données, tables et
liaisons,
 organiser les données et renommer les tables et champs pour que les
utilisateurs puissent comprendre le contenu et le but des données, et
 de créer des formules de manipulation complexes des données auxquelles les
utilisateurs ont accès sans connaître les concepts de formule.
Les dictionnaires réduisent les coûts et le temps de l'assistance, augmentent la
productivité des utilisateurs et diminuent aussi l'usage erronné, la perte et les
dommages causés aux données.
Une fois qu'ils sont créés, les dictionnaires fonctionnent comme un filtre et offrent
un affichage des données complexes qui est clair et très facile à comprendre pour
n'importe quel utilisateur. Les données compliquées n'empêcheront pas les
utilisateurs finaux de créer des états puissants.

Crystal Reports Guide de l’utilisateur 649


scr8.book Page 650 Monday, April 2, 2001 12:29 PM

Fichiers dictionnaire Crystal

Crystal Reports lit le fichier dictionnaire à l'aide du fichier P2ixbse.dll. Ce fichier


de traduction est basé sur le pilote xBase utilisé pour accéder aux bases de données
dBASE, FoxPro et Clipper, mais fournit aussi la souplesse requise pour lire les
dictionnaires. Voir “dBASE, FoxPro, Clipper” à la page 607.
Remarque : si vous avez mis à jour une version précédente de Crystal Reports qui
supportait les fichiers dictionnaire, les anciens dictionnaires (.DCT) étaient basés
sur le moteur Btrieve. Si vous convertissez les anciens fichiers en nouveaux
fichiers dictionnaire, ceux-ci utiliseront la couche Traduction de xBase au lieu de
la couche Btrieve. Cependant, le moteur Btrieve, installé par la version précédente
de Crystal Reports, doit rester sur votre système pour que la nouvelle application
dictionnaire puisse lire les anciens fichiers dictionnaire.
La couche d'accès à la base de données correspond à la couche par laquelle le fichier
dictionnaire lit en fait les données de la base d'origine. Les dictionnaires doivent lire
les données de la base en utilisant le même chemin que Crystal Reports. Les sections
sur les couches d'accès direct aux bases de données et les sources de données ODBC
décrivent les fichiers dont les dictionnaires ont besoin pour lire les données.
Le fait que la couche d'accès à la base de données est complètement transparente à
l'utilisateur est un avantage des dictionnaires. Le dictionnaire présente un
affichage des données dans Crystal Reports qui peut, ou non, correspondre aux
données réelles, mais qui est facile d'accès et utilisable pour les utilisateurs.
Enfin, les dictionnaires fournissent une manière très efficace de modifier les données
initiales concernées sans changer l'affichage des données aux utilisateurs. Par
exemple, il se peut que votre base de données initiale comporte les champs Prix,
Quantité et Coût, mais vous décidez qu'il serait possible de calculer le champ Coût à
partir des champs Prix et Quantité. En mettant à jour le dictionnaire pour calculer le
Coût au lieu de l'obtenir directement depuis la base de données, vos utilisateurs ne
s'en apercevront pas. Ceci s'avère également utile lorsque le format sous-jacent de la
base de données est modifié. Encore une fois, il suffit de mettre à jour le dictionnaire.
Les fichiers dictionnaire sont souvent créés par des responsables informatiques qui
contrôlent la base de données d'une entreprise. Le responsable informatique peut
travailler avec les données qui sont organisées et arrangées pour créer des
dictionnaires d'utilisation facile pour les employés d'une entreprise. Les employés
ne trouveront que les données dont ils ont besoin dans chaque fichier dictionnaire,
parce que le responsable informatique a personnalisé et manipulé les données
pour n'importe quel usage.

650 Crystal Reports Guide de l’utilisateur


scr8.book Page 651 Monday, April 2, 2001 12:29 PM

Le Crystal SQL Designer 29

Une requête est une instruction de sélection utilisée pour


obtenir des informations spécifiques d'une base de
données. Ce chapitre décrit l'utilisation du Crystal SQL
Designer pour créer, modifier et optimiser des requêtes.

Crystal Reports Guide de l’utilisateur 651


scr8.book Page 652 Monday, April 2, 2001 12:29 PM

Le Crystal SQL Designer

Le Crystal SQL Designer


Le Crystal SQL Designer crée une requête ou interrogation pour obtenir des
informations spécifiques de la base de données. Lorsque vous demandez cette
information à une base de données SQL (ou à une base de données à laquelle vous
avez accédé via ODBC), vous devez écrire votre requête à l'aide du langage SQL
(Structured Query Language).
Ce langage est facile à apprendre, mais sa maîtrise réelle est délicate. Grâce au
Crystal SQL Designer, fourni avec Crystal Reports, vous n'avez plus besoin de
connaître le langage SQL, vous pouvez élaborer des requêtes efficaces
immédiatement.
 Si vous n'avez aucune expérience de ce type d'application, vous apprécierez la
façon dont le Crystal SQL Designer vous aide à créer des requêtes. En
répondant à quelques questions d'une série d'onglets successifs, vous
fournissez au logiciel toutes les informations requises pour générer une
requête répondant à vos besoins.
 Par contre, si vous avez l'habitude d’utiliser SQL, vous apprécierez la
possibilité d’effectuer une mise au point précise des requêtes générées par le
Crystal SQL Designer. Si vous préférez écrire vos propres requêtes SQL, vous
constaterez qu'il est facile de les saisir directement ou même de les copier/
coller depuis une autre source.
Remarque : Le Crystal SQL Designer ne peut accéder qu’aux données stockées
dans une source de données ODBC. Vous devez donc accéder aux bases de
données SQL ou autres bases de données mentionnées dans ce chapitre via
ODBC.

Pourquoi utiliser des requêtes ?


Les fichiers de requête offrent la possibilité de transférer l'essentiel des tâches de
génération de données normalement exécutées par Crystal Reports vers le serveur
de bases de données. L'ensemble de données renvoyé représente un sous-
ensemble des données réelles de la base, mais ce sont seulement les données qui
vous sont nécessaires.
Si vous êtes un programmeur expérimenté en langage SQL, le Crystal SQL
Designer vous permet de réutiliser rapidement et facilement les requêtes
existantes. Celles-ci deviennent des fichiers de requêtes pratiques que vous
utiliserez pour concevoir des états à l'aide de Crystal Reports.
Bien que Crystal Reports gère la sortie d'états grâce à une émulation SQL
puissante, il ne prend en charge ni le langage SQL, ni l'édition des éléments d'une
instruction rédigée dans ce langage. A l'aide du Crystal SQL Designer, vous
pouvez bénéficier de toute la puissance de SQL, y compris les jointures complexes,
les tris et les fonctions de résumé. En outre, les requêtes sont totalement
compatibles avec SQL ANSI.

652 Crystal Reports Guide de l’utilisateur


scr8.book Page 653 Monday, April 2, 2001 12:29 PM

29 : Le Crystal SQL Designer

Utilisation du Crystal SQL Designer


Le Crystal SQL Designer a deux utilisations principales :
 Concevoir et développer des séries de données pour l'élaboration d'états dans
Crystal Reports.
 Retrouver et analyser les informations en fonction de vos besoins pour vous
aider à prendre des décisions.

Crystal Reports et séries de données de requête


Crystal Reports vous permet de concevoir un état basé sur une série de données de
requête plutôt que sur des tables et des champs. Ces derniers sont déjà en effet
inclus puisque la requête contient une série de données prédéfinies.
Lors de la conception de votre état, vous pouvez utiliser l'ensemble de données
produit par la requête SQL. Le nom de la requête, ainsi que les champs auxquels
elle accède, apparaissent dans la boîte de dialogue Insérer des champs. Les
fonctions de groupement et les expressions SQL fonctionnent comme des champs :
elles indiquent la valeur des données correspondant à chaque enregistrement de
requête SQL.

Analyse des données et prise de décision


Il n'est pas toujours nécessaire de produire des états complets basés sur vos
données ; il peut arriver, par exemple, que vous ayez uniquement besoin de
données chiffrées (en vue d'une réunion de travail, pour vous aider à faire une
projection, etc.). Le Crystal SQL Designer vous permet dans ce cas d'obtenir
facilement les informations requises.
Vous pouvez également retrouver les mêmes données régulièrement
(hebdomadaires mensuelles, etc.). Dès que vous avez défini et enregistré une
requête, vous pouvez retrouver rapidement les données mises à jour avec un
minimum d'effort.
Remarque : Le Crystal SQL Designer ne peut pas extraire une valeur supérieure à
20 caractères ou calculer une formule contenant une telle valeur. Le système
tronquera chaque valeur comportant plus de 20 caractères.

Création d'une nouvelle requête à l'aide du Crystal SQL Designer

Accès au Crystal SQL Designer


1 Dans le menu Démarrer, sélectionnez Programmes, puis Crystal Reports
Tools, puis cliquez sur Crystal SQL Designer.
Remarque : L'emplacement du Crystal SQL Designer peut varier en fonction
de l'emplacement spécifié durant l'installation.

Crystal Reports Guide de l’utilisateur 653


scr8.book Page 654 Monday, April 2, 2001 12:29 PM

Le Crystal SQL Designer

2 Dans le menu Fichier, cliquez sur Nouveau.


La boîte de dialogue Nouvelle requête apparaît.

3 Cliquez sur Utiliser l'Expert SQL.


L'Expert SQL apparaît. Cet Expert comporte six onglets numérotés pour vous
guider pas à pas dans le processus de création d'une requête.

Remarque : l'onglet Liaisons n'apparaît que si vous sélectionnez plusieurs tables


de base de données dans l'onglet Tables.

Prévisualisation des données


La sélection d'au moins un champ dans l'onglet Champs vous permet d'afficher à
tout instant les données trouvées par votre requête en cliquant sur le bouton
Terminer en bas de la boîte de dialogue. Après avoir visualisé les données de la
requête, cliquez sur le bouton Modifier puis sur Requête pour revenir à l'Expert SQL.

Spécification d'une table


1 Cliquez sur le bouton SQL/ODBC ou Dictionnaire.
Si vous cliquez sur SQL/ODBC :
 Sélectionnez un type de serveur dans la boîte de dialogue Connexion au
serveur.
 Cliquez sur OK.
 Sélectionnez les tables à ajouter à la requête. Cliquez sur chaque table, puis
cliquez sur Ajouter. Les tables apparaissent dans la zone de liste de la boîte
de dialogue Choisir une table SQL. Après avoir ajouté toutes les tables,
cliquez sur Terminé.

654 Crystal Reports Guide de l’utilisateur


scr8.book Page 655 Monday, April 2, 2001 12:29 PM

29 : Le Crystal SQL Designer

Si vous cliquez sur Dictionnaire :


 Sélectionnez le Dictionnaire (*.DC5) et cliquez sur OK.
 Toutes les tables de base de données ODBC accessibles depuis le
dictionnaire seront ajoutées à votre requête SQL.
Remarque : Les fichiers dictionnaire doivent être basés sur une source de
données ODBC.
2 Cliquez sur Suivant.
L'onglet Liaisons apparaît (si au moins deux tables ont été sélectionnées).

Liaison entre tables et définition du type de jointure


En cliquant sur “ Liaison intelligente ”, l’Expert SQL va établir toutes les liaisons
possibles entre les tables. La liaison est représentée par une ligne et une flèche, ce
qui constitue une ligne de liaison.

Informations de liaison
Pour obtenir plus d'informations sur une liaison
1 Cliquez sur une des lignes de liaison entre les tables.
La ligne de liaison s'affiche en surbrillance, de même que les champs des tables
concernées.
2 Cliquez sur le bouton Options.
La boîte de dialogue Options de liaison apparaît, affichant les détails de liaison
entre les tables.

Crystal Reports Guide de l’utilisateur 655


scr8.book Page 656 Monday, April 2, 2001 12:29 PM

Le Crystal SQL Designer

3 Cliquez sur Annuler pour retourner à l'Expert SQL.


4 Cliquez sur Suivant.
L'onglet Champs apparaît.

Ajout de champs à une requête


1 Sélectionnez le champ à afficher dans votre requête depuis la zone de liste
Champs de base de données.
2 Cliquez sur Ajouter pour l'afficher dans la zone de liste Champs de requête.
3 Cliquez sur Enlever pour enlever un champ sélectionné de la zone de liste
Champs de requête.

656 Crystal Reports Guide de l’utilisateur


scr8.book Page 657 Monday, April 2, 2001 12:29 PM

29 : Le Crystal SQL Designer

Identification des valeurs uniques dans une requête


Activez la case à cocher Sélectionner des valeurs distinctes.

Ajout d’une expression SQL


Remarque : Vous devez maîtriser le langage SQL et ses expressions avant de
tenter d'ajouter une expression à votre fichier de requête.
1 Cliquez sur le bouton Expression.

La boîte de dialogue Expression SQL apparaît.

Crystal Reports Guide de l’utilisateur 657


scr8.book Page 658 Monday, April 2, 2001 12:29 PM

Le Crystal SQL Designer

2 Saisissez le nom de votre nouvelle expression puis cliquez sur OK.


La boîte de dialogue Expression SQL apparaît.

3 Cliquez deux fois sur un champ dans la zone de liste Champs pour l'ajouter à
l'expression. Le champ est déplacé dans la zone SQL.
4 Modifiez l'expression si nécessaire.

5 Cliquez sur OK lorsque vous avez terminé.


6 Sélectionnez la nouvelle expression SQL.
Son nom apparaîtra précédé du symbole @.

658 Crystal Reports Guide de l’utilisateur


scr8.book Page 659 Monday, April 2, 2001 12:29 PM

29 : Le Crystal SQL Designer

7 Cliquez sur Ajouter.


Le champ sélectionné sera ajouté à la zone de liste Champs de requête.

Résumé des données à l'aide des fonctions de résumé

Fonctions de résumé
Ces fonctions permettent d'obtenir des informations résumées pour tous les
enregistrements ou groupes d'enregistrements. Les fonctions de résumé sont
particulièrement utiles lorsque vous n'avez pas besoin d'informations détaillées,
mais uniquement de consulter des totaux.
Par exemple, vous voulez connaître le nombre total des commandes reçues et la
moyenne du montant de chaque commande. Pour ce type de requête, vous
appliquez la fonction COUNT (Comptage) au champ ID Commande, et la fonction
AVG (moyenne) au champ Montant. La requête calcule les informations de résumé
et vous fournit les résultats voulus.

Pour résumer des données à l'aide d'une fonction de résumé


1 Sélectionnez le champ à résumer dans la zone de liste Champs de requête.

2 Dans la zone de liste déroulante Total, choisissez la fonction de résumé que


vous désirez appliquer au champ en surbrillance.
 COUNT( ) compte le nombre de valeurs dans un groupe.
 SUM( ) ajoute les valeurs d'un groupe pour générer un total.
 AVG( ) calcule la moyenne des valeurs d'un groupe.
 MIN( ) trouve la valeur minimale d'un groupe.
 MAX( ) trouve la valeur maximale d'un groupe.

Crystal Reports Guide de l’utilisateur 659


scr8.book Page 660 Monday, April 2, 2001 12:29 PM

Le Crystal SQL Designer

Tout autre champ apparaissant dans la zone Champs de requête peut être
utilisé pour effectuer un tri.

Sélection des groupes à inclure dans une requête


1 Sélectionnez dans la zone Champs de base de données le champ à résumer.

2 Sélectionnez dans la zone de liste déroulante Total la fonction de résumé à


appliquer au champ sélectionné.
3 Cliquez sur l’onglet Sélectionner.

4 Sélectionnez la fonction de résumé dans la zone de liste Champs de base de


données.

660 Crystal Reports Guide de l’utilisateur


scr8.book Page 661 Monday, April 2, 2001 12:29 PM

29 : Le Crystal SQL Designer

5 Cliquez sur Ajouter.


Le champ sera ajouté à la zone de liste Champs de sélection.
6 Utilisez les listes déroulantes de critères de sélection pour spécifier quelles
valeurs de résumé de groupe basées sur la fonction de résumé apparaîtront
dans le résultat.

Tri et regroupement d'informations


Vous pouvez regrouper les données en les triant, de façon à ce que les enregistrements
qui comportent des données identiques soient regroupés dans la liste, ou en les
résumant avec des fonctions de résumé pour ne pas afficher de données répétitives.

Pour procéder à un regroupement par tri de données


1 Sélectionnez le champ à trier dans la zone Champs de base de données de
l'onglet Tri.
2 Cliquez sur Ajouter.
Le champ sera ajouté à la zone de liste Champs de groupe.
3 Dans la liste déroulante Ordre, sélectionnez l'ordre selon lequel les données
doivent être triées.
 Dans l'ordre croissant : de A à Z
 Dans l'ordre décroissant : de Z à A
 Dans l'ordre d'origine : l'ordre dans lequel Crystal Reports reçoit les
enregistrements. Dans la plupart des cas, il s'agit de l'ordre des données
dans votre base de données.

4 Répétez si nécessaire ces étapes pour chaque champ.


5 Cliquez sur Suivant. L'onglet Sélectionner apparaît.

Crystal Reports Guide de l’utilisateur 661


scr8.book Page 662 Monday, April 2, 2001 12:29 PM

Le Crystal SQL Designer

Spécification des enregistrements à inclure dans une requête


1 Sélectionnez dans la zone de liste Champs de base de données le champ
contenant les données que vous voulez filtrer ou spécifier.
2 Cliquez sur Ajouter.
Le champ sera ajouté à la zone de liste Champs de sélection.
3 A l’aide des listes déroulantes de critères de sélection, spécifiez les filtres/
critères de sélection applicables au champ.
4 Répétez les étapes 2 et 3 pour chaque champ apparaissant dans la zone de liste
Champs de sélection. Cela améliorera les performances puisque seuls les
enregistrements correspondants aux critères de sélection spécifiés seront inclus.

5 Cliquez sur Suivant.


L'onglet SQL apparaît.

Modification de l'instruction SQL


1 Apportez des modifications à l'instruction SQL selon vos besoins.
2 Cliquez sur Terminer.
3 Cliquez sur Oui pour traiter la requête.
La fenêtre du Crystal SQL Designer apparaît avec les résultats de votre requête.

662 Crystal Reports Guide de l’utilisateur


scr8.book Page 663 Monday, April 2, 2001 12:29 PM

29 : Le Crystal SQL Designer

Création d'une requête à partir d’une requête Crystal


existante
Accès au Crystal SQL Designer
1 Dans le menu Démarrer, sélectionnez Programmes, puis Crystal Reports
Tools, puis cliquez sur Crystal SQL Designer.
2 Dans le menu Fichier, cliquez sur Nouveau.
La boîte de dialogue Nouvelle requête apparaît.
3 Cliquez sur Utiliser une requête Crystal existante.

4 Sélectionnez le fichier de requête (*.QRY) sur lequel vous voulez baser votre
nouvelle requête.
5 Cliquez sur OK.
Le programme exécute la requête SQL existante et affiche la série de données.
6 Dans le menu Edition, cliquez sur Requête.
L’Expert SQL apparaît avec les spécifications de la requête sélectionnée en place.

Crystal Reports Guide de l’utilisateur 663


scr8.book Page 664 Monday, April 2, 2001 12:29 PM

Création d'une requête à partir d’une requête Crystal existante

7 A l'aide de l'Expert SQL, procédez aux modifications nécessaires.


8 Cliquez sur Terminer après avoir effectué toutes les modifications.
9 Cliquez sur Oui pour traiter la requête.
La fenêtre du Crystal SQL Designer apparaît avec les résultats de votre requête.
10 Sélectionnez la commande Enregistrer sous du menu Fichier pour enregistrer
la nouvelle requête sous un autre nom.
La nouvelle requête est enregistrée dans un fichier distinct et votre requête
source demeure inchangée.

Sélection d'une requête destinée à un état


1 Dans le menu Démarrer, sélectionnez Programmes, puis cliquez sur Crystal
Reports.
2 Dans le menu Fichier, cliquez sur Nouveau.
La Collection d'états Crystal Report apparaît.
3 Vérifiez que Standard est sélectionné, puis cliquez sur OK.
L'Expert Etat Standard apparaît.
4 Cliquez sur Requête SQL Crystal dans l'onglet Données.
La boîte de dialogue Explorateur de données apparaît.
5 Développez le dossier Fichiers Requête SQL Crystal afin de repérer le fichier
des requêtes (.qry) que vous allez utiliser pour créer le nouvel état.
Remarque : Vous ne pouvez pas utiliser plus d'un fichier de requête par état.
6 Cliquez sur Ouvrir.
Le fichier de requête de votre état est ajouté à l'onglet Données.

664 Crystal Reports Guide de l’utilisateur


scr8.book Page 665 Monday, April 2, 2001 12:29 PM

29 : Le Crystal SQL Designer

7 Parcourez les onglets de l'Expert Etat Standard pour terminer la conception de


l'état.

Création d'un champ de paramètre pour l'utilisation


dans une requête
Un champ de paramètre peut être créé lors de la visualisation d'une requête dans
le Crystal SQL Designer.
1 Dans le menu Edition du Crystal SQL Designer, cliquez sur Champ de
paramètre.
La boîte de dialogue Nouveau apparaît.
2 Entrez le nom que vous voulez utiliser pour identifier le paramètre, puis
cliquez sur OK.
La boîte de dialogue Champ de paramètre apparaît.

3 Entrez les informations suivantes dans les champs :


 Texte d'invite
Entrez le texte que vous voulez voir apparaître dans l'invite du
programme.
 Type de valeur
Entrez le type de données du champ de paramètre.
 Valeur d'invite par défaut
Entrez la valeur que vous voulez que le programme utilise si vous ne
fournissez aucune valeur.
 Champ à parcourir
Utilisez cette liste déroulante pour spécifier un champ par défaut.
4 Cliquez sur OK.
Le champ de paramètre peut maintenant être utilisé dans la requête.

Crystal Reports Guide de l’utilisateur 665


scr8.book Page 666 Monday, April 2, 2001 12:29 PM

Utilisation d'une requête SQL conçue dans une autre application

Utilisation d'une requête SQL conçue dans une autre


application
1 Copiez votre instruction SQL dans le Presse-papiers de Windows.
La plupart des éditeurs SQL vous permettent d'effectuer cette opération à l'aide
de la combinaison de touches Ctrl-C.
2 Dans le menu Démarrer, sélectionnez Programmes, puis Crystal Reports
Tools, puis cliquez sur Crystal SQL Designer.
3 Dans le menu Fichier, cliquez sur Nouveau.
La boîte de dialogue Nouvelle requête apparaît.
4 Cliquez sur Entrer une instruction SQL directement.
La boîte de dialogue Connexion au serveur apparaît.
5 Sélectionnez le type de serveur et cliquez sur OK.
La boîte de dialogue Connexion à SQL Server apparaît.
6 Saisissez votre ID utilisateur et le mot de passe pour vous connecter au serveur
SQL, puis cliquez sur OK.
Un message vous indique alors si la connexion s'est effectuée correctement.
7 Cliquez sur OK.
La boîte de dialogue Entrer une instruction SQL apparaît.
8 Entrez l'instruction en cliquant n'importe où dans la zone SQL et en appuyant
sur Ctrl-V, ou cliquez sur Coller pour coller l'instruction dans la zone SQL.

Modifiez l'instruction SQL à partir de la zone SQL. Si nécessaire, supprimez la


requête et créez-en une autre.

666 Crystal Reports Guide de l’utilisateur


scr8.book Page 667 Monday, April 2, 2001 12:29 PM

29 : Le Crystal SQL Designer

9 Cliquez sur OK.


10 Cliquez sur Oui pour traiter la requête.
11 Dans le menu Fichier, cliquez sur Enregistrer pour enregistrer la nouvelle
requête.
Vous obtenez ainsi une nouvelle requête SQL utilisable avec Crystal Reports
comme n'importe quel autre fichier SQL.
Vous pouvez également importer une instruction SQL enregistrée au format
ASCII. Pour cela, suivez les étapes 2 à 6 pour ouvrir la boîte de dialogue Entrée
d'une instruction SQL. Connectez-vous ensuite à la source de données ODBC, et
cliquez sur Importer pour importer le fichier texte (contenant l'instruction SQL).

Crystal Reports Guide de l’utilisateur 667


scr8.book Page 668 Monday, April 2, 2001 12:29 PM

Utilisation d'une requête SQL conçue dans une autre application

668 Crystal Reports Guide de l’utilisateur


scr8.book Page 669 Monday, April 2, 2001 12:29 PM

Dictionnaires 30

Les dictionnaires sont des vues structurées et simplifiées


des données pouvant être créées pour certaines ou toutes les
personnes d'une organisation. En utilisant les dictionnaires,
les utilisateurs ne voient que les informations dont ils ont
besoin et telles que vous voulez qu'ils les voient. Les
dictionnaires réduisent le coût et le temps de l’assistance
technique, et réduisent l'usage erroné, les pertes et les
dégâts occasionnés aux données. Ce chapitre décrit la mise
en place et l'utilisation de dictionnaires pour l'amélioration
de la sécurité et de l'efficacité des organisations.

Crystal Reports Guide de l’utilisateur 669


scr8.book Page 670 Monday, April 2, 2001 12:29 PM

Généralités sur les dictionnaires

Généralités sur les dictionnaires


Un dictionnaire est un affichage structuré et simplifié des données que vous
pouvez créer pour certains ou tous les individus dans votre entreprise qui utilisent
Crystal Reports.
Contrairement à certains systèmes, qui contraignent les utilisateurs à accéder aux
données par une méta-couche de distribution des données, les dictionnaires sont
des composants en option. L'utilisateur peut toujours accéder directement aux
données. Les dictionnaires fournissent simplement tous les avantages sans
appliquer de restrictions.
Les dictionnaires vous permettent :
 de concevoir un affichage unique et dynamique de toutes les données requises
pour créer des états et des requêtes ;
 d’organiser les données et renommer les tables et champs pour que les
utilisateurs puissent comprendre le contenu et le but des données ;
 de créer des formules de manipulation complexes des données auxquelles les
utilisateurs ont accès sans connaître les concepts de formule.
Remarque : L’Editeur de formule utilisé dans Crystal Dictionaries n’est pas aussi
complet que celui utilisé dans Crystal Reports.
Les dictionnaires réduisent l'usage erroné, les pertes et les dégâts occasionnés aux
données. Lorsque vous créez un état à l’aide d’un dictionnaire, les seules données
que vous pouvez insérer dans l’état sont les données du dictionnaire. Vous ne
pouvez pas utiliser un dictionnaire et une autre source de données dans le même
état. Dans la mesure où les dictionnaires sont souvent utilisés pour imposer la
sécurité sur les données, permettre l’accès illimité aux données dans un état basé
sur un dictionnaire romprait cette sécurité.
Remarque : Vous pouvez inclure un sous-état basé sur une autre source de
données dans un état principal qui est basé, lui-même, sur un dictionnaire.
Enfin, les dictionnaires offrent un moyen facile de changer la série de données
sous-jacentes sans changer l’affichage de données visibles aux utilisateurs. Vous
pouvez changer les noms de champ et de table dans les données sous-jacentes, par
exemple. Vous pouvez, ensuite, remapper le dictionnaire pour désigner les
nouveaux noms de champ et de table sans changer les pseudonymes affectés aux
données. Les utilisateurs créent leurs propres états à l’aide de l'interface qu’ils
utilisaient déjà, de façon transparente.
Une fois créé, un dictionnaire agit comme un filtre en affichant des données
complexes d’une façon claire et facile à comprendre pour tout utilisateur.

670 Crystal Reports Guide de l’utilisateur


scr8.book Page 671 Monday, April 2, 2001 12:29 PM

30 : Dictionnaires

Utilisation d'un dictionnaire


Les dictionnaires sont souvent créés par des responsables informatiques ou des
administrateurs du réseau qui gèrent et règlent les bases de données d’une entreprise.
Ces bases de données sont souvent de grands rassemblements de données répandues
parmi plusieurs tables avec des centaines, voire des milliers de champs. Un
utilisateur qui essaye de trouver et d’utiliser une petite série de données pour un état
peut facilement se perdre parmi les noms de table, de champ et de base de données.
En créant un dictionnaire personnalisé qui comporte une quantité minime de
données spécifiques au travail d'un petit groupe d’utilisateurs, vous offrez à ces
utilisateurs un accès clair et facile à toutes les données dont ils ont besoin. Par
exemple, le dictionnaire du département de comptabilité peut être différent de
celui des ventes ou de celui du service personnel. Quelques données peuvent être
communes à plusieurs dictionnaires, mais les utilisateurs peuvent les appeler et les
organiser de la manière qui leur convient.

Création d'un nouveau dictionnaire


1 Dans le menu Démarrer, sélectionnez Programmes, puis Crystal Reports
Tools, puis cliquez sur Crystal Dictionaries.
2 Cliquez sur le bouton Nouveau dans la barre d’outils standard.
L’Expert Dictionnaire apparaît.

Cet expert contient plusieurs onglets. Chaque onglet est numéroté pour vous
aider dans le processus de développement pas à pas.
Remarque : L’onglet Liaisons apparaît seulement lorsque vous ajoutez plus
d’une table à votre dictionnaire.

Crystal Reports Guide de l’utilisateur 671


scr8.book Page 672 Monday, April 2, 2001 12:29 PM

Ajout de tables à un dictionnaire

3 Pour accéder aux options dans chaque onglet, cliquez simplement sur l’onglet.
Les informations et les contrôles requis pour l’étape sélectionnée s’afficheront
dans la boîte de dialogue. Vous pouvez vous servir aussi des boutons Suivant >>
et << Précédent pour passer à l’onglet suivant (droit) et précédent (gauche),
respectivement.
Remarque : L'ordre des étapes est important pendant le processus de création.
Par exemple, vous devez sélectionner des tables avant de pouvoir sélectionner les
champs de ces tables. Pour cette raison, il se peut que quelques onglets ne soient
pas disponibles tant que vous n'avez pas exécuté les étapes requises auparavant.
4 Cliquez sur le bouton Enregistrer en bas de l’Expert pour enregistrer à tout
moment.
Remarque : Un dictionnaire devant comporter quelques données d’une base
de données, le bouton Enregistrer sera désactivé jusqu’à ce que vous ajoutiez
au moins un champ dans la zone de liste “ En-têtes et champs dans
l'affichage ” de l’onglet Affichage.

Ajout de tables à un dictionnaire


Ajout d'un fichier de données
1 Dans l’Expert Dictionnaire, cliquez sur l’onglet Tables.

2 Cliquez sur le bouton Fichier de données.


La boîte de dialogue Sélectionner un fichier de base de données apparaît.
3 Utilisez les options dans cette boîte de dialogue pour sélectionner un fichier de
base de données.

672 Crystal Reports Guide de l’utilisateur


scr8.book Page 673 Monday, April 2, 2001 12:29 PM

30 : Dictionnaires

4 Cliquez sur le bouton OK pour ajouter le fichier. Si le fichier de base de


données sélectionné contient seulement une table, cette table apparaîtra dans
la zone de liste de l’onglet Tables.
Remarque :
 Lorsque vous avez plus d’une table à ajouter à partir du fichier de base de
données sélectionné, la boîte de dialogue Sélectionner des tables apparaît.
Mettez en surbrillance les tables que vous voulez inclure à partir de la liste
et cliquez sur OK. Seules les tables que vous avez sélectionnées
apparaîtront dans la zone de liste de l’onglet Tables. Voir “Conception de
l'affichage des données” à la page 676.
 Vous ne pouvez pas créer un dictionnaire sur la base de deux sources de
données différentes.
5 Répétez les étapes 3 et 4 pour chaque fichier de base de données que vous
voulez ajouter au dictionnaire.
6 Cliquez sur le bouton Terminé lorsque vous avez fini d’ajouter des fichiers de
base de données.
Remarque : Lorsque vous ajoutez un fichier de base de données, les tables et les
champs de ce fichier n’apparaîtront pas nécessairement à l’utilisateur qui ouvre le
dictionnaire depuis le Report Designer. Seules les tables disponibles pour le
concepteur du dictionnaire apparaissent dans l’onglet Tables. Pour ajouter des
champs spécifiques, voir “Conception de l'affichage des données” à la page 676.
Il se peut que vous deviez aussi choisir un fichier index qu'une des tables de
base de données utilisera. Vous pouvez le faire dans l’onglet Tables.

7 Mettez en relief la table de base de données pour laquelle vous voulez


sélectionner un index spécifique.
8 Cliquez sur le bouton Index.
La boîte de dialogue Sélectionner un nouvel emplacement apparaît.

Crystal Reports Guide de l’utilisateur 673


scr8.book Page 674 Monday, April 2, 2001 12:29 PM

Ajout de tables à un dictionnaire

9 Utilisez les commandes de cette boîte de dialogue pour sélectionner un


nouveau fichier index et cliquez sur OK.
Remarque : Par défaut, l’Expert Dictionnaire utilisera n’importe quel fichier
index au nom identique à celui du fichier de base de données. Vous ne devez
sélectionner un fichier index que si le nom de l'index que vous voulez utiliser
est différent de celui du fichier de base de données.

Ajout d'une source de données SQL ou ODBC


1 Dans l’Expert Dictionnaire, cliquez sur l’onglet Tables.

2 Cliquez sur le bouton SQL/ODBC.


La boîte de dialogue Connexion au serveur apparaît.

3 Sélectionnez une source de données SQL ou ODBC puis cliquez sur OK


lorsque vous avez terminé.
Si la source de données requiert des informations d’ouverture de session, telles
que nom d’utilisateur et mot de passe, la boîte de dialogue Connexion au
serveur SQL apparaîtra.
4 Connectez-vous à la source de données ODBC comme vous vous connectez
habituellement à votre application SGBD.

674 Crystal Reports Guide de l’utilisateur


scr8.book Page 675 Monday, April 2, 2001 12:29 PM

30 : Dictionnaires

5 Cliquez sur OK.


La boîte de dialogue Choisir une table SQL apparaît.
6 Sélectionnez une base de données dans la zone de liste Bases de données SQL.
La zone de liste Tables SQL affiche l'ensemble des tables de la base de données
sélectionnée.
7 Sélectionnez la table que vous souhaitez inclure et cliquez sur Ajouter pour
l’ajouter à votre dictionnaire
8 Répétez l’étape 7 pour chaque table que vous voulez ajouter au dictionnaire.
9 Cliquez sur Terminé lorsque vous avez fini.
Remarque : Lorsque vous ajoutez une source ODBC ou SQL depuis l’onglet
Tables, les tables et les champs de cette source de données n’apparaîtront pas
nécessairement à l’utilisateur qui ouvre le dictionnaire. Les tables qui
apparaissent dans l'onglet Tables sont les seules tables dont le créateur du
dictionnaire dispose pour ajouter au dictionnaire. Voir “Conception de l'affichage
des données” à la page 676.

Liaisons de plusieurs tables


Si vous avez ajouté plus d’une table de base de données à votre dictionnaire,
cliquez sur l’onglet Liaisons de l’Expert Dictionnaire.

Création d'une liaison


 Si une liaison entre deux tables est possible, vous pourrez créer une nouvelle
liaison en faisant glisser un nom de champ d’une table à l’autre. L’application
dessinera une nouvelle liaison fléchée entre les tables.
 Si vous cliquez sur le bouton Liaison intelligente, l'application crée des liens
logiques entre les tables du dictionnaire.

Crystal Reports Guide de l’utilisateur 675


scr8.book Page 676 Monday, April 2, 2001 12:29 PM

Conception de l'affichage des données

Modification d'un lien


 Si vous sélectionnez une liaison et cliquez sur le bouton Options, la boîte de
dialogue Options de liaison apparaît. Vous pouvez utiliser les commandes de
cette boîte de dialogue pour effectuer n’importe quelle modification nécessaire
à la liaison en surbrillance.

Conception de l'affichage des données


Sélection des tables et champs pour les utilisateurs
Les tables que vous avez ajoutées à votre dictionnaire à l’aide de l’onglet Tables ne
sont pas automatiquement disponibles aux utilisateurs. Vous devez tout d'abord
afficher leurs champs avec l’onglet Affichage. L’onglet Affichage vous permet de
concevoir l'affichage de vos données pour les utilisateurs.
1 Dans l’Expert Dictionnaire, cliquez sur l’onglet Affichage.

2 Sélectionnez le champ que vous voulez rendre disponible aux utilisateurs dans
la liste Tables et champs de base de données.
3 Cliquez sur le bouton Ajouter.
Le champ sera ajouté à la liste En-têtes et champs dans l'affichage.

Pour rendre une table et tous ses champs disponibles aux utilisateurs
Sélectionnez le nom de la table dans la zone de liste Tables et champs de base de
données, puis cliquez sur Ajouter. Le nom de la table devient un titre de champ
dans la zone de liste En-têtes et champs dans l'affichage. Tous les champs de la
table apparaissent sous le nouvel en-tête de champ.

676 Crystal Reports Guide de l’utilisateur


scr8.book Page 677 Monday, April 2, 2001 12:29 PM

30 : Dictionnaires

Eléments clés
Lors de l’ajout et de l’organisation des tables et des champs dans l'onglet
Affichage, souvenez-vous des points suivants :
 Les tables ne s’affichent pas à l’utilisateur du dictionnaire sous forme de tables de
base de données. Les noms de table deviennent des en-têtes de champ. Ces en-
têtes ont la même apparence que des tables lorsque l’utilisateur conçoit un état
basé sur votre dictionnaire. Cependant, les en-têtes de champ ne représentent
pas nécessairement des tables de base de données qui existent réellement.
 Il est possible d’ajouter les en-têtes de champ n’importe où dans la zone de
liste En-têtes et champs dans l'affichage pour fournir une organisation des
données plus claire à vos utilisateurs. Voir “Ajout d'un nouvel en-tête de
champ” à la page 679.
 Le nombre de champs à ajouter à la zone de liste En-têtes et champs affichés
est illimité. Un champ ne doit pas forcément apparaître sous un en-tête de
champ correspondant à la table dans laquelle se trouve le champ. Organisez
les champs dans n’importe quel ordre et sous tout en-tête de champ qui sera le
meilleur pour vos utilisateurs.
 Vous devez grouper les champs sous des en-têtes de champ. Si vous ajoutez
un champ unique à la zone de liste En-têtes et champs dans l'affichage et
qu'aucun en-tête de champ n’y apparaît (la zone de liste est vide), l’application
vous en fournira un par défaut et ajoutera le champ sélectionné au-dessous de
cet en-tête de page.
 Vous pouvez renommer à votre convenance les champs et les en-têtes de
champ qui apparaissent dans la zone de liste En-têtes et champs dans
l'affichage. Voir “Modification du nom des champs, d'en-têtes de champs et de
formules” à la page 680.

Ajout de formules à l'affichage


1 Dans l’Expert Dictionnaire, cliquez sur l’onglet Affichage.

Crystal Reports Guide de l’utilisateur 677


scr8.book Page 678 Monday, April 2, 2001 12:29 PM

Conception de l'affichage des données

2 Cliquez sur le bouton Nouvelle formule.


La boîte de dialogue Insérer une formule s’affiche.

3 Saisissez un nom pour votre formule et cliquez sur OK lorsque vous avez terminé.
La boîte de dialogue Modifier la formule s’affiche.
4 Utilisez cette boîte de dialogue pour créer une formule pour le dictionnaire, de
la même manière que vous créeriez une formule pour un état.
Remarque : les dictionnaires Crystal ne prennent en charge que les formules
créées avec la syntaxe Crystal. Voir “Création de formules avec la syntaxe
Basic” à la page 419.
Certaines fonctions Crystal ne sont pas disponibles dans l'éditeur de formules
du concepteur de dictionnaire.
5 Cliquez sur OK lorsque vous avez terminé.
La nouvelle formule sera ajoutée à la zone de liste Tables et champs de base
de données.
6 Pour ajouter la formule que vous venez de créer à l'affichage, sélectionnez-la
dans la zone de liste Tables et champs de base de données.
7 Cliquez sur le bouton Ajouter. La formule sera ajouté à la zone de liste En-
têtes et champs dans l'affichage.
8 Pour modifier une formule, sélectionnez-la et cliquez sur le bouton Modifier.
Remarque : Normalement, les formules sont représentées avec un symbole @. Le
nom de formule s’affiche dans la zone de liste En-têtes et champs affichés sans le
symbole @ pour masquer le fait que c’est une formule.

678 Crystal Reports Guide de l’utilisateur


scr8.book Page 679 Monday, April 2, 2001 12:29 PM

30 : Dictionnaires

Organisation de la vue des données


Ajout d'un nouvel en-tête de champ
1 Dans l’Expert Dictionnaire, cliquez sur l’onglet Affichage.

2 Sélectionnez le champ qui sera le premier à apparaître sous le nouvel en-tête


de champ dans la zone de liste Tables et champs de base de données.
3 Cliquez sur le bouton En-tête.
La boîte de dialogue Insérer un en-tête de champ s’affiche.

4 Saisissez le nouveau nom dans cette zone de liste puis cliquez sur OK.
Le nouvel en-tête de champ apparaît dans cette liste, comme spécifié.

Crystal Reports Guide de l’utilisateur 679


scr8.book Page 680 Monday, April 2, 2001 12:29 PM

Organisation de la vue des données

Déplacement de champs/en-têtes de champs


1 Dans l’Expert Dictionnaire, cliquez sur l’onglet Affichage.
2 Sélectionnez l’en-tête de page ou le champ que vous voulez déplacer depuis la
zone de liste En-têtes et champs dans l'affichage et faites-le glisser vers le haut
ou vers le bas à l’endroit voulu.
L’ordre dans lequel les champs et les en-têtes de champ apparaissent dans cette
liste est celui qui apparaît aux utilisateurs.
Remarque : Lors de l’organisation des champs et des en-têtes de champ,
souvenez-vous que les en-têtes de champ prennent la place des tables de base de
données. A cause de cette organisation, le premier élément dans la zone de liste
doit être un en-tête de champ.

Modification du nom des champs, d'en-têtes de champs et de formules


1 Dans l’Expert Dictionnaire, cliquez sur l’onglet Affichage.
2 Sélectionnez l’en-tête ou le champ que vous voulez renommer.
3 Cliquez sur le bouton Pseudo.

Si vous choisissez un en-tête, la boîte de dialogue Définir un pseudonyme de


table s’affiche.
Si vous choisissez un champ, la boîte de dialogue Définir un pseudonyme de
champ s’affiche.

680 Crystal Reports Guide de l’utilisateur


scr8.book Page 681 Monday, April 2, 2001 12:29 PM

30 : Dictionnaires

4 Saisissez le nouveau nom dans cette zone de liste puis cliquez sur OK.
Remarque : Ce processus ne renomme pas réellement les tables et les champs.
Seul le pseudonyme qui s’affiche à l’utilisateur ouvrant le dictionnaire est changé.
Le fichier de base de données d’origine n’est pas touché.

Mise à jour de l’emplacement d’une table de base de données


1 Dans l’Expert Dictionnaire, cliquez sur l’onglet Tables.

2 Dans la liste, sélectionnez la table ou le champ qui a changé de nom ou


d’emplacement.
3 Cliquez sur le bouton Emplacement.
Remarque : Souvenez-vous que les noms de table qui apparaissent sont des
pseudonymes plutôt que les noms réels de la table de base de données.
Si la table provient d’un fichier de données, la boîte de dialogue Sélectionner un
nouvel emplacement apparaît.
Si la table provient d’un serveur SQL ou d’une autre source de données ODBC,
la boîte de dialogue Choisir une table SQL apparaît.
4 Sélectionnez le nouveau nom ou nouvel emplacement de la table de base de
données depuis la boîte de dialogue qui s’affiche et cliquez sur OK.

Crystal Reports Guide de l’utilisateur 681


scr8.book Page 682 Monday, April 2, 2001 12:29 PM

Organisation de la vue des données

Ajout du texte d’aide


Pour maximiser l’efficacité de votre dictionnaire, Crystal Reports vous permet
d’ajouter du texte d’aide. Chaque fois que quelqu’un a besoin de clarification sur
des éléments de votre dictionnaire, il peut pointer vers l’élément en question et un
texte d’aide s’affiche dans une fenêtre déroulante pour l’aider.
1 Dans l’Expert Dictionnaire, cliquez sur l’onglet Affichage.

2 Sélectionnez le champ auquel vous voulez ajouter du texte d’aide dans la zone
de liste Tables et champs de base de données.
3 Cliquez sur le bouton Texte Aide.
La boîte de dialogue Modifier le texte d’aide s’affiche.

4 Saisissez le texte d’aide. Cliquez sur OK lorsque vous avez terminé.


Lorsque l’utilisateur choisit un champ ou un en-tête de champ et place le
curseur sur l’élément sélectionné, le texte d’aide apparaît dans une fenêtre.

682 Crystal Reports Guide de l’utilisateur


scr8.book Page 683 Monday, April 2, 2001 12:29 PM

30 : Dictionnaires

Ajout de graphiques au dictionnaire


1 Dans l’Expert Dictionnaire, cliquez sur l’onglet Image.

2 Cliquez sur le bouton Ajouter.


La boîte de dialogue Ouvrir un fichier apparaît.
3 Utilisez les commandes de la boîte de dialogue Ouvrir un fichier pour mettre
en relief un fichier image et cliquez sur OK pour l’ajouter au dictionnaire.
Les dictionnaires gèrent les formats graphiques suivants : Windows bitmap
(.gif), PC Paintbrush (.PCX), Tiff (.TIF), JPEG (.jpg, .jpeg) et TARGA (.TGA). Le
fichier image apparaît dans la zone de liste de l’onglet Image.

Organisation des graphiques


Vous voudrez peut-être changer le nom d'une image, mettre à jour son
emplacement ou la supprimer. Sélectionnez l’image voulue et cliquez sur le
bouton approprié.

Crystal Reports Guide de l’utilisateur 683


scr8.book Page 684 Monday, April 2, 2001 12:29 PM

Création de données exemple pour consultation par les utilisateurs

1 Sélectionnez l’image voulue dans la zone de liste Ajoutez des images au


dictionnaire, modifiez des noms ou mettez à jour des emplacements.
2 Cliquez sur le bouton Pseudonyme afin de la renommer ;
 Cliquez sur le bouton Supprimer afin de supprimer l’image de la liste ;
 Cliquez sur le bouton Emplacement afin de la déplacer.
 Si vous avez choisi le bouton Pseudonyme, la boîte de dialogue Définir un
alias de graphique apparaît.

3 Saisissez un nouveau nom pour l’image dans cette zone modifiable, puis
cliquez sur OK.
Remarque : Si vous avez choisi le bouton Emplacement pour définir le nouvel
emplacement de l’image, la boîte de dialogue Sélectionner un nouvel
emplacement apparaît. Utilisez cette boîte de dialogue pour trouver un nouveau
nom et/ou un nouvel emplacement du fichier image.

Création de données exemple pour consultation par


les utilisateurs
L’onglet Exemple de données dans l’Expert Dictionnaire vous laisse créer un jeu
de données d'exemple personnalisé qui apparaîtra aux utilisateurs lorsqu’ils
consulteront les données d’un champ. Les données qu’ils voient peuvent ou non
refléter les données réelles de la base de données, selon les données d'échantillon
que vous concevez.
1 Dans l’Expert Dictionnaire, cliquez sur l’onglet Exemple de données.
2 Si les données ont changé, cliquez sur Mettre à jour pour obtenir une liste des
nouvelles données.

684 Crystal Reports Guide de l’utilisateur


scr8.book Page 685 Monday, April 2, 2001 12:29 PM

30 : Dictionnaires

3 Sélectionnez un champ de la zone de liste En-têtes et champs dans l’affichage


que vous voulez rendre consultable.
4 Cliquez sur le bouton Collecter. Les valeurs de champ apparaîtront dans la
zone de liste Données parcourues.
5 Pour changer n'importe quelle donnée de la liste des données parcourues,
sélectionnez une valeur puis cliquez sur Supprimer pour supprimer cette
valeur, ou sur Modifier pour la modifier.
Si vous cliquez sur le bouton Modifier, la boîte de dialogue Modifier une valeur
apparaît.

6 Entrez la nouvelle valeur dans cette zone modifiable et cliquez sur OK lorsque
vous avez terminé.
La nouvelle valeur apparaîtra dans la zone de liste Données parcourues.
Remarque : le fait d'effacer et de modifier des valeurs dans la zone de liste Données
parcourues de l’onglet Exemple de données ne change pas le fichier de base de
données. Cela change seulement la liste des valeurs qui apparaissent à l’utilisateur
chaque fois que la boîte de dialogue Parcourir et coller est ouverte. Ceci vous
permet de personnaliser l’aspect des données quand les utilisateurs consultent les
données sans changer réellement les données sur lesquelles ils établissent un état.

Crystal Reports Guide de l’utilisateur 685


scr8.book Page 686 Monday, April 2, 2001 12:29 PM

Utilisation d'un dictionnaire existant

Utilisation d'un dictionnaire existant


Accès à un dictionnaire pour un état
Quand vous créez un nouvel état dans Crystal Reports, vous pouvez sélectionner
un dictionnaire comme source de données. En utilisant un dictionnaire pour votre
état, les administrateurs peuvent surveiller les informations de la société qui sont
distribuées et les utilisateurs ne sont pas surchargés de données dont ils n’ont pas
besoin pour leurs états.
Remarque : Vous ne pouvez pas utiliser plus d’un fichier dictionnaire à la fois
dans un état. Il est également impossible de lier des champs de fichiers
dictionnaire à des champs d’autres tables de bases de données.

Pour accéder à un dictionnaire


1 Cliquez sur le bouton Nouveau dans la barre d’outils standard de Crystal Reports.
La Collection d’états Crystal Report apparaît.

2 Cliquez sur le bouton Utilisation de l’Expert Etat.


3 Sélectionnez le type d'état que vous voulez créer depuis la liste Sélectionner
un Expert.
4 Cliquez sur OK.
5 Dans la boîte de dialogue Expert Etat, cliquez sur Dictionnaire Crystal.
6 Sélectionnez le dictionnaire à utiliser.
Vous revenez alors à l'Expert Etat. Les en-têtes de champs des données du
dictionnaire sont affichés sur la droite.

686 Crystal Reports Guide de l’utilisateur


scr8.book Page 687 Monday, April 2, 2001 12:29 PM

30 : Dictionnaires

7 Cliquez sur l'onglet Champs.


Les champs de base de données du dictionnaire sont affichés.
8 Sélectionnez les champs de base de données que vous voulez inclure dans
votre état.
9 Cliquez sur Ajouter.
10 Cliquez sur Suivant pour vous déplacer vers le dossier suivant pour que
l'Expert Etat vous aide à trier les données.
11 Continuez à cliquer sur Suivant si vous voulez que l'Expert Etat vous aide à
concevoir le reste de l'état.
12 Cliquez sur Concevoir l'état pour accéder à votre état.
L'Expert Etat Crystal Report se ferme et crée un état basé sur vos spécifications.

Modification d'un dictionnaire existant


1 Cliquez sur le bouton Ouvrir de la barre d’outils de Crystal Dictionaries.
La boîte de dialogue Ouvrir un fichier apparaît.
2 Sélectionnez le fichier dictionnaire existant et cliquez sur OK.
L’Expert Dictionnaire apparaît.
3 Utilisez l’Expert Dictionnaire pour effectuer les modifications sur votre fichier
dictionnaire.

Conversion d'un fichier dictionnaire de version 4.x ou 5.x


1 Cliquez sur le bouton Ouvrir de la barre d’outils.
La boîte de dialogue Ouvrir un fichier apparaît.
2 Sélectionnez l'ancien fichier dictionnaire (*.DC5) et cliquez sur OK.
La boîte de dialogue Sélectionner l'affichage apparaît, listant les noms de tous
les affichages de l'ancien fichier dictionnaire.
3 Sélectionnez l’affichage que vous voulez convertir dans le nouveau
dictionnaire et cliquez sur OK.
L’Expert Dictionnaire apparaît avec les données de l’affichage que vous avez
sélectionné.
Remarque : Cette version de Crystal Dictionaries fournit une méthode plus
facile et plus puissante pour contrôler l’accès aux données par rapport aux
anciennes versions. Cependant, chaque affichage d’un ancien fichier
dictionnaire est manipulé comme un dictionnaire séparé dans cette version.
Un fichier dictionnaire plus ancien comporte par contre plusieurs affichages.
Pour convertir entièrement un fichier dictionnaire 4.x ou 5.x, vous devez

Crystal Reports Guide de l’utilisateur 687


scr8.book Page 688 Monday, April 2, 2001 12:29 PM

Utilisation d'un dictionnaire existant

ouvrir séparément chaque affichage dans le fichier et le sauvegarder en tant


que nouveau fichier dictionnaire.
4 Utilisez l’Expert Dictionnaire pour effectuer les changements dans votre
nouveau fichier.
5 Lorsque vous enregistrez votre fichier, il sera sauvegardé dans le nouveau
format de dictionnaire (*.DC5)

688 Crystal Reports Guide de l’utilisateur


scr8.book Page 689 Monday, April 2, 2001 12:29 PM

Modèle de traitement des états A

Cette annexe fournit des informations détaillées sur le modèle


de traitement d'état. Ce modèle détermine l'ordre d'accès et
de manipulation des données lors de la génération d'un état.

Crystal Reports Guide de l’utilisateur 689


scr8.book Page 690 Monday, April 2, 2001 12:29 PM

Généralités

Généralités
Crystal Reports effectue trois passages pour créer des états. Les sections ci-dessous
indiquent ce qui se passe pendant les différentes étapes de ce processus. Pour afficher
une représentation virtuelle, reportez-vous au diagramme à la fin de cette annexe.

Définition de la notion de “ passage ”


Un passage est un procédé que Crystal Reports utilise à chaque lecture et
manipulation des données. En fonction de la complexité des états, Crystal Reports
peut effectuer 1, 2 ou 3 passages sur les données. Cette fonctionnalité permet la
manipulation d'états et de formules complexes.

Pré-passage 1
Lorsque vous affichez l'aperçu d'un état, les premiers éléments à évaluer sont les
formules “ constantes ”. Ces formules conservent une valeur constante pour
l'ensemble de l'état. Elles ne changent pas d'un enregistrement à un autre. Par
exemple, 100* 30 est une formule constante. Les formules constantes sont évaluées
une fois pour toutes au début de la procédure de génération d'impression. Cette
phase est appelée “ BeforeReadingRecords ” (Avant de lire des enregistrements).
Si vous insérez un champ contenant une telle formule (100*30, par exemple) dans
la section Détails, la valeur reste de 3 000, quel que soit l’enregistrement.

Passage 1
Une fois le processus “ BeforeReadingRecords ” effectué, Crystal Reports
commence la lecture des enregistrements de base de données. Pendant cette
opération, les actions suivantes se produisent :
 Extraction des enregistrements. Lorsque cela est, la sélection des
enregistrements et le tri sont délégués à la base de données.
 Evaluation des formules récurrentes. Ces formules contiennent les champs de la
base de données, mais pas les références relatives aux sous-totaux et aux
résumés. Les formules contenant des références à des sous-totaux ou des
informations de résumé sont traitées au cours du deuxième passage. Cette phase
est appelée “ WhileReadingRecords ” (Lors de la lecture d’enregistrements).
 Application locale de la sélection d'enregistrements. Si la sélection
d'enregistrements est trop complexe pour être réduite vers la base de données,
elle est appliquée par Crystal Reports durant cette étape.
 Tri, groupement et calculs de totaux. Durant cette étape, Crystal Reports trie
les enregistrements, les sépare en groupes et calcule les sous-totaux et résumés
nécessaires pour chaque groupe.
 Génération de tables croisées.

690 Crystal Reports Guide de l’utilisateur


scr8.book Page 691 Monday, April 2, 2001 12:29 PM

A : Modèle de traitement des états

 Stockage des enregistrements sauvegardés. Une fois la totalisation terminée,


tous les enregistrements et les totaux sont stockés en mémoire et dans des
fichiers temporaires. Crystal Reports ne lit plus la base de données et utilise
ces données enregistrées pour tout traitement ultérieur.

Pré-passage 2
Durant le pré-passage 2, Crystal Reports trie les groupes de l'état pour le
regroupement N sup/inf ou le regroupement hiérarchique. Les enregistrements
ne sont pas lus au cours de ce processus. Au lieu de cela, Crystal Reports ne traite
que les instances de groupes du passage 1 et prend les N sup si cela est approprié
ou trie les groupes selon les paramètres de Regroupement hiérarchique spécifiés.

Passage 2
Crystal Reports effectue un second passage sur les données pour mettre en forme
les pages. Les pages sont mises en forme à la demande. Cela signifie que Crystal
Reports ne mettra pas en forme une page tant que cela ne sera pas requis par
l'utilisateur ou par le comptage du nombre total de pages lors du passage 3.
Au cours de la mise en forme des pages, Crystal Reports effectue ceci :
 Formule de sélection de groupe ;
 Totaux cumulés ;
 Calcul des formules marquées “ WhilePrinting Records ” ;
Ce sont les formules qui contiennent des références à des sous-totaux ou des
informations de résumé, connues aussi sous le nom de formules
“ HeureImpression ”. Ce moment d'évaluation est connu sous le nom de
“ WhilePrinting Records ”.
 Graphes et cartes ;
 Sous-états ;
 Génération de pages à la demande.
Remarque : Les sous-totaux, les totaux généraux et les résumés peuvent être
incorrects si l'état comprend une formule de sélection de groupe. Cela se produit car
les totaux généraux et les résumés sont calculés durant le passage 1, mais les
formules de sélection de groupe filtrent à nouveau les données au cours du passage
2. Les champs de totaux cumulés peuvent être utilisés à la place des résumés pour
effectuer des totaux sur les données avec une formule de sélection de groupe.

Passage 3
Durant le troisième et dernier passage, le nombre total de pages est calculé. Ceci
s'applique aux états qui utilisent les champs de variable correspondant au nombre
total de pages, ou Page N sur M.

Crystal Reports Guide de l’utilisateur 691


scr8.book Page 692 Monday, April 2, 2001 12:29 PM

Généralités

Organigramme multi-passages

Remarque : Bien que des sous-états apparaissent après le passage 2 dans


l'organigramme, vous pouvez utiliser des sous-états à la demande pour vous
assurer que votre état principal demeure un état à passage unique. Avec les sous-
états à la demande, Crystal Reports doit effectuer un second passage. Cependant,
ce deuxième passage ne commence pas avant l’exploration du sous-état. Par
conséquent, vous pouvez accroître les performances des états qui comportent des
sous-états en utilisant des sous-états à la demande.

692 Crystal Reports Guide de l’utilisateur


scr8.book Page 693 Monday, April 2, 2001 12:29 PM

Glossaire

accès
Accéder aux données signifie récupérer des données.

Acrobat Reader
Application utilisée pour consulter et imprimer des manuels en ligne.

application incorporante OLE


Application pouvant contenir et traiter des objets OLE créés dans d'autres applications
(telles que Paint ou Paintbrush). Crystal Reports est une application de ce type.

application serveur OLE


Application capable de créer des objets OLE pouvant être placés ensuite dans des
documents générés à l'aide d'applications incorporantes. Crystal Reports est une
application incorporante, tandis que Microsoft Word et Excel sont des applications
serveur.

argument
Elément ou groupe spécifique d'éléments indiquant l'objet auquel vous désirez
appliquer une G. Il fournit les informations nécessaires à l'exécution de la fonction.
La fonction Truncate, par exemple, nécessite des paramètres. Vous devez entrer un
argument qui spécifie l’élément à tronquer. Ainsi, dans la formule Crystal :
Truncate ({commandes.MONTANT DE COMMANDES})
où Truncate est la fonction et {commandes.MONTANT DE COMMANDES}
l'argument. C'est donc la valeur du champ {commandes.MONTANT DE
COMMANDES} qui sera tronquée.

attraction magnétique
L'attraction est une propriété “ magnétique ” qui permet d'attirer les objets voisins.
Crystal Reports dispose de deux éléments utilisant cette propriété : les guides et la
grille. Lorsqu'un objet est placé à proximité d'un guide ou d'une grille, le logiciel
le positionne et l'aligne de façon rigoureuse.

Crystal Reports Guide de l’utilisateur 693


scr8.book Page 694 Monday, April 2, 2001 12:29 PM

attribut
Caractéristique appliquée à un objet (police, couleur, etc.).

barres de défilement, (défiler)


Il arrive qu'une fenêtre ne puisse afficher qu'une portion du document. Elle inclut
dans ce cas des barres permettant de se déplacer dans le document pour le
visualiser intégralement.
Des barres de défilement apparaissent également lorsqu'une liste est trop longue
pour tenir dans la zone ou la fenêtre qui lui est impartie. Les barres de défilement
vous permettent de vous déplacer dans la liste. Cette opération est généralement
appelée “ défilement ”. Dans Crystal Reports, l'écran défile automatiquement
lorsque vous placez le curseur hors de la fenêtre et que vous maintenez le bouton
de la souris enfoncé.

barre d'outils
Barre placée en haut des fenêtres de Crystal Reports. Elle contient des boutons sur
lesquels il suffit de cliquer pour activer les commandes les plus utilisées.

barre d'outils de mise en forme


Affiche les boutons qui commandent les opérations de mise en forme les plus
courantes.

bases de données
Banques de données liées entre elles. Chaque unité (enregistrement) de la base de
données est généralement organisée selon un format fixe pour faciliter la recherche
de portions spécifiques des données. Chaque enregistrement comprend un ou de
plusieurs champs de données contenant un élément de données ( sa “ valeur ”).

base de données active


Base de données sélectionnée pour être utilisée dans un état. Pour activer une base,
vous disposez de deux commandes : commande Nouveau dans le menu Fichier et
Ajouter une base de données à l’état dans le menu Base de données.

bitmap
Fichier graphique pouvant être inséré dans un état.

694 Crystal Reports Guide de l’utilisateur


scr8.book Page 695 Monday, April 2, 2001 12:29 PM

Glossaire

cadre d’objet
Curseur rectangulaire facilitant le positionnement des champs de base de données
et des formules dans vos états. Il apparaît automatiquement dès la sélection d'un
champ ou la création d'une formule. Il suffit de valider les déplacements du cadre
à l'aide de la souris pour que le champ ou la formule vienne se placer à l'endroit
indiqué.

caractère générique
Caractère se substituant à un (?) ou plusieurs (*) caractères dans une chaîne. Une
recherche Dan*, par exemple, peut déboucher sur Danny et Daniel.

chaîne
Série de caractères rattachés (lettres, chiffres, symboles, espaces) stockés et utilisés
comme un texte. Le mot “ Bonjour ” est une chaîne, de même que la phrase
“ Commande nº2453 ” et le numéro de client “ B30-124-777 ”. Les chaînes sont
parfois dites chaînes de caractères, ou chaînes de texte.

chaîne nulle
Une chaîne nulle est une chaîne vide. Elle ne comporte aucun caractère. Lorsque
vous appliquez la fonction COUNT (comptage) à ce type de chaîne, elle renvoie la
valeur zéro. Les chaînes nulles sont représentées par "".

chaîne vide
Chaîne (représentée par "") ne contenant aucun caractère. Dans Crystal Reports,
une chaîne vide permet d'indiquer au logiciel que rien ne doit être imprimé. Ainsi,
la formule :
If {fichier.CHAMP} = 3,5, Then
"Cum Laude"
Else
““
permettra d'imprimer les mots “ Cum Laude ” (Then) si la valeur est égale ou
supérieure à 3,5. La chaîne vide "" indique, en revanche, que rien ne doit être
imprimé (Else) lorsque la valeur est inférieure à 3,5.

champ
Bloc élémentaire d'un enregistrement. Chaque enregistrement contient un ou
plusieurs champs, chaque champ comprenant au moins une donnée : sa “ valeur ”.
Un enregistrement de client figurant dans une base de données de mailing peut
contenir des champs semblables aux champs suivants : Nom, Adresse, Ville, Etat,
Code postal, Téléphone, Télécopie. Un champ peut être vide, ou contenir une
valeur. Les champs apparaissent généralement dans des colonnes, dans la section
Détails d'un état.

Crystal Reports Guide de l’utilisateur 695


scr8.book Page 696 Monday, April 2, 2001 12:29 PM

champ de données
Bloc élémentaire de construction d'un enregistrement, également appelé
“ champ ”. Chaque enregistrement comprend un ou plusieurs champs de données
contenant un élément de données (sa “ valeur ”) Un enregistrement de client
figurant dans une bases de données de mailing peut contenir des champs
semblables aux champs suivants : Nom, Adresse, Ville, Etat, Code postal,
Téléphone, Télécopie. Un champ de données peut être vide ou contenir une valeur.
Les données d'un champ de données sont généralement affichées ou imprimées
dans les colonnes de la section Détails d'un état.

champ de données calculées


Champ contenant une valeur résultant d'un calcul et non pas directement extraite
d'une base de données. Par exemple, si la base que vous utilisez inclut des champs
{fichier.VENTES} et {fichier.COUTS}, mais pas de champ indiquant la marge brute,
vous pouvez toutefois inclure celle-ci dans votre état. Il vous suffit pour cela de la
créer à l'aide d'un champ de données calculées, en soustrayant {fichier.COUTS} de
{fichier.VENTES} à l'aide d'une formule. La formule calcule la marge brute pour
chaque ligne, et l'imprime dans le champ où elle se trouve.

champ de paramètre
Type spécial de champ permettant à l’opérateur de saisir une valeur. Il se prête à
toutes sortes d'utilisation : titre de l'état, sélection d'un enregistrement, tri, etc. Le
recours aux champs de paramètres permet de créer des états “ génériques ”
pouvant être facilement adaptés à un besoin donné.
Remarque : Le terme “ champ de paramètre ” dans Crystal Reports est synonyme
de “ requête de paramètre ” dans Microsoft Access.

champ de résumé
Champ déterminant la somme des valeurs, la valeur moyenne, maximale, et
minimale ou le compte des valeurs dans un groupe de valeurs appartenant à un
champ spécifique. Un champ de résumé, tout comme un sous-total, regroupe les
données selon vos critères avant d'effectuer le calcul ou l'évaluation requise.

champ de tri
Champ de données indiquant la procédure de tri. Une liste de publipostage, par
exemple, peut être triée dans l'ordre croissant d'après le champ {client.CODE
POSTAL}. Dans ce cas, les clients sont triés de façon à ce que ceux dont le code
postal est le plus petit apparaissent en premier et ceux dont le code postal est le
plus élevé apparaissent en dernier. Vous pouvez également trier l'état par ordre
alphabétique croissant, sur le champ {client.NOM DU CONTACT}. Dans ce cas, les
clients dont le nom de famille commence par A apparaîtront en premier et ceux
dont le nom de famille commence par Z apparaîtront en dernier.

696 Crystal Reports Guide de l’utilisateur


scr8.book Page 697 Monday, April 2, 2001 12:29 PM

Glossaire

champ de tri et de groupement


Champ déclenchant l'impression d'un sous-total (ou d'une valeur de champ de
groupe) chaque fois que sa valeur change.
Par exemple, un état de clients comporte les champs {client.ID CLIENT} et
{commandes.MONTANT COMMANDE}. Pour obtenir un sous-total par client
(total des commandes de chaque client), cliquez sur le champ
{commandes.MONTANT COMMANDE} comme champ de sous-total et sur le
champ {client.ID CLIENT} comme champ de tri et de groupement. Crystal Reports
trie alors les données par client, de façon à ce que toutes les commandes en
provenance d'un même client soient rassemblées. Par la suite, à chaque
modification de la valeur du champ {client.ID CLIENT}, lors du passage d'un client
à un autre, Crystal Reports affichera un sous-total des valeurs dans le champ
{commandes.MONTANT DE COMMANDES} (représentant le total des
commandes passées par le client en cours). Vous pouvez également sélectionner
des champs de tri et de groupement pour déclencher des résumés.

champs BLOB
Un champ BLOB est un champ de base de données dont les données
correspondent à des objets numériques volumineux (Binary Large Objects) tels
que les graphiques bitmap, images, objets OLE, métafichiers, etc. L’insertion d’un
champ BLOB dans votre état permet d’accéder à ces données binaires de la même
façon que pour les autres types de données.

champs indexés
Champs de la base de données placés dans un ordre spécifique afin d'accélérer
l'extraction d'enregistrements particuliers. Au lieu d'effectuer une recherche sur
toutes les données de tous les enregistrements, le logiciel trouve dans l'index le
pointeur indiquant l'emplacement de l'enregistrement recherché. Dans l’Expert
Section, les champs indexés sont signalés par une flèche.

Collection d'états
Boîte de dialogue spéciale apparaissant lorsque vous cliquez sur le bouton
Nouveau de la barre d'outils standard ou que vous choisissez la commande
Nouveau du menu Fichier. Elle sert de passerelle avec les différents experts de
création d'état (Experts Etat) de Crystal Reports et avec l'interface graphique. Elle
vous permet de sélectionner l'état et le type de données permettant de
personnaliser des états.

coller
Coller signifie extraire des données figurant dans le Presse-papiers et les placer
dans un état ou une formule. Les données peuvent avoir été copiées/coupées à
partir du même état ou d'un autre document.

Crystal Reports Guide de l’utilisateur 697


scr8.book Page 698 Monday, April 2, 2001 12:29 PM

colonne
Une colonne affiche les données en provenance d'un champ unique ou d'une
formule. Les colonnes sont affichées à la verticale. A opposer à ligne.

commentaires
Bloc de texte accompagnant une formule pour décrire sa fonctionnalité. Crystal
Reports ne les prend pas en compte lors de l'exécution de la formule.

concaténer
Joindre plusieurs chaînes de caractères pour en faire une seule chaîne contiguë.

condition
Dans une formule If-Then-Else, la condition est la partie If de la formule, c'est-à-
dire l'ensemble des circonstances devant se produire (être vérifiée) pour
provoquer la partie Then (conséquence) de la formule. Par exemple, dans la
formule If x<5 Then x Else 5, l'expression x<5 est la condition.

conséquence
Dans une formule du type If-Then-Else, la conséquence est contenue dans la partie
Then. Dans If x<5 Then x Else 5, par exemple, la conséquence est l’expression Then x.

constante
Valeur fixe et immuable par opposition à une variable qui peut prendre différentes
valeurs selon les circonstances.
La valeur 5 est une constante, tandis que la valeur du champ QUANTITE (qui peut
parfois être égale à 5, mais peut être différente) est une variable. Dans la formule
de conversion des kilomètres en miles anglais (mile=kilomètre/1,649), par
exemple, 1,649 est une constante tandis que kilomètre et mile sont des variables.
Dans la formule (Aujourd'hui - 01 janvier 1900), 01 janvier 1900 est une constante,
tandis qu’Aujourd'hui est une variable correspondant à la date du jour. Dans
Crystal Reports, les constantes peuvent être des nombres, des chaînes de texte, des
dates, des montants, des heures, des dates/heures, ou bien le résultat d'une
formule ne contenant pas de variables (14-9, par exemple).

Contrôle ActiveX
Contrôle spécial de Visual Basic 4.0 incorporant la technologie OLE (Object
Linking and Embedding). Connu auparavant comme commande OLE (OCX).

698 Crystal Reports Guide de l’utilisateur


scr8.book Page 699 Monday, April 2, 2001 12:29 PM

Glossaire

date vide
Date [représentée par Date (0,0,0)] ne contenant ni jour, ni mois, ni année et qui
n'est donc pas imprimée. Dans Crystal Reports, elle s'emploie dans les formules If-
Then-Else pouvant ou non renvoyer une date. Par exemple, la formule :
If NoPage = 1 Then
PrintDate
Else
Date(0,0,0)
imprime la date d'impression sur la première page et rien sur les autres.
Dans la mesure où la partie Then de la formule est une date (PrintDate), la partie
Else de la formule doit également être une date, mais une date qui ne s'imprime
pas. Pour créer une date non imprimable (vide), utilisez la fonction Date et les
arguments (0, 0, 0).

déboguer
Elimination des erreurs survenant pendant l'exécution d'une formule.

Détails
Partie principale des états Crystal Reports. Structurez cette section en ajoutant des
champs, des formules et autres éléments d'état.

dictionnaire
Source de données à accès unique, prête à l'emploi, généralement créée pour les
utilisateurs finals par le service informatique de l'entreprise. Le dictionnaire évite
à l'utilisateur final de faire des recherches dans plusieurs bases de données, de
tenir compte des liaisons, de construire des formules et de décoder des noms de
champs souvent peu significatifs. L'utilisateur se contente de sélectionner les
données dont il a besoin dans le dictionnaire et de créer son état.

DLL (Dynamic Link Library)


Fichier spécial contenant des fonctions Windows. Les DLL (Dynamic Link Library)
sont utilisés par les programmeurs pour accroître les capacités des applications
Windows. Ils sont activés chaque fois qu'un logiciel ou un autre fichier DLL
appelle une de leurs fonctions. Les liaisons entre DLL s'effectuent en effet pendant
l'exécution, à chaque appel d'une fonction incluse. Les DLL sont disponibles en
fonction des besoins de chaque logiciel, pourvu que celui-ci dispose de la capacité
d'émettre un appel (il n'est pas nécessaire que le compilateur les lie au logiciel). Le
moteur de Crystal Reports peut être appelé en tant que DLL par les programmeurs
désireux de l'intégrer à leur application.

Crystal Reports Guide de l’utilisateur 699


scr8.book Page 700 Monday, April 2, 2001 12:29 PM

document conteneur
Fichier contenant un objet OLE imbriqué ou lié.

document serveur
Fichier contenant la version originale d'un objet OLE.

écart-type
Racine carrée de la variance. Test statistique permettant d'évaluer l'écart entre
diverses valeurs d'une série et la valeur moyenne de cette série. L'écart-type
permet par exemple d'évaluer la difficulté relative d'un examen proposé à des
étudiants, d'étudier les habitudes de consommation d'une clientèle ou de
comparer les résultats obtenus par des produits en cours d'évaluation (analyses de
sang en laboratoire, détecteurs de fumée, détecteurs de radar, etc.). Les domaines
d'application sont innombrables.
L'écart-type (contrairement à l'écart-type de la population) sert généralement à
déterminer à l'avance un écart sur une population entière (toutes les valeurs) sur
la base d'un échantillon de petite taille. Il permet, par exemple, à un fabricant de
piles ayant mis au point un nouveau modèle de tester sa durée de vie. Si le test
portait sur toutes les piles produites, la société n'aurait plus rien à vendre. Avec
cette méthode, il suffit à l'entreprise de tester trente piles choisies au hasard et
d'attribuer leur durée de vie moyenne et l'écart-type à l'ensemble des piles, sur la
base de cet échantillon.
Remarque : Cette comparaison se réfère simplement à l'utilisation la plus
répandue. Dans la pratique, certains utilisateurs préfèrent un calcul basé sur N
valeurs (PopulationStdDev) et d'autres un calcul basé sur N-1 valeurs (StdDev).
Crystal Reports gère les deux formes d'écart-type.

écart-type de la population
Test statistique montrant l'écart entre les valeurs de l'ensemble d'une population et
la valeur moyenne de cette même population. Il est le plus souvent utilisé pour
évaluer un ensemble complet de valeurs et non un simple échantillon (StdDev).
Remarque : Cette comparaison se réfère simplement à l'utilisation la plus
répandue. Dans la pratique, certains utilisateurs préfèrent un calcul basé sur N
valeurs (PopulationStdDev) et d'autres un calcul basé sur N-1 valeurs (StdDev).
Crystal Reports gère les deux formes d'écart-type.

échantillon
En statistique, sous-série d'une population servant à représenter l'intégralité de
cette population. Les chercheurs ont rarement l'occasion d'évaluer l'ensemble
d'une population avant de tirer des conclusions basées sur le résultat de leurs tests.
Dans ce cas, ils utilisent un échantillon représentatif.

700 Crystal Reports Guide de l’utilisateur


scr8.book Page 701 Monday, April 2, 2001 12:29 PM

Glossaire

Par exemple, les sondages électoraux reposent généralement sur quatre ou cinq
cents personnes. A partir des réponses apportées par cet échantillon, des
prédictions peuvent être faites sur les intentions de vote à l'échelle nationale.

Editeur de formule
Boîte de dialogue servant à créer et modifier des formules. Elle contient des outils
permettant d'insérer des champs, des fonctions et des opérateurs dans une
formule, de vérifier sa syntaxe et d'entrer ses composants et ses arguments. Des
versions spéciales de l'Editeur permettent également de créer des formules de
sélection de groupes et d'enregistrements.

édition en place
Faculté de modifier les propriétés d'un objet OLE depuis Crystal Reports. Les
options de menu changent pour fournir les outils d’édition de l'application serveur
et faciliter ainsi vos modifications.

élément
Terme désignant parfois certains composants individuels d'un état tels que
champs de base de données, formules, champs de groupe et texte. L'onglet
Conception utilise des cadres rectangulaires pour représenter les champs.

emboîtement
Dans Crystal Reports, il s'agit de l'insertion d'une expression If-Then-Else dans une
autre. Exemple : Si le diplôme de l'employé n'est pas un doctorat, Then (alors
utilisez la formule Cher M. si c'est un homme, Chère Mme si c'est une femme)
Sinon utilisez la formule Cher Dr. Dans cet exemple, l'instruction If-Then-Else
emboîtée est placée entre parenthèses. Elle revient à vérifier dans le fichier du
personnel que l'employé n'a pas un doctorat. Si cette condition est vérifiée, la
formule placée en haut de la lettre dépendra du sexe de l'employé tel qu'il est
précisé dans son enregistrement (si le sexe est masculin, Then utiliser une formule
masculine. Else [si le sexe est féminin] utiliser une formule féminine.) Else (si
l'employé à un doctorat), utiliser une formule avec Dr. Ce type de formule permet
d'élargir facilement le champ des conditions et de leurs conséquences.

enregistrement
Dans une base de données, unité complète d'informations connexes, répertoire
électronique contenant toutes les données sur une entité donnée. Chaque
enregistrement se compose d'un ou plusieurs champs contenant les composants de
données spécifiques. Dans une base de données Clients, par exemple, chaque
enregistrement contient toutes les données relatives à un seul et même client. Dans
une base de données Inventaire, chaque enregistrement contient toutes les données
relatives à un article spécifique. Les données d'un enregistrement individuel sont
affichées ou imprimées sous forme de ligne de données ou d'état à colonnes.

Crystal Reports Guide de l’utilisateur 701


scr8.book Page 702 Monday, April 2, 2001 12:29 PM

en-tête
Texte affiché en haut des pages d'un état au-dessus du corps de l’état. Son contenu
est libre en principe mais il se compose souvent du titre de l'état, du nom de la société,
de la date, de la période couverte par l'état, etc. Les options de Crystal Reports vous
permettent de ne faire apparaître l'en-tête que sur certaines pages de votre état.

en-tête de groupe (EG)


Section créée par le logiciel à chaque insertion d'un groupe, d'un résumé ou d'un sous-
total. Elle sert généralement à afficher le nom du groupe ou une brève description.

en-tête de l’état
Première section de votre état dans l'onglet Conception. Vous pouvez y insérer un
titre ou toute autre information que vous désirez afficher uniquement sur la
première page de l'état.

En-tête de page (EP)


Texte apparaissant en haut des pages d'un état. Les en-têtes servent généralement
à placer un titre ou une identification du document.

en-tête dynamique
En-tête se transformant automatiquement en fonction du contenu d'un champ.
Lorsque vous groupez, par exemple, vos données par région, ce type d'en-tête
permet d'imprimer le nom de la région concernée au début de chaque groupe.

entier
Un nombre entier peut être positif, négatif ou nul. Les entiers ne sont pas suivis de
décimales.

état
Présentation des données organisées. En tant qu’outil de gestion, un état fournit à
la direction les renseignements nécessaires pour gérer effectivement une
organisation. Crystal Reports vous permet de créer facilement et rapidement des
états de gestion compréhensifs, personnalisés et conviviaux. Mais “ état ”, dans
Crystal Reports fait également référence aux factures, lettre types, étiquettes de
publipostage et autres articles qui requièrent l’organisation et la sortie des données.

Expert
Crystal Reports met à votre disposition plusieurs Experts. Ces Experts sont des
outils conçus pour vous guider pas à pas à travers les diverses étapes de la création
d'un état. Dans la plupart des cas, les Experts disposent d'une série d'onglets

702 Crystal Reports Guide de l’utilisateur


scr8.book Page 703 Monday, April 2, 2001 12:29 PM

Glossaire

numérotés. Commencez à partir de la première étape et suivez les étapes dans


l'ordre indiqué. Une fois la dernière étape exécutée, l'Expert fait le reste.
Remarque : le terme “ Expert ” sous Crystal Reports correspond à “ Assistant ”
sous Microsoft Access.

Expert Carte
L’Expert Carte est un puissant outil qui vous aide à mieux organiser vos données
en insérant des cartes géographiques dans un état. Vous pouvez explorer ces cartes
pour voir les données sous-jacentes.

Expert Mise en relief


L’Expert Mise en relief est souvent utilisé pour mettre en surbrillance les valeurs
de champs numériques et monétaires qui d’une manière quelconque séparent
d’autres valeurs dans l’état. L’Expert Mise en relief offre une gamme étendue de
mise en forme conditionnelle, y compris la couleur de police, la couleur d’arrière-
plan et le style de bordure.
Vous pouvez penser à l’Expert Mise en relief comme un éditeur de formule avancé
qui exécute l’équation suivante : If (Si) la condition est True (Vrai), Then (Alors)
appliquer ces spécifications de mise en forme.

exporter
Distribution d'un état à l'aide d'un fichier disque ou de la messagerie électronique.
Crystal Reports vous permet d'exporter vos états dans la plupart des formats
standards de feuille de calculs, base de données, traitement de texte, en HTML et
en format d’échange de données.

expression booléenne
Expression définissant une relation logique entre au moins deux éléments. Elle
peut prendre uniquement la valeur TRUE (vrai) ou FALSE (faux). A>5 and B<10,
par exemple, est une expression Booléenne utilisant l’opérateur “ And ”. Pour que
l’expression soit TRUE (vraie), les deux conditions (liées par l’opérateur And)
doivent être vraies. La valeur de A doit être supérieure à 5 et la valeur de B doit
être inférieure à 10. Si ces valeurs ne figurent pas dans cette plage, l’expression est
FALSE (fausse). Ce type d'expression est particulièrement utile dans les formules
If-Then-Else (Si-Alors-Sinon). Par exemple :
If A>5 And B<10 Then
"Dans plage"
Else
“”
Cette syntaxe Crystal signifie : si l'expression booléenne A>5 and B<10 est TRUE
(vraie), imprimer "dans plage", sinon (si l'expression booléenne est FALSE -
fausse), ne rien imprimer (ce qui est indiqué par la chaîne vide "").

Crystal Reports Guide de l’utilisateur 703


scr8.book Page 704 Monday, April 2, 2001 12:29 PM

faire glisser
Ce terme désigne, selon le contexte, plusieurs manipulations :
 En cas de déplacement d'un champ, c'est le fait de sélectionner le champ à
l'aide du bouton gauche de la souris en le maintenant enfoncé pendant le
transfert vers le nouvel emplacement. Vous relâchez le bouton de la souris
lorsque le champ se trouve à l'emplacement désiré.
 En cas de redimensionnement d'un champ, c'est le fait de cliquer sur l'une des
poignées du cadre du champ à l'aide du bouton gauche de la souris en le
maintenant enfoncé pendant l'agrandissement ou la réduction. Vous relâchez
le bouton de la souris lorsque le champ a la taille désirée.
 En cas de mise en forme d'un texte, cette fonction désigne la mise en surbrillance
(sélection) de la partie concernée en maintenant le bouton gauche de la souris
enfoncé pendant que vous passez dessus avec le curseur en forme de I. Relâchez
le bouton de la souris lorsque vous avez sélectionné la zone voulue.

fichier
Regroupement de données liées stockées sous un seul nom. Avec Crystal Reports,
les états sont conservés dans des fichiers distincts.

fichier conversion interface


Un fichier conversion Interface (extension .cif) est le fichier dans lequel le logiciel
enregistre les informations de mise en forme et de mise en relief de l’outil
Importation de document. Lorsque vous sélectionnez quelque chose dans l'outil
Importation de document et définissez des propriétés pour les champs de bases de
données, ces paramètres sont enregistrés dans le fichier .cif. Ce fichier peut être
utilisé pour formater de nouveau l'état, sans avoir à effectuer de sélections.

flèche
Symbole utilisé pour indiquer si les champs sont des champs indexés ou non.

fonction
Procédure intégrée ou sous-routine permettant d'évaluer, de manipuler, de
calculer ou de modifier des données. Lorsque vous spécifiez une fonction, Crystal
Reports, effectue la série d'opérateurs programmés sans vous contraindre de les
définir séparément. De ce point de vue, une fonction représente une forme de
raccourci facilitant et accélérant le processus de création d'un état.
Crystal Reports est livré avec toute une série de fonctions, ainsi qu'avec des outils
vous permettant de créer et d'enregistrer vos propres fonctions.

704 Crystal Reports Guide de l’utilisateur


scr8.book Page 705 Monday, April 2, 2001 12:29 PM

Glossaire

fonctions de résumé
Opération permettant de résumer des données (sous forme de total, moyenne,
valeur maximale, etc.). Le terme “ fonction de résumé (appelé aussi agrégat) ” est
souvent employé à propos des sources de données SQL.

formule
Instruction symbolique indiquant les manipulations que vous désirez appliquer à
certaines données avant leur impression dans l'état.
Dans un état contenant les champs {fichier.VENTES} et {fichier.COUTS}, vous
pourriez par exemple créer un champ GrossProfit (Bénéfice brut) dont la valeur de
la chaîne serait {fichier.VENTES} -{fichier.COUTS}. En l'occurrence,
{fichier.VENTES} -{fichier.COUTS} est une formule simple permettant de
soustraire la valeur du champ {fichier.COUTS} de celle du champ
{fichier.VENTES} et d'imprimer le résultat obtenu.
Les formules permettent de calculer des valeurs numériques, comparer des
valeurs, sélectionner une action sur la base des résultats d'une comparaison,
concaténer plusieurs variances dans une chaîne, etc. La création d'une formule
dans Crystal Reports s'opère à peu près comme dans votre tableur habituel.
Remarque : Le terme “ formule ” dans Crystal Reports correspond à
“ expression ” dans Microsoft Access.

formule Booléenne
Formule renvoyant une valeur Oui/Non (TRUE [vrai]/FALSE [faux]). Ainsi la
formule Booléenne, {détails de commande.QUANTITE} > 6 compare la valeur du
champ {commandes.QUANTITE} à 6 : si elle est supérieure elle renvoie Yes, si elle
est égale ou inférieure elle renvoie No. Par opposition, une formule non Booléenne
telle que {commandes.QUANTITE} * 6 renvoie simplement un nombre
correspondant à la multiplication de la valeur du champ
{commandes.QUANTITE} par 6. Toutes formule de sélection d'enregistrements et
de groupes doivent être de type Booléen.

formule de mise en forme conditionnelle


Formule permettant d’appliquer une mise en forme à des objets ou à des sections
lorsque certaines conditions sont réunies.

formule de sélection
Une formule de sélection est une formule indiquant les enregistrements ou les
groupes à inclure dans l'état.

Crystal Reports Guide de l’utilisateur 705


scr8.book Page 706 Monday, April 2, 2001 12:29 PM

formule/fonction à deux passages


Formule requérant deux passages sur les données pour s'exécuter. Le premier
passage effectue un calcul ou une sélection et le second un calcul ou une sélection
utilisant le résultat généré par le premier passage.
Ce type de formule permet par exemple de calculer les ventes réalisées par un
représentant en termes de pourcentage des ventes globales de la société. Le
premier passage additionne les ventes réalisées par chaque représentant pour
arriver au total global de l'entreprise. Le second passage divise les ventes par
représentant par ce total pour calculer le pourcentage du représentant dans le
volume total.

grille
Dans Crystal Reports, la grille est une trame de lignes (analogue à celle d'un papier
millimétré) affichée sur l'écran pour faciliter l'alignement de vos champs et
graphiques. En cas d'activation par défaut de l'option Aligner sur la grille dans la
boîte de dialogue Options. Crystal Reports aligne automatiquement vos champs
sur la coordonnée la plus proche en modifiant éventuellement leurs dimensions.

groupe
Ensemble d'enregistrements ayant une certaine relation entre eux. Dans une liste
de clients par exemple, il est possible de définir un groupe de clients ayant le même
code postal ou habitant la même région. Dans un état sur les ventes, un groupe
peut se composer de toutes les commandes passées par un même client ou
obtenues par un même représentant. Crystal Reports vous offre d'innombrables
possibilités en matière de groupement des données au sein d'un état.

guides
Lignes non imprimables facilitant l'alignement, le déplacement et le
redimensionnement précis des objets. Les guides vous permettent de travailler en
mode libre (sans grille) tout en gardant un contrôle absolu du placement des objets
dans l'état.

HTML
Langage utilisé par le Web pour publier des pages comprenant des liens
hypertexte sur Internet.

incorporer, objet incorporé


Un objet incorporé contient une présentation de l’objet, ainsi que toutes les
données le concernant et concernant l'application utilisée pour le créer. Les
modifications de l'objet initial dans le document du serveur ne sont pas répercutées
sur sa version incorporée, à moins que vous ne procédiez à sa mise à jour.

706 Crystal Reports Guide de l’utilisateur


scr8.book Page 707 Monday, April 2, 2001 12:29 PM

Glossaire

index
Petit fichier indiquant l'emplacement de chaque enregistrement dans les bases de
données. Sa taille réduite lui permet d'être interrogé ou trié beaucoup plus
rapidement qu'une grosse base ; Crystal Reports utilise des index pour accélérer le
processus de génération d'états. Lors d'une recherche, par exemple, Crystal
Reports parcourt l'index pour localiser le champ. Une fois ce dernier trouvé, le
programme y accède directement. Cette méthode évite donc d'explorer tous les
champs de tous les enregistrements d'une base. Une base de données peut
comporter plusieurs index, basés chacun sur un ou plusieurs champs spécifiques.

indicateur
Caractère ou groupe de caractères utilisé pour mettre en valeur ou identifier des
éléments méritant l'attention du lecteur. Ainsi, dans les états sur les créances, il est
courant de faire suivre les créances échues de la mention “ arriéré ”.

largeur d'un champ


Taille d'un champ dans sa base de données d'origine. Elle est généralement fixe et
les valeurs du champ ne l'occupent pas toujours intégralement. C'est pourquoi
Crystal Reports inclut des fonctions Trim permettant de supprimer les blancs
excédentaires dans les valeurs n'occupant pas toute la largeur de leur champ.

lettre type
Dans Crystal Reports, lettre pouvant être reproduite, personnalisée et adaptée à
l'aide des puissantes fonctionnalités de ce logiciel pour le traitement des objets
textes. Ce type de lettre inclut généralement à la fois du texte et des valeurs de
champ. Une fois la lettre créée, le logiciel l'exécute en y insérant à chaque fois les
valeurs d'un autre enregistrement de la base de données.

liaison
Champ commun à deux bases de données au moins servant de point de connexion
entre elles. Crystal Reports utilise les liaisons pour établir une correspondance entre
les enregistrements d'une bases de données et ceux d'une autre (ou de plusieurs
autres). Prenons par exemple des bases contenant chacune un champ numéro de
client (quel que soit le libellé exact de celui-ci), Crystal Reports peut utiliser ce champ
pour établir une connexion électronique entre les enregistrements d'une base et les
enregistrements correspondants des autres bases. Lorsque vous créez un seul état
fondé sur plusieurs bases, la liaison garantit que les données (transaction, facture, etc.)
de chaque ligne se rapportent à un seul et même client.
Remarque : Le terme “ liaison ” dans Crystal Reports a la même signification
que le terme “ relation ” dans Microsoft Access.

Crystal Reports Guide de l’utilisateur 707


scr8.book Page 708 Monday, April 2, 2001 12:29 PM

ligne
Une ligne affiche les données d'un enregistrement. Les lignes constituent la partie
horizontale d'une grille. Dans le présent manuel, les termes “ ligne ” et
“ enregistrement ” sont souvent utilisés l’un pour l’autre. A opposer à colonne.

mémoire cache de Smart Processing


Le serveur Crystal Web Report stocke les états requis dans le répertoire de
mémoire cache de Smart processing. Lorsqu’un utilisateur demande un état par le
biais d’un navigateur Web, l’état est généré et stocké dans la mémoire cache. Si un
autre utilisateur demande le même état, le serveur Crystal Web Report recherche
l’état dans la mémoire cache au lieu de le générer à nouveau.
Les états de la mémoire cache qui restent inutilisés pendant une longue période de
temps sont annulés par le serveur Crystal Web Report. Un processus de nettoyage
régulier efface les états non-utilisés de la mémoire cache pour laisser la place à ceux
qui le sont le plus. Ce processus d’utilisation d'une mémoire cache pour les états
utilisés fréquemment et pour effacer les états qui ne sont plus utilisés fournit une
utilisation efficace du serveur Internet et des ressources du réseau, réduisant ainsi
la génération répétitive d’états et la surcharge du réseau.

menu contextuel
Menu dynamique disponible dans les onglets Conception et Aperçu. Pour
l'afficher, il suffit de placer un ou plusieurs objets en surbrillance et de cliquer sur
le bouton droit de la souris.

Microsoft Foundation Class (MFC)


Interface de programmation orientée-objet qui englobe plusieurs appels de
fonctions associés dans un seul objet.

mise en forme absolue


Mise en forme (formatage) appliquée systématiquement à un objet. Voir aussi mise
en forme conditionnelle.

mise en forme conditionnelle


Capacité à mettre en forme (formatage) des objets et sections sous certaines conditions
spécifiques. Par exemple, mettez en forme de façon conditionnelle les champs
numériques de la base de données pour afficher en rouge les valeurs négatives.

modèle
Copie d'un état servant de point de départ à la création d'un nouvel état. Le recours
à un modèle ne modifie pas l'état d'origine.

708 Crystal Reports Guide de l’utilisateur


scr8.book Page 709 Monday, April 2, 2001 12:29 PM

Glossaire

moment d’évaluation
Etape du processus de génération d'états au cours de laquelle le système évalue
une formule. Il existe trois fonctions d'évaluation :
 BeforeReadingRecords
 WhileReadingRecords
 WhilePrintingRecords.

navigateur
Un navigateur est une application permettant la consultation de documents au
format HTML.

nombre vide
Valeur de champ (représentée par [0]) n'étant généralement imprimée que
lorsqu'une valeur ne répond pas à la condition contenue dans une formule If-Then-
Else numérique. Dans Crystal Reports, un nombre vide permet d'indiquer au
logiciel que 0 doit être imprimé. Ainsi, la formule :
If {fichier.CHAMP} = 3,5, Then
{fichier.CHAMP}
Else
0
indique que la valeur numérique concernée doit être imprimée (Then) si elle est
égale ou supérieure à 3,5. En l'occurrence, le nombre vide placé dans la partie
conséquence (Else) indique que c'est 0 qui doit être imprimé lorsque la valeur est
inférieure à 3,5. Il arrive fréquemment que les champs contenant ce type de
formule soient formatés de manière à être supprimés si la valeur renvoyée est 0 ;
en présence d'une valeur nulle, le logiciel n'imprime rien.

nul
Etat d'un champ ne contenant pas de valeur pour un enregistrement donné. Nul
ne doit pas être confondu avec zéro, qui est une valeur.

numérique
Type de données se prêtant à des calculs arithmétiques. Tous les nombres ne sont
pas forcément traités comme des valeurs numériques par Crystal Reports et les
logiciels de base de données.
Par exemple, un numéro de série 12345 est d'apparence numérique, dans la mesure
où les caractères sont des nombres. Cependant, il ne s'agit pas d'un type de
données devant subir des opérations arithmétiques, par conséquent ce dernier est
généralement enregistré sous forme de texte.
Notez que Numérique est un types de données parmi d'autres. Vous devez
assigner un type de données à tout champ que vous créez pour l'utiliser dans une
base de données. Chaque champ est défini avec un type spécifique déterminant les
traitements applicables à sa valeur.

Crystal Reports Guide de l’utilisateur 709


scr8.book Page 710 Monday, April 2, 2001 12:29 PM

objet
Il s'agit d'un des différents éléments d'état contenant généralement des données et
dotés de propriétés spécifiques définissant leur comportement et leur apparence.
Crystal Reports utilise les types d'objet suivants :
 Champ
 Texte
 Table croisée
 Graphe
 sous-état
 Image
 OLE
Chacun de ces objets peut être formaté individuellement, déplacé, redimensionné,
dupliqué, etc.

objet lié
Objet contenant sa propre présentation ainsi qu'un pointeur renvoyant à une partie
spécifique d'un document du serveur. La modification de l'objet d'origine dans ce
document provoque alors la modification automatique de sa copie figurant dans
votre état. Inversement, la modification de l'objet dans le document conteneur est
répercutée sur l'objet d'origine.

objet OLE statique


Un objet OLE statique est l'image d'un objet qui est enregistrée dans un document.
Cette image peut être affichée ou imprimée par un utilisateur qui ne dispose pas
de l'application d'origine. Cependant, un objet OLE ne peut pas être modifié sur
place sans avoir été d'abord converti en objet modifiable. L'avantage de ces objets
tient à ce qu'ils offrent de meilleures performances en ligne et à l'impression que
les bitmaps standards.

objet texte
Objet spécialisé de Crystal Reports pouvant contenir du texte, des champs de base
de données et des champs de formule. Il contient son propre mini-traitement de
texte permettant toutes les opérations, depuis l'ajout d'un libellé jusqu'à la création
intégrale d'un document.

ODBC
Acronyme de “ Open Database Connectivity ”. Il s'agit de l'interface conférant aux
applications la possibilité de retrouver des données dans un système de gestion de
base de données à l'aide de W. Elle permet donc à un programmeur de développer,
compiler et expédier des applications non destinées à un SGBD spécifique. ODBC
est synonyme de “ interopérabilité ”.

710 Crystal Reports Guide de l’utilisateur


scr8.book Page 711 Monday, April 2, 2001 12:29 PM

Glossaire

OLE
Acronyme de “ Object Linking and Embedding ”. Capacité à créer des états
combinés contenant des éléments empruntés à d'autres applications et pouvant
être modifiés à l'aide de ces dernières.

onglets
Eléments présents dans un grand nombre de boîtes de dialogue et d'Experts de
Crystal Reports. Les onglets ressemblent aux onglets des dossiers de fichier
communs. Les onglets indiquent le contenu de la fenêtre à laquelle ils donnent accès.

opérateur
Symboles spéciaux décrivant une opération ou une action entre au moins deux
valeurs. Le symbole / par exemple, est un opérateur représentant une division.
A/B signifie par conséquent : diviser A par B. Crystal Reports lit les opérateurs
dans les formules et exécute les actions indiquées. Crystal Reports gère plusieurs
types d'opérateurs : arithmétique, chaîne, comparaison, Booléen, conversion, date
et plage entre autres.

ordre de priorité
Ensemble de règles déterminant l'ordre dans lequel se déroulent les opérations
arithmétiques prévues par une formule contenant plusieurs opérateurs
arithmétiques. Le logiciel effectue d'abord les multiplications (*) et les divisions (/)
(opérations de premier niveau), puis les additions (+) et les soustractions (-)
(opérations de deuxième niveau). En présence de plusieurs opérations de même
niveau, le logiciel procède de gauche à droite. Vous pouvez toujours modifier
l'ordre de priorité normal en insérant des parenthèses dans vos formules.

ordre de tri
Indicateur de la direction dans laquelle vous désirez présenter les données une fois
ces dernières triées. En général, les deux ordres les plus employés sont : croissant
(du plus petit au plus grand, du plus récent au plus ancien, du premier au dernier,
de A à Z, etc.) et décroissant (du plus grand au plus petit, du plus ancien au plus
récent, de Z à A, etc.).

Page Active Server


Ce sont des pages Web qui s’exécutent sous l’Internet Information Server (IIS),
version 3.0 et supérieure de Microsoft. Les pages Active Server se combinent avec
les codes HTML, VBScript ou JScript et les contrôles ActiveX pour créer des pages
Web dynamiques pour les visualiser à l’aide des navigateurs les plus populaires
du Web. Quick Reports for Windows Engine Automation Server, Crystal Design-
Time ActiveX Control et Crystal Active Data Driver peuvent être associés pour
créer des sites Web actifs à l’aide de Microsoft Visual InterDev qui affiche des états
depuis un site Internet ou intranet.

Crystal Reports Guide de l’utilisateur 711


scr8.book Page 712 Monday, April 2, 2001 12:29 PM

par défaut
Réponse prédéfinie à une demande de données faite par un logiciel. Elle est acceptée
automatiquement par un logiciel lorsque vous n'entrez pas de données différentes.

passage à la ligne
Propriété caractéristique des traitements de texte par laquelle un mot est
automatiquement conduit au début de la ligne suivante quand il ne reste pas assez
de place sur la ligne actuelle.

pass-through SQL
Faculté d'obtenir du serveur SQL qu'il traite les critères de recherche de manière à
transmettre le moins de résultats possibles à Crystal Reports en vue de leur
traitement final. Cette méthode augmente l’efficacité de la génération des états et
réduit la surcharge du réseau.

pied de page
Un pied de page correspond au texte qui doit apparaître en bas de la page d'un
état. Le texte des pieds de page inclut généralement un numéro de page, ainsi que
diverses autres informations qui permettent d'identifier l'état. Crystal Reports
permet d'imprimer les pieds de page sur toutes les pages ou de sélectionner les
pages où ce texte doit apparaître.

pied de page de groupe (PG)


Section créée par le logiciel à chaque insertion d'un groupe, d'un résumé ou d'un
sous-total. Elle sert généralement à afficher un résumé ou un sous-total.

pied de page de l'état


Dernière section de votre état dans l'onglet Conception. Vous pouvez éventuellement
y insérer les résumés que vous désirez voir apparaître uniquement sur la dernière
page de l'état.

placement libre
Mode de composition dans lequel le placement des objets n'est pas limité aux
grilles (verticale ou horizontale).

712 Crystal Reports Guide de l’utilisateur


scr8.book Page 713 Monday, April 2, 2001 12:29 PM

Glossaire

plage de valeurs
Série de valeurs comprises entre une limite inférieure et supérieure (ces deux
bornes faisant elles-mêmes partie de la plage). Ainsi, la plage 10 à 20 inclut les
valeurs 10 et 20 et tous les nombres compris entre ces deux bornes. De même, la
plage du 1 janvier 1991 au 30 janvier 1991 inclut le 1er et le 30 ainsi que toutes les
dates situées entre les deux. Sous Crystal Reports, une plage peut comprendre des
nombres, un montant en devise ou des dates.

point d'insertion
Ligne verticale indiquant l'endroit où Crystal Reports insérera le texte que vous
allez saisir au clavier. Pour le placer à l'endroit voulu, il suffit de déplacer le
curseur en forme de I, puis de cliquer. Lorsque vous saisissez pour la première fois
du texte dans une section de l'onglet Conception, Crystal Reports met en place, au
point d'insertion, une tabulation de justification à gauche (quel que soit l'endroit
où vous avez placé le curseur).

population
Série complète des valeurs pouvant être testées sur le plan statistique, par
opposition à échantillon qui désigne un sous-ensemble de la population. Ce terme
ne doit pas être compris dans sa dimension démographique, car il peut faire
référence, par exemple, au nombre d'automobiles produites sur une chaîne de
montage ou au nombre de compagnies répondant à un appel d'offres.
Par exemple, un agent immobilier vend 20 maisons en un an. La population de
maisons vendues par cet agent au cours de cette année est de 20.

protection contre la division par zéro


Les PC ne permettent pas de diviser un nombre par 0. Lorsque le système tente
d'effectuer cette opération, un message d'erreur est renvoyé. Pour vous éviter ce
problème, Crystal Reports refuse d'imprimer les états contenant des formules
contenant une division par zéro.

propriétés
Caractéristiques définissant l'apparence ou la fonction d'un objet ou d'une section.
Il existe deux types de propriétés :
 les propriétés “ oui/non ”.
Propriétés pouvant être activées ou désactivées.
 les propriétés d'attribut.
Propriétés auxquelles vous devez affecter une valeur.

Crystal Reports Guide de l’utilisateur 713


scr8.book Page 714 Monday, April 2, 2001 12:29 PM

propriétés conditionnelles
Propriétés dont l'application dépend du résultat TRUE (vrai) d'une instruction de
comparaison.

propriété fixe
Propriété systématiquement appliqués à un objet.

pseudonyme
Dans Crystal Reports, deuxième nom affecté à une base de données. Si une base de
données s'appelle {client.db}, vous pouvez lui affecter des pseudonymes : clientèle,
cli, entreprise, DB1, ou tout autre nom de votre choix. Cette méthode facilite
l'utilisation des états créés à l'aide d'une base dont le nom et/ou l'emplacement ont
été modifiés depuis la création de l'état.

règle
La règle facilite le positionnement et le redimensionnement des champs, graphes,
lignes, cadres et bitmaps. Ses repères sont basés sur l'unité de mesure choisie dans
la section Paramètres régionaux du Panneau de configuration de Windows. Elle
vous permet également de modifier les marges de vos pages et de visualiser
instantanément les effets de vos modifications dans l'état.
Elément visible dans les onglets Conception et Aperçu à condition d'avoir activé
au préalable l'option appropriée dans la boîte de dialogue Options.

règle locale
Règle qui apparaît lorsque vous modifiez un objet texte. Cette règle permet de
spécifier des taquets de tabulation et de placer les objets avec précision.

renvois
Résultat renvoyé par une fonction, un opérateur ou une formule. Par exemple :
 Lorsque vous utilisez une fonction, elle effectue un calcul ou une manipulation
provoquant une modification des données. Les données suivantes sont
renvoyées par une fonction. Ainsi, Average(1, 2, 3,4, 5) renvoie la moyenne du
tableau 1, 2, 3, 4, 5 et Truncate(1, 2, 3, 4, 5) la partie entière du nombre 1, 2, 3, 4, 5.
 Lorsque vous utilisez un opérateur, le résultat est celui de l'opération. Ainsi,
5*6 renvoie 30 et 100<200 renvoie TRUE (vrai), tandis que 200<100 renvoie
FALSE (faux).
 Lorsque vous utilisez une formule contenant des fonctions ou des opérateurs,
chacun d'eux renvoie un résultat et la formule renvoie un résultat global. C'est
le résultat de la formule qui est important et non les fonctions et opérations
utilisées. Ainsi, dans la formule suivante :

714 Crystal Reports Guide de l’utilisateur


scr8.book Page 715 Monday, April 2, 2001 12:29 PM

Glossaire

If {fichier.QTE}<{fichier.REAPPROVISIONNEMENT}, Then
"Commander"
Else
““
une opération interne compare les quantités en stock {fichier.QTE} à celles requises
par le réapprovisionnement {fichier.REAPPROVISIONNEMENT}. Si les premières
sont inférieures aux secondes, l'opération interne renvoie TRUE. Cependant, le
résultat final de la formule globale est différent : dlle renvoie l'indicateur
“ Commander ”, lorsque la valeur renvoyée par l'opération interne est TRUE.

réorganisation automatique
Lorsque vous insérez un champ dans votre état, Crystal Reports lui alloue un
espace égal à sa largeur dans la base de données. Cet espace est souvent très
supérieur à la largeur réelle des données contenues dans le champ. Pour créer des
états clairs, il est souvent nécessaire de redimensionner les champs de façon à ce
que l’espace alloué corresponde exactement à la taille des valeurs des champs. Une
fois les champs redimensionnés, il est parfois également nécessaire de les
repositionner pour équilibrer la mise en page. La fonction Réorganisation
automatique du menu Mettre en forme se charge de cela. Pour ce faire, sélectionnez
la commande Réorganiser automatiquement l'état dans le menu Analyseur.

requête
Série de critères définissant le sous-ensemble des données à utiliser dans l'état. Par
exemple, si vous désirez que votre état porte uniquement sur la région Aquitaine,
créez une requête permettant de n'appeler que les enregistrements relatifs à cette
région. L'Expert Section vous permet de créer vos requêtes de sélection de groupes
et d'enregistrements.

respect de la casse
Caractéristique des logiciels interprétant différemment les majuscules et les
minuscules lors de l'évaluation d'une chaîne de caractères. Ainsi, la recherche du
mot “ maison ” dans un logiciel distinguant les deux casses retrouvera uniquement
les occurrences de “ maison ”, alors que la même recherche dans un logiciel ordinaire
retrouvera également les occurrences de “ MAISON ”, “ Maison ”, “ MaIsOn ”, etc.
Les Ps de Crystal Reports (Egal, Dans la chaîne, etc.) sont sensibles à la casse.

résumé
Valeur générée à la suite d'une évaluation, d'un inventaire ou d'un calcul portant
sur les données d'un seul groupe.
Dans une moyenne de groupe, Crystal Reports calcule la valeur moyenne d'un
champ pour un groupe d'enregistrements. Dans un compte de groupe, il compte
les valeurs d'un groupe d'enregistrements, et ainsi de suite. Les valeurs de résumé
sont des outils importants dans la création des états.

Crystal Reports Guide de l’utilisateur 715


scr8.book Page 716 Monday, April 2, 2001 12:29 PM

section
Une section est un élément de l'environnement de conception d'état. Le
programme divise cet environnement en sections, qui disposent toutes de
paramètres d'impression spécifiques. Pour créer un état, il suffit de placer des
objets dans les différentes sections.

sélectionner
 Lorsqu'il concerne un élément d'état (champ de données, formule, etc.), ce
terme désigne le fait de choisir un élément à l'aide d'un pointeur et de cliquer
dessus afin de lui appliquer l'opération de votre choix.
 Lorsqu'il concerne un texte, ce terme désigne la mise en surbrillance d'une
portion de texte en balayant le texte à l'aide du curseur en forme de I.
 Lorsqu'il concerne un enregistrement, ce terme désigne le fait d'identifier et de
choisir les enregistrements qui vous intéressent et d'ignorer les autres.
 Lorsqu'il concerne un groupe, ce terme désigne le fait d'identifier et de choisir
les groupes qui vous intéressent tout en ignorant les autres.

sens du tri
Modalités de l'impression des enregistrements ou des groupes dans votre état.
Vous pouvez choisir entre un tri croissant (A à Z, 0 à 9) et décroissant (Z à A, 9 à 0).

seuil de confiance
Pourcentage (C) utilisé lorsque l’outil Importation de document convertit un état.
Si moins de C pour cent des champs est correctement trouvé, la conversion ne
réussira pas.

source de données
Base de données, table, requête, dictionnaire, Info View ou procédure stockée
fournissant les données pour un état.

sous-chaîne
Portion d'une chaîne plus importante. Ainsi, “ nouveau ” est une sous-chaîne de la
chaîne “ le nouveau roman ”, “ 1040 ” une sous-chaîne du numéro de client “ B-
1040-0032456 ” et “ G ” une sous-chaîne de la chaîne “ George Sand ”.

sous-état
Un sous-état correspond à un état imbriqué dans un état. Ce dernier dispose de
toutes les caractéristiques d'un état standard, à une exception : il ne peut pas
inclure de sous-état. Certains sous-états sont autonomes, tandis que d'autres sont
liés aux données de l'état principal. Crystal Reports vous permet d'insérer autant
de sous-états que vous le désirez.

716 Crystal Reports Guide de l’utilisateur


scr8.book Page 717 Monday, April 2, 2001 12:29 PM

Glossaire

sous-état à la demande
Les sous-état à la demande apparaissent en tant que liens hypertexte dans l’état
principal.
De plus, les données réelles ne sont pas lues à partir de la base de données tant que
l’utilisateur n'explore pas le lien hypertexte. Les données ne sont extraites de la
base de données que lorsque l'utilisateur effectue une exploration de l'hyperlien.
Les sous-états à la demande sont parfois appelés sous-états “ en temps réel ”.

sous-total
Total partiel ne reprenant qu'un groupe limité et spécifique de données d'un
champ. A supposer les données suivantes :
1, 2, 3, 4, 5, 6, 7
Un sous-état après la valeur 3 renvoie la valeur 6 (1 + 2 + 3). Un deuxième sous-état
après la valeur 6 renvoie la valeur 15 (4 + 5 + 6).
Un sous-total est la somme de toutes les valeurs d'un seul champ pour tous les
enregistrements d'un groupe. Dans un état des ventes, par exemple, il permet de
calculer le montant des commandes obtenues par un représentant. Crystal Reports
réunit tous les enregistrements appartenant à la personne concernée et additionne
la valeur de leur champ Montant de la commande.

SQL
Acronyme de “ Structured Query Language ”. Système de gestion, d'organisation
et de récupération des données dans une base. SQL est en fait un langage
informatique permettant une interaction avec un certain type de bases de données
dites relationnelles.

superposable (en filigrane)


Capacité d'un objet (bitmap, graphe, etc.) à s'imprimer sous plusieurs sections placées
après la section où il figure. Il est possible d'insérer un bitmap dans une section, de
mettre la section en forme de manière à ce qu'elle vienne se placer en filigrane dans
les sections suivantes, et de créer ainsi un arrière-plan pour toute la page.

supprimer
Cette action consiste à retirer des éléments de l'état. Sous Crystal Reports, vous
pouvez supprimer des sections d'état (en-têtes, détails et pieds de page), des lignes
et des colonnes vides, ainsi que des valeurs spécifiques.

Crystal Reports Guide de l’utilisateur 717


scr8.book Page 718 Monday, April 2, 2001 12:29 PM

syntaxe
La syntaxe est un ensemble de règles utilisées pour créer une formule correcte.
Lors de la création de formules, vous pouvez utiliser la syntaxe Crystal ou la
syntaxe Basic.

syntaxe de formule
Ensemble de règles de grammaire à observer lorsque vous créez une formule à
l'aide du langage de formule de Crystal Reports.

tableau
Liste de valeurs séparées par une virgule. Les tableaux sont utilisés pour plusieurs
Gs de Crystal Reports : Average ([array]), Maximum ([array]), etc. Dans ces
fonctions, le tableau constitue l’argument de la fonction. Cette fonction porte sur
les éléments du tableau. Ces éléments peuvent être des constantes, des champ de
données ou les résultats d’une formule.

table croisée
Etat résumant les données et les présentant sous un format condensé (lignes et
colonnes) facilitant les comparaisons et l'identification de tendances.

total
Somme de valeurs. Voir aussi total cumulé, total général et sous-total.

total cumulé
Le total cumulé est le total qui est généralement affiché enregistrement par
enregistrement. Ceci permet d'effectuer le total des enregistrements (de l'état, du
groupe, etc.) en incluant l'enregistrement actuel. Ainsi, si vos trois premiers
enregistrements ont la valeur 2, 4 et 6, leur total cumulé est respectivement de 2, 6 et 12.

total général
Résumé de toutes les valeurs d'une colonne d'état.

traitement côté serveur


Le traitement côté serveur est une fonctionnalité vous permettant de configurer
des états qui effectuent la plupart de leur traitement sur le serveur. Ces états ne
poussent que les détails pertinents vers votre ordinateur, économisant ainsi du
temps et de la mémoire.

718 Crystal Reports Guide de l’utilisateur


scr8.book Page 719 Monday, April 2, 2001 12:29 PM

Glossaire

tri
Méthode d'organisation de l'ordre dans lequel apparaissent les données d'un état.
Crystal Reports contient plusieurs outils puissants de tri de données d'état.

tronquer
Lorsqu'elle s'applique à un nombre, cette opération revient à éliminer toutes les
données placées après le séparateur décimal. Ainsi, la fonction Truncate 1,2345,
renvoie 1. Tronquer ne veut pas dire arrondir : Truncate 1,9999, par exemple,
renvoie aussi 1.

types de données
Classification applicable au contenu des champs et des formules. Chaque élément
de données repris dans un état ou une formule Crystal Reports correspond à l'un
des types suivants : texte, devise, nombre, date ou Booléen (TRUE/FALSE). Cette
notion est fondamentale, car chaque fonction ou opérateur ne gère qu'un nombre
limité de types de données (parfois un seul). En outre, avec certains opérateurs
(tels que + et -), Crystal Reports utilise des règles de calcul différentes en fonction
du type des données manipulées.

un-à-plusieurs
Situation spécifique à des bases de données liées autorisant une correspondance
entre un enregistrement d'une base et plusieurs enregistrements d'une autre. C'est
le cas, par exemple, lorsque vous établissez une liaison entre une table Clients
d'une première base et une table Commandes d'une seconde base. En effet, à
chaque client de la première base correspond probablement plusieurs commandes
dans la seconde (consultation).

valeur
Données trouvées dans un champ. Dans un champ appelé {client.PRENOM
CONTACT}, par exemple, Jean et Marie peuvent constituer la valeur. Dans un
champ appelé {commandes.MONTANT COMMANDE}, 1234.,5 ou 200 FF
peuvent constituer la valeur.

valeur de champ
Voir valeur.

Crystal Reports Guide de l’utilisateur 719


scr8.book Page 720 Monday, April 2, 2001 12:29 PM

variance
La variance est égale au carré de l’écart-type. Mesure de l'amplitude de la variation
entre toutes les valeurs d'un groupe et la moyenne de ce même groupe. La variance
est un test statistique permettant d'évaluer la variabilité d'un groupe de valeurs
(par exemple le montant des soumissions dans un appel d'offres).
La variance (contrairement à la variance de la population) sert généralement à
projeter la variance d'une population entière sur la base d'un petit échantillon. Elle
permet par exemple, sur la base d'un petit nombre de soumissions, de projeter la
variance de toutes les soumissions déjà entrées. Elle permet également, sur la base
du chiffre des ventes du premier trimestre, de projeter la variance pour les
commandes de toute l'année (en incluant les mois non encore échus).
Remarque : Cette comparaison se réfère simplement à l'utilisation la plus
répandue. Dans la pratique, certains utilisateurs préfèrent un calcul basé sur N
valeurs (PopulationVariance) et d'autres un calcul basé sur N-1 valeurs
(Variance). Crystal Reports gère les deux formes de variance. Pour plus
d'informations à ce sujet, consultez des ouvrages spécialisés.

variance de la population
La variance de la population correspond au carré de l’écart-type. Il s'agit d'une
mesure de l'amplitude de la variation entre toutes les valeurs d'une population et
la moyenne de cette population.
Elle est le plus souvent utilisée pour évaluer un ensemble complet de valeurs et
non un simple échantillon.
Remarque : Cette comparaison se réfère simplement à l'utilisation la plus
répandue. Dans la pratique, certains utilisateurs préfèrent un calcul basé sur N
valeurs (PopulationVariance) et d'autres un calcul basé sur N-1 valeurs
(Variance). Crystal Reports gère les deux formes de variance.

vérifier
Dans la terminologie de Crystal Reports, ce terme ne vise pas la réparation et le
compactage de la base en un fichier MDB (comme dans Access). Il désigne la phase
qui permet à un état de comprendre les modifications apportées à la structure de
la base de données, c'est-à-dire au niveau des champs et des tables MAIS PAS à
celui des enregistrements.

zone
Groupe de sections analogues (telles que Détails A et Détails B) partageant les
mêmes caractéristiques mais pouvant être différemment mises en forme.

720 Crystal Reports Guide de l’utilisateur


scr8.book Page 721 Monday, April 2, 2001 12:29 PM

Index

A modifier
emplacement ..........................................539
A à B, A à C, liaisons ......................................... 597 nom ........................................................539
absolue, mise en forme...................................... 239
relationnelle.................................................538
Access index ......................................................542
base de données ................................. 609, 637
base de données, exemple ...................................35
via le moteur DAO...................................... 610 bases de données
via ODBC ................................................... 637
Access .........................................................609
Access, complément.................................. 390, 394 ACT! ............................................................615
ACT!, base de données.............................. 599, 615
Btrieve .........................................................612
actualisation des données dBASE, FoxPro, Clipper................................607
champs de paramètres ................................ 506
Excel............................................................638
données d'état............................................. 512 Informix .......................................................640
ADO.................................................................. 623
journal d’événements NT.............................626
aire, type de graphe ........................................... 262 Lotus Domino......................................620, 644
ajout
Microsoft Access..........................................637
formes......................................................... 244 Microsoft Excel ............................................638
ligne............................................................ 242
Microsoft Exchange......................................613
Alertes d’état...................................................... 364 Microsoft SQL Server 6.x .............................618
afficher........................................................ 367
Oracle 7 ......................................................617
créer ........................................................... 364 Oracle 8 ......................................................617
modifier ...................................................... 367
Paradox .......................................................608
supprimer.................................................... 367 pilotes avec unité d'exécution sécurisée ......117
utiliser dans les formules ............................. 368
pseudonyme ................................................539
analyse de données avec requêtes ..................... 653 rechercher fichiers .......................................540
anneau, type de graphe ..................................... 263
sélection pour utilisation................................42
annuler/répéter les changements........................ 257 SQL .............................................................641
applications SGBD ............................................ 538
utiliser.....................................................564
applications, installation ...................................... 22 Sybase System 10/11....................................619
architecture client/serveur.................................. 565
Visual FoxPro...............................................643
client........................................................... 566 BeforeReadingRecords (avant la lecture des
et Informix Online Server ............................ 622
enregistrements) ............................................690
serveur ........................................ 565, 566, 571 boîte de dialogue Enregistrer ................................53
traitement côté serveur................................ 571
boîte de dialogue Enregistrer sous ........................53
architecture, modèle relationnel ........................ 538 bordures
Assistant de Crystal Report......................... 390, 391
ajout ............................................................239
création d’un état Access ............................ 394 changement pour les graphes.......................276
création d’un état Excel............................... 391
boursier, type de graphe.....................................264
attributs de propriétés conditionnelles ............... 251 boutons, conventions .............................................9
Btrieve, base de données....................................612
B bulle, type de graphe..........................................264
Baan .................................................................. 631
barres, type de graphe ............................... 262, 275 C
base de données................................................ 539
cadres
et performance............................................ 115
ajouter .........................................................243
fichiers à accès direct.................................. 605
modifier.......................................................243
généralités................................................... 538
cartes

Crystal Reports Guide de l’utilisateur 721


scr8.book Page 722 Monday, April 2, 2001 12:29 PM

centrer.........................................................301 ajouter
concepts...................................................... 280 à un état table croisée Informix
création MetaCube ........................................... 349
dans un sous état .................................... 293 à une requête ......................................... 656
sur champs de détails ............................. 284 insérer
sur champs de groupe............................. 288 champs spéciaux ...................................... 96
sur champs de résumé de Table croisée.. 289 dates d’impression.................................... 96
sur des tables croisées............................. 289 nombre total de pages .............................. 96
Densité du point ..........................................282 numéro de groupe .................................... 96
discordances de données............................. 297 numéro de page ....................................... 96
exploration .................................................. 284 numéros d’enregistrement ........................ 96
faire un panoramique ..................................301 liaison de/vers ............................................. 533
faire un zoom ..............................................301 mise en forme
généralités ................................................... 280 de plusieurs à la fois ............................... 332
Graphe en barres......................................... 283 individuellement dans tables croisées..... 331
Graphe en secteurs......................................283 modification des formats par défaut ............ 240
insertion dans les sous-rapports ...................293 pivoter dans un état table croisée MetaCube350
mise en filigrane ..........................................300 pseudonyme ............................................... 539
modèle ........................................................ 291 redimensionner ............................................. 47
modèle Avancé ........................................... 284 répartir .......................................................... 56
modèle Groupe ........................................... 288 sélectionner .................................................. 46
modèles....................................................... 280 supplémentaires, ajouter ............................... 46
modifier tri ................................................................ 144
avec l’Expert Carte..................................294 champs calculés, liaison de/vers ........................ 533
avec l’onglet Analyseur...........................294 champs Date
bordures ................................................. 300 mise en forme ............................................. 241
cartes géographiques .............................. 298 personnalisation .......................................... 242
couches .................................................. 296 champs Date/Heure
position .................................................. 299 mise en forme ............................................. 241
taille ....................................................... 299 personnalisation .......................................... 242
titres ....................................................... 295 champs de base de données
type ........................................................ 295 combiner dans un objet texte ........................ 48
positionnement............................................ 284 insérer ........................................................... 44
Proportionnel ..............................................282 mappage des champs modifiés.................... 576
Rangé .......................................................... 281 positionner .................................................... 93
compte égal............................................ 282 utiliser dans objet texte ................................. 95
option Ecart-type .................................... 282 champs de détails
option plages égales ............................... 282 création de cartes ........................................ 284
option Rupture naturelle ......................... 282 créer graphe ................................................ 265
types de....................................................... 281 champs de formule
utilisation .................................................... 294 créer graphe ................................................ 265
Case Logic .........................................................126 insérer ........................................................... 96
cellules liaison de .................................................... 533
modifier hauteur..........................................331 liaison de/vers ............................................. 533
modifier largeur........................................... 331 champs de paramètres
chaînes de caractères et sélection création de titre d’état à l’aide de ................ 515
d’enregistrements ............................................ 135 création pour l’utilisation dans une requête. 665
champ BLOB .....................................................100 définir l'ordre de tri ..................................... 518
découpage................................................... 100 liaison au sous-état...................................... 523
mise à l'échelle ........................................... 100 pour lier des sous-états................................ 523
champ de tri ...................................................... 144 pour performance ....................................... 122
champ résumé, création graphes sur .................. 267 réponse aux invites ..................................... 512
champ sous-total, création graphes sur .............. 267 supprimer.................................................... 510
champ unique, trier sur ......................................145 utilisation dans la sélection d'enregistrements122
champs champs Heure
accès aux données BLOB ............................ 100 mise en forme ............................................. 241

722 Crystal Reports Guide de l’utilisateur


scr8.book Page 723 Monday, April 2, 2001 12:29 PM

personnalisation ..........................................242 changer


champs hyperliens, insérer dans un état ...............98 bordures de carte.................................... 300
champs imbriqués, supprimer les lignes vides ....198 bordures de graphe.................................276
champs Instruction SQL taille et position du graphe ..................... 276
création .........................................................98 titres de cartes.........................................295
insérer dans un état........................................97 choix ........................................................... 110
pour Case Logic ...........................................126 créer
pour performance ........................................124 graphe sur champ de détails ................... 265
utilisation.....................................................124 graphe sur champ de formule ................. 265
champs monétaires, mise en forme ....................255 prototype .................................................. 74
champs spéciaux, insérer .....................................96 découper et redimensionner section ............ 193
clauses définir le contenu .......................................... 68
DISTINCT ....................................................569 déplacer section .......................................... 191
FROM..........................................................569 déterminer la présentation ............................. 69
GROUP BY..................................................570 effacer sections pour supprimer un blanc .... 249
ORDER BY ..................................................570 fusion de sections liées ................................ 192
SELECT ........................................................569 graphes
WHERE........................................................569 sur champ résumé .................................. 267
clavier, raccourcis ..................................................9 sur champ sous-total............................... 267
client/serveur, architecture .................................565 sur des cubes OLAP................................ 271
clients de base de données, installation ..............636 Tables croisées ....................................... 269
Clipper ...............................................................607 insérer
colonnes 3D, type de graphe..............................263 champs de base de données ..................... 44
combinaison, tri et groupement..........................146 champs de formule ................................... 96
commandes champs hyperliens.................................... 98
conventions .....................................................9 champs Instruction SQL............................ 97
dynamiques du menu OLE...........................310 champs spéciaux ...................................... 95
Enregistrer......................................................53 images ...................................................... 97
Enregistrer sous ..............................................53 objets OLE .............................................. 308
image ..........................................................310 objets texte ............................................... 94
OLE .............................................................310 sections .................................................. 190
complément Access ...........................................394 lier deux tables de bases de données ou plus. 91
complément Excel..............................................391 mise en forme
compléments......................................................391 absolue................................................... 239
Access .........................................................390 conditionnelle ........................................ 250
Excel............................................................390 des données ........................................... 101
généralités ...................................................390 objets ....................................................... 51
compte égal sur carte Rangé...............................282 option de requêtes......................................... 78
conception d’états ..................................68, 70, 239 organiser données ................................. 71, 101
ajouter placer les données......................................... 93
en-têtes de champ.....................................52 positionner
informations de résumé.....................50, 106 champs de base de données ..................... 93
légendes aux sous-états...........................535 graphe ....................................................264
page titre.................................................104 propriétés binaires conditionnelles ..............250
titre ...........................................................51 redimensionner sections
avec l’onglet Conception ...............................83 pour ajouter un blanc .............................248
caractéristiques d’impression .........................72 pour supprimer un blanc ........................ 249
champs représentation d’objets OLE ......................... 309
redimensionner.........................................47 sélectionner enregistrements........................ 101
sélectionner ..............................................46 stratégies clés .............................................. 109
supprimer .................................................56 supprimer sections....................................... 191
total cumulé..............................................97 utiliser
objet grille OLAP .................................... 336
plusieurs sections.................................... 194
visualiser dans l’onglet Aperçu avant
impression.................................................. 86

Crystal Reports Guide de l’utilisateur 723


scr8.book Page 724 Monday, April 2, 2001 12:29 PM

zones de l’onglet Conception ........................ 84 créer


conception d’un prototype sur papier .................. 74 données exemple ................................... 684
conditionnelle, mise en forme............................ 250 nouveaux dictionnaires .......................... 671
considérations de performance Crystal......................................................... 648
pour tous les états........................................ 550 déplacer champs/en-têtes de champs .......... 680
sélection d’enregistrements.......................... 119 données ........................................................ 78
utiliser index de tables................................. 115 généralités................................................... 670
contrôles de boîtes de dialogue.............................. 9 modifier ...................................................... 687
conventions en-têtes .................................................. 680
bouton.............................................................9 formules ................................................. 680
commande ...................................................... 9 nom des champs .................................... 680
comptables.................................................. 245 sélection
contrôle........................................................... 9 champs pour utilisateurs......................... 676
couleur de fond tables pour utilisateurs............................ 676
alterner les rangées......................................197 didacticiels de l’application
mise en forme (lignes/colonnes)...................331 achèvement de l’état ..................................... 61
couleur, ajouter ................................................. 239 affichage général de l’état ............................. 47
courbe ....................................................... 262, 275 afficher noms de champ ................................ 48
croissant, ordre de tri ................................. 145, 147 ajouter
Crystal Enterprise informations de résumé ............................ 50
capacités d’évolution................................... 109 un titre ..................................................... 51
installation..................................................... 29 champs
Crystal Reports, installation .................................. 22 ajouter...................................................... 46
Crystal SQL Designer, source de données ODBC647 combiner dans un objet texte ................... 48
cubes OLAP, création de graphes sur ................. 271 comprendre.............................................. 45
cumulés, totaux ................................................. 177 redimensionner ........................................ 47
sélectionner.............................................. 46
D supprimer................................................. 56
DAO, ouverture de requêtes Access via ............. 578 conception d’états......................................... 56
Data Access Objects (DAO) ............................... 610 création de l’état ........................................... 41
DataDirect .........................................................641 critères de sélection, définir .......................... 54
pilotes ODBC ..............................................641 enregistrements, trier ..................................... 60
DB2 server .........................................................622 enregistrer état .............................................. 53
dBASE ................................................................ 607 en-tête de champ, ajouter ............................. 52
décroissant, ordre de tri ............................. 145, 147 en-têtes de groupe dynamiques ..................... 59
dépannage groupement................................................... 57
formules de sélection................................... 139 groupement et tri........................................... 57
formules de sélection de groupe .................. 153 insérer
dépassement de la représentation du champ ...... 227 champs .................................................... 44
déplacement/redimensionnement (objets texte).. 200 logos ........................................................ 61
Détails masquer des sections .................................... 43
masquer section ..........................................113 objets, mise en forme .................................... 51
section...........................................................84 sélection de base de données ........................ 42
deux passages, état à..........................................690 sélectionner enregistrements ......................... 54
dictionnaire différente, jointure ............................................. 563
accès pour un état ....................................... 686 diffusion d’états, exporter vers une application .. 354
ajouter dimensionnement .............................................. 100
formules ................................................. 677 DISTINCT, clause .............................................. 569
graphiques..............................................683 données
tables...................................................... 672 actualisation de l'état .................................. 512
texte d’aide............................................. 682 affichage personnalisé ................................... 78
ajouter source de données SQL ou ODBC ... 674 champ BLOB .............................................. 100
conversion d’une version plus ancienne ...... 687 champs de tri .............................................. 144
croissant, ordre de tri .......................... 145, 147
décroissant, ordre de tri....................... 145, 147
dictionnaires ................................................. 78

724 Crystal Reports Guide de l’utilisateur


scr8.book Page 725 Monday, April 2, 2001 12:29 PM

dynamiques .................................................111 enregistrer états.................................................... 53


dynamiques ou enregistrées .........................111 Enregistrer sous, boîte de dialogue ....................... 53
en groupes personnalisés .............................148 Enregistrer, boîte de dialogue ............................... 53
enregistrées..................................................112 en-tête ............................................................... 175
état des commandes d’état ........................................................... 194
groupées par produit...............................318 de page ............................................... 104, 194
groupées par région ................................318 exploration .................................................. 176
groupées par région et produit ................319 standard, création........................................ 172
sans tri/groupement.................................317 supprimer ....................................................175
grouper ........................................................146 En-tête d’état, section ........................................... 84
en intervalle ............................................154 en-tête de groupe
hiérarchiquement....................................160 création ....................................................... 172
par ordre alphabétique............................158 dynamique .................................................. 173
groupes, trier des enregistrements dans ........150 dynamique (basé sur une formule), création 174
liaison de .......................................................91 exploration .................................................. 176
mise en forme pour les états ........................101 personnalisé, création.................................. 175
ordre spécifié ...............................................147 standard ...................................................... 172
placement dans l’état .....................................93 supprimer ....................................................175
réduction du transfert...................................107 En-tête de groupe, section .................................... 84
résumé des données groupées .....................163 En-tête de page, section ....................................... 84
résumées, exploration ..................................102 en-têtes de champs
sélectionner enregistrements ........................101 ajout de nouveaux (dictionnaire) ................. 679
sens de tri d’origine .....................................147 ajouter........................................................... 52
sous-totaux de données groupées ................167 déplacement (dictionnaire) .......................... 680
tables croisées .............................................316 modification du nom (dictionnaire) ............. 680
traduction dans Crystal Reports....................607 nouveau nom .............................................. 680
utilisation des fonctions de résumé ..............659 environnement de conception d’état ..................210
XML, accès ..................................................373 caractéristiques des sections ........................ 211
données exemple, création de dictionnaires.......684 définir orientation et taille du papier............ 236
dossier Exchange, exportation vers .....................356 espace entre les objets texte ........................ 220
Dossiers Enterprise, utilisation ............................361 formulaires pré-imprimés.............................213
Dossiers Web, utilisation....................................360 importation d’objets texte à partir d’un
dynamique, en-tête ............................................173 fichier....................................................... 219
dynamiques, données.........................................111 imprimante par défaut .................................236
dynamiques, en-têtes de groupe ...........................59 marges de page ........................................... 235
masquer
E objets d’états .......................................... 214
Editeur de formule..............................................405 sections .................................................. 214
édition, mode.....................................................201 polices TrueType .........................................235
égale, jointure ....................................................557 positionner objets texte à plusieurs lignes .... 219
enregistrées, données .........................................112 sélectionner objets multiples ....................... 229
enregistrements solutions de conception............................... 210
gestion de totaux cumulés ...........................179 espace blanc
liaisons, relations .........................................544 ajouter
paramétrage de la sélection .........................130 en redimensionnant ................................ 248
processus de lecture ....................................690 entre lignes .............................................248
sélectionner insérer entre les caractères et les lignes........ 232
à l’aide de date .......................................136 supprimer
par des caractères ...................................135 en redimensionnant ................................ 249
par des nombres .....................................135 entre lignes .............................................248
un groupe avec l’Expert Sélection ...........151 par effacement d’une section ..................249
trier........................................................60, 144 espace entre les objets texte ............................... 220
au sein des groupes.................................150 retrait des lignes .......................................... 226
par valeurs de champ..............................661 sélectionner la grille .................................... 220
sur champ unique ...................................145 utiliser la grille.............................................220
état de l’impression, fonctions............................ 486

Crystal Reports Guide de l’utilisateur 725


scr8.book Page 726 Monday, April 2, 2001 12:29 PM

état des données de commandes grouper


groupées par produit ................................... 318 données ................................................. 146
groupées par région ..................................... 318 enregistrements ...................................... 101
groupées par région et produit..................... 319 informations de résumé ............................... 106
sans tri/groupement ..................................... 317 insérer
état table croisée Informix MetaCube champs de base de données ..................... 44
ajouter champ ............................................. 349 champs hyperliens ................................... 98
création ....................................................... 345 champs Instruction SQL ........................... 97
création d’un état Table croisée ...................347 champs spéciaux ................................ 95, 96
pivoter champs dans.................................... 350 objets OLE.............................................. 308
états objets texte ............................................... 94
à deux passages, créer ................................. 690 sections .................................................. 190
à sections multiples ..................................... 190 liaison au sous-état...................................... 523
achèvement................................................... 61 MetaCube, créer ......................................... 345
actualisation des données............................ 512 mise à jour d'anciens fichiers ...................... 111
affichage standard ......................................... 87 mise en forme
afficher arborescence de groupe .................... 88 absolue .................................................. 239
ajouter titre.................................................... 51 conditionnelle ........................................ 250
alertes.......................................................... 364 des données ........................................... 101
caractéristiques de zone d’impression ........... 72 mise en forme conditionnelle des objets ..... 196
champ total cumulé....................................... 97 modifier
champs de formule ........................................96 bordures des cartes................................. 300
choix de conception.................................... 110 emplacements ........................................ 539
combinaison de deux états indépendants ....532 nom base de données............................. 539
conception de base ....................................... 68 titres de cartes ........................................ 295
considérations de performance.................... 550 multi-passages............................................. 690
créer.............................................................. 34 optimisation des performances.................... 107
à l’aide du Démarrage rapide ................... 62 organiser les données ............................ 71, 101
alertes.....................................................364 page titre, ajouter ........................................ 104
état OLAP ............................................... 336 placement des données ................................. 93
journal d’événements NT........................ 601 positionner
nouveau ................................................... 41 cartes ..................................................... 284
prototypes sur papier ................................ 74 champs de base de données ..................... 93
table croisée Informix MetaCube ............ 347 graphe .................................................... 264
découper et redimensionner section ............ 193 objets texte ............................................... 94
définir le contenu .......................................... 68 présentation .................................................. 69
dépassement de la représentation du champ227 prévisualisation pour la première fois .......... 512
déplacer section ..........................................191 représentation d’objets OLE ........................ 309
déterminer données....................................... 70 résumés....................................................... 102
énoncé de l’objectif....................................... 68 pour exploitation.................................... 112
enregistrer ..................................................... 53 sélection
enregistrer sous la version 7.0...................... 359 d’un dictionnaire pour............................ 686
en-têtes de page et pieds de page ................ 104 de base de données.................................. 42
envoyer par télécopie ..................................353 de données et création ............................. 90
et complément Access......................... 390, 394 source de données ........................................ 77
et complément Excel ........................... 390, 391 sous-totaux.................................................. 102
états web, optimisation des performances....107 supprimer sections ...................................... 191
exemples .......................................................34 totaux.......................................................... 102
exporter....................................................... 353 tri des données à l’aide de champs de tri..... 144
vers Lotus Domino..................................357 trier enregistrements .................................... 102
vers Microsoft Mail ................................. 359 utilisation des objets textes .......................... 200
vers un dossier Exchange ........................ 356 utiliser
vers un fichier disque.............................. 356 des sous-états pour combiner des états
vers une application ............................... 354
format de fichier plus rapide........................ 111
fusion de sections liées ................................ 192

726 Crystal Reports Guide de l’utilisateur


scr8.book Page 727 Monday, April 2, 2001 12:29 PM

indépendants ........................................531 exportation


données OLAP ........................................336 au format HTML .......................................... 360
l’onglet Conception ..................................83 au format XML.............................................377
plusieurs sections....................................194 destinations ................................................. 354
visualiser dans l’onglet Aperçu avant états............................................................. 353
impression ..................................................86 types de format pour exporter......................353
zoom avant et zoom arrière .........................103 vers Lotus Domino ...................................... 357
états, experts vers Microsoft Mail...................................... 359
voir Expert État vers un dossier Exchange .............................356
étiquettes XML vers un fichier disque .................................. 356
attributs vers un télécopieur ...................................... 353
ajouter ....................................................382 vers une application .................................... 354
modifier ..................................................383 vers une source de données ODBC ............. 360
supprimer ...............................................384 expression if dans la syntaxe Crystal ..........469, 492
modification du nom d’ ...............................382 Extensible Markup Language
supprimer ....................................................384 Voir XML
Excel externe droite, jointure....................................... 559
base de données ..........................................638 externe gauche, jointure .................................... 558
complément ................................................391
via ODBC ....................................................638 F
Exchange............................................................613 fichiers de bases de données
traitement des données par Crystal Reports ..615 accès direct ................................................. 605
exemple de données ............................................35 rechercher ................................................... 540
Expert Carte........................................................281 fichiers de données
modifier une carte .......................................294 ajout au dictionnaire ................................... 672
Expert Etat Etiquette de publipostage ....................39 considérations lors de la liaison................... 547
Expert Etat Explorer ..............................................39 liaison de..................................................... 547
Expert Etat Formulaire ..........................................38 fonctionnalités de zoom.....................................275
Expert Etat Lettre type ...........................................38 fonctions de résumé, résumé des données ......... 659
Expert Etat OLAP ..................................................39 fonctions état de l’impression.............................486
Expert Etat Standard..............................................37 formats de champs, modification par défaut....... 240
Expert Etat Table croisée.......................................39 formes, ajouter ................................................... 244
Expert Graphe ............................................262, 273 Formulaire, expert................................................ 38
pour modifier des graphes ...........................273 formulaires pré-imprimés ................................... 213
Expert Groupes N Sup/Tri...................................165 formules
Expert Liaison visuelle ..................................91, 551 à partir de champs de paramètres ................ 514
Expert Mise en relief...........................................255 affectation
définition des priorités .................................256 syntaxe Basic .......................................... 427
mise en forme conditionnelle ......................256 syntaxe Crystal........................................ 470
Expert Sélection..........................................133, 151 ajout............................................................408
définir une sélection de groupes ..................152 ajout à un dictionnaire ................................ 677
et l'Editeur de formule de sélection ..............133 avec les champs de paramètres ................... 506
utiliser .........................................................131 base de données exemple Xtreme.mdb 424, 465
Expert Sous-état....................................................39 boucles
experts .................................................................37 syntaxe Basic .......................................... 454
carte ............................................................281 syntaxe Crystal........................................ 497
graphe .................................................262, 273 champs
groupe N Sup/Tri .........................................165 syntaxe Basic .......................................... 425
Sélectionner.................................................131 syntaxe Crystal........................................ 466
standard.........................................................37 champs de paramètres.................................506
exploration commentaires
à l’aide de cartes..........................................284 syntaxe Basic .......................................... 424
à l’aide de graphes.......................................264 syntaxe Crystal........................................ 465
à l’aide de légendes .....................................264 composants ................................................. 402
de données résumées...................................102 saisie ...................................................... 407
exploration, expert ...............................................39

Crystal Reports Guide de l’utilisateur 727


scr8.book Page 728 Monday, April 2, 2001 12:29 PM

constante .....................................................690 supprimer.................................................... 413


copier la spécification ....................................... 413
d’un état à un autre................................. 412 syntaxe........................................................ 403
depuis l’aide en ligne.............................. 411 choix ...................................................... 407
création pour un dictionnaire ...................... 677 types de ...................................................... 404
créer............................................................ 408 formules d’état ....................................... 404
champs de paramètres ............................ 507 formules de mise en forme conditionnelle404
un total cumulé ......................................185 formules de recherche ............................ 405
déboguer .....................................................414 formules de sélection ............................. 405
éditer les formules copiées .......................... 412 types de données plage
Editeur de formule ....................................... 405 syntaxe Basic.......................................... 429
empilement de la sélection .......................... 118 syntaxe Crystal ....................................... 473
et résumés ................................................... 127 types de données simples
et totaux cumulés ........................................ 127 syntaxe Basic.......................................... 427
expression if dans la syntaxe Crystal ............ 492 syntaxe Crystal ....................................... 470
expressions, syntaxe Crystal......................... 467 types de données tableau
fonctions syntaxe Basic.......................................... 431
syntaxe Basic ..........................................441 syntaxe Crystal ....................................... 475
syntaxe Crystal........................................ 484 utilisations habituelles ................................. 401
fonctions état de l’impression ...................... 486 variables
généralités ................................................... 400 syntaxe Basic.......................................... 432
syntaxe Basic ..........................................420 syntaxe Crystal ....................................... 476
syntaxe Crystal........................................ 462 formules booléennes.......................................... 250
insertion dans les états................................. 408 formules constantes ........................................... 690
instructions formules de sélection
if dans la syntaxe Basic ...........................450 amélioration................................................ 118
Select dans la syntaxe Basic.................... 453 champs de paramètres ................................ 506
syntaxe Basic ..........................................426 conditions de limite de plage ...................... 549
limites de taille dépannage .................................................. 139
syntaxe Basic ..........................................459 modèles pour .............................................. 134
syntaxe Crystal........................................ 502 reformulation .............................................. 139
mise en forme conditionnelle formules de sélection de groupe
syntaxe Basic ..........................................445 création....................................................... 153
syntaxe Crystal........................................ 487 dépannage .................................................. 153
modèles de sélection d’enregistrement ........ 134 FoxPro ............................................................... 607
modification du nom (dictionnaire) ............. 680 FROM, clause.................................................... 569
modifier....................................................... 410
nouveautés de la syntaxe Crystal ................. 462 G
opérateurs glisser et déplacer des objets OLE ...................... 308
syntaxe Basic ..........................................447 Glossaire ........................................................... 693
syntaxe Crystal........................................ 489 graphes
ordre de priorité concepts ..................................................... 260
syntaxe Basic ..........................................447 créer ........................................................... 265
syntaxe Crystal........................................ 489 de type table croisée .............................. 269
pour la sélection d’enregistrement ...............130 sur champ de formule ............................ 265
principes de base sur champ résumé .................................. 267
syntaxe Basic ..........................................422 sur champ sous-total .............................. 267
syntaxe Crystal........................................ 464 sur des champs de détails ....................... 265
quand éviter ................................................ 126 sur des cubes OLAP ............................... 271
rechercher et remplacer du texte ................. 410 exploration.................................................. 264
reformulation............................................... 139 à l’aide des légendes .............................. 264
sélection d’enregistrements améliorée ......... 118 fonctionnalités de zoom .............................. 275
structures de contrôle généralités................................................... 260
syntaxe Basic ..........................................450 mise en filigrane.......................................... 277
syntaxe Crystal........................................ 492

728 Crystal Reports Guide de l’utilisateur


scr8.book Page 729 Monday, April 2, 2001 12:29 PM

modifier insérer ......................................................... 222


à l’aide de l’Expert Graphe......................273 positionnement d’objets .............................. 225
bordures .................................................276 rattachement d’objets .................................. 223
position...................................................276 redimensionnement d’objets........................ 225
taille .......................................................276 utilisation ....................................................221
nuage de points XY ......................................263
positionner ..................................................264 H
réorganiser...................................................275 HTML, exportation vers .....................................360
spécification de conditions ..........................265
spécification de valeur .................................265 I
types de .......................................................262
If-Then-Else avec Case Logic .............................. 126
aire .........................................................262 image bitmap, objet lié ...................................... 313
anneau....................................................263
images
barre ...............................................262, 275 et la commande Insérer l’image................... 310
boursier ..................................................264
insérer ..................................................... 61, 97
bulle .......................................................264 importation d’objets texte à partir d’un fichier.... 219
colonnes 3D ...........................................263
impression
courbe ............................................262, 275 caractéristiques de zone d’état....................... 72
radar .......................................................263
tables croisées sur plusieurs pages ............... 333
secteurs...................................................262 imprimante par défaut........................................ 236
surface 3D ..............................................263
incorporés, vs. objets liés ................................... 311
utilisation.....................................................273 index de tables pour performance ......................115
de l’onglet Analyseur pour l’édition ........273
indexées, tables ................................................. 542
graphes, modèles ...............................................261 Indicateur d’âge des données ............................... 87
graphiques
inférieure à, jointure .......................................... 561
ajout au dictionnaire....................................683 inférieure ou égale à, jointure ............................ 562
insérer .....................................................61, 97
informations de résumé, ajouter ........................... 50
grille OLAP, objet...............................................336 Informix
GROUP BY, clause ............................................570
base de données.......................................... 640
groupement..................................................57, 146 via ODBC....................................................640
avec instructions SQL ..................................126
Informix Online Server....................................... 622
données en intervalle...................................154 Insertion, bouton................................................ 190
données par ordre alphabétique ..................158
installation
et performance ............................................125 à partir d’un réseau........................................ 26
états...............................................................57
à partir du CD ............................................... 23
hiérarchique ................................................160 clients de base de données .......................... 636
modification des groupes .............................162
configuration requise..................................... 22
ordre de tri spécifié ......................................147 Crystal Enterprise ........................................... 29
sens de tri d’origine .....................................147
Crystal Reports .............................................. 22
sous-totaux ..................................................167 en réseau....................................................... 24
sur le serveur ...............................................125
personnalisation ............................................ 27
avantages................................................125 sur un réseau ................................................. 25
groupes
instructions if dans la syntaxe Basic ................... 450
calculer un pourcentage ..............................171 Instructions SQL
créer
DISTINCT, clause ........................................ 569
un total cumulé.......................................181 FROM, clause.............................................. 569
un total cumulé à l’aide d’une formule ...185
GROUP BY, clause...................................... 570
un total cumulé conditionnel ..................182 ORDER BY, clause ...................................... 570
modifier .......................................................162
SELECT, clause ............................................ 569
personnalisé, créer.......................................148 WHERE, clause............................................ 569
sélection pour inclure dans une requête ......660
intervalles, groupement des données en............. 154
sélectioner avec l’Expert Sélection ...............151
tri.................................................................691 J
trier des enregistrements dans ......................150
guides jointure
affichage ......................................................221 différente ..................................................... 563

Crystal Reports Guide de l’utilisateur 729


scr8.book Page 730 Monday, April 2, 2001 12:29 PM

égale ........................................................... 557 supprimer.................................................... 198


externe droite ..............................................559 lignes
externe gauche ............................................ 558 ajouter ........................................................ 242
inférieure à .................................................. 561 ajouter espace vide entre ............................ 248
inférieure ou égale à .................................... 562 alterner les couleurs de fond ....................... 197
SQL .............................................................556 modifier ...................................................... 242
supérieure à................................................. 560 supprimer espace vide entre........................ 248
supérieure ou égale à ..................................561 listes, créer des totaux cumulés dans ................. 179
journal d’événements NT ................................... 626 logiciel, enregistrement.......................................... 8
création d’états ............................................ 601 logos, insérer ................................................. 61, 97
longueur variable d’objets ................................. 195
L Lotus Domino............................................ 620, 644
langage SQL ...................................................... 568 ODBC, exportation vers .............................. 357
légendes, ajouter aux sous-états ......................... 535 via ODBC ................................................... 644
Lettre type, expert ................................................38
lettres types M
adresse interne ............................................ 204 marges de page.................................................. 235
créer............................................................ 202 paramétrage de marges spécifiques ............. 235
imprimer des messages conditionnels.......... 207 utilisation des marges par défaut ................. 235
insertion d'une date ..................................... 203 masquer
salutation.....................................................205 en-tête de groupe ........................................ 175
utilisation objets .......................................................... 214
d’un objet texte pour la création ............. 202 sections......................................................... 43
des objets textes......................................200 menu Insérer
Liaison intelligente ............................................. 551 commande Image ....................................... 310
liaison de tables à index multiples ...............552 commande OLE .......................................... 310
liaisons menu, commandes dynamiques OLE................. 310
à partir de tables..........................................544 Merant DataDirect............................................. 641
considérations sur les bases de données SQL549 messages conditionnels, imprimer dans des lettres
de A à B, A à C............................................ 597 types............................................................... 207
de tables indexées ....................................... 552 Microsoft
de/vers champs calculés .............................. 533 base de données Access ...................... 609, 637
de/vers un champ de formule ...................... 533 bases de données Excel ............................... 638
deux tables de base de données ou plus ........ 91 Exchange .................................................... 613
Expert Liaison visuelle ................................. 551 SQL Server 6.x ............................................ 618
fichiers de données......................................547 SQL Server 7.0 ............................................ 618
plusieurs tables.............................................. 91 Microsoft Mail
situation un-à-plusieurs ............................... 524 ODBC, exportation vers .............................. 359
sous-état à l’état principal............................ 528 Microsoft Outlook ............................................. 627
sous-états.....................................................524 Microsoft Proxy ................................................. 628
tables........................................................... 543 mise en filigrane
pour performance ................................... 115 avec des graphes ......................................... 277
tables multiples dans le dictionnaire............ 675 de cartes ..................................................... 300
tables non-indexées..................................... 534 mise en forme
vers une autre table ..................................... 544 absolue ....................................................... 239
liaisons un à plusieurs ........................................ 597 ajouter
considérations de performance.................... 545 des formes .............................................. 244
liaisons, relations ............................................... 544 des lignes ............................................... 242
un-à-plusieurs......................................544, 597 des lignes vides conditionnellement ....... 199
un-à-un ....................................................... 544 bordures, couleur et ombrage ..................... 239
lié, objet image bitmap ......................................313 champs de tables croisées ........................... 331
liées, tables SQL ................................................ 549 concepts ..................................................... 210
liés, vs. objets incorporés ................................... 311
ligne vide
ajouter conditionnellement.......................... 199

730 Crystal Reports Guide de l’utilisateur


scr8.book Page 731 Monday, April 2, 2001 12:29 PM

conditionnelle .....................................239, 250 Navigateur de carte


à l’aide de la syntaxe Crystal...................487 afficher ........................................................304
avec l’Expert Mise en relief .....................255 centrer......................................................... 301
avec la syntaxe Basic ..............................445 faire un panoramique .................................. 301
des objets................................................196 faire un zoom .............................................. 301
conditionnelle avec Expert Mise en relief.....255 masquer ...................................................... 304
conventions comptables ..............................245 noms de champ, afficher...................................... 48
couleur de fond de lignes/colonnes entières nuage de points XY, type de graphe ................... 263
dans une table croisée ..............................331
de plusieurs champs de tables croisées ........332 O
définir les priorités de mise en relief ............256 Objet ActiveX Data ............................................ 623
données pour les états .................................101 objet image bitmap lié ....................................... 313
éliminer des lignes vides..............................198 objet OLE........................................................... 306
modifier des lignes.......................................242 glisser et déplacer........................................ 308
objets.............................................................51 incorporé..................................................... 312
propriétés ....................................................239 insérer ......................................................... 308
tables croisées .............................316, 330, 331 lié vs. incorporé........................................... 311
mise en relief, expert ..........................................255 représentation dans un état.......................... 309
mode déplacer/redimensionner ..........................200 statique........................................................310
mode édition (objets texte) .................................201 objet texte
modèles de carte ................................................280 combiner des champs dans un ...................... 48
Avancé ........................................................280 insérer ........................................................... 94
Groupe ........................................................280 mode déplacement/redimensionnement ...... 200
OLAP...........................................................281 mode édition ............................................... 201
Table croisée ...............................................281 positionner .................................................... 94
modèles de formules utilisation de guides.....................................221
de sélection d’enregistrements .....................134 utiliser ......................................................... 200
utiliser .........................................................137 pour créer une lettre type........................ 202
modèles de graphes............................................261 un champ de base de données dans ......... 95
Avancé ........................................................261 objets
Groupe ................................................261, 267 champ de paramètre.................................... 506
OLAP...................................................261, 271 de longueur variable.................................... 195
Table croisée .......................................261, 269 et guides...................................................... 221
modèles de sélection d’enregistrement ...............137 fusion de sections liées ................................ 192
à l’aide de dates...........................................136 glisser et déplacer des objets OLE................ 308
à l’aide de nombres .....................................135 grille OLAP.................................................. 336
à l’aide de plages de dates prédéfinies .........136 incorporé..................................................... 311
avec chaînes de caractères ..........................135 liés vs. incorporés (OLE) .............................. 311
combinaisons date/nombre/caractère...........137 mise en forme................................................ 51
modifier conditionnelle ........................................ 196
cartes ...........................................................294 OLE statique ................................................ 310
ligne ............................................................242 positionnement à l’aide de guides ............... 225
requête SQL.................................................598 rattachement à des guides ........................... 223
moteur DAO ......................................................610 redimensionnement à l’aide de guides......... 225
Microsoft Access..........................................610 texte (insertion).............................................. 94
MS Mail .............................................................613 utilisation de texte ....................................... 200
multi-passages, états...........................................690 ODBC
bases de données SQL .................................641
N connexion à MS SQL Server ........................ 590
N inf Informix....................................................... 640
groupe sélectionner .....................................165 Lotus Domino.............................................. 644
tri.................................................................691 Microsoft Access .........................................637
N sup Microsoft Excel............................................ 638
groupe sélectionner .....................................165 ouverture de requêtes Access via ................. 579
tri.................................................................691 source de données....................................... 632

Crystal Reports Guide de l’utilisateur 731


scr8.book Page 732 Monday, April 2, 2001 12:29 PM

Visual FoxPro ..............................................643 croissant.............................................. 145, 147


ODBC, table de base de données décroissant .......................................... 145, 147
ajout à un état ............................................. 589 définir avec champs de paramètres ............. 518
OLAP original ....................................................... 147
création d’états ............................................ 336 spécifié ....................................................... 147
mise à jour de l'emplacement de la base de
données.................................................... 343 P
modèle pour cartes......................................291 Paradox, base de données ................................. 608
objets grille.................................................. 336 paramètres, mise en forme des champs
OLAP, expert .......................................................39 Date/Heure..................................................... 241
OLE ................................................................... 610 passage
commandes du menu (dynamiques) ............ 310 N sup/inf ..................................................... 691
définition .....................................................306 organigramme ............................................. 692
et la commande Image ................................ 310 passage n°2 ................................................. 691
fonctionnalité ..............................................307 passage nº1 ................................................. 690
objet lié vs. objet incorporé ......................... 311 pré-passage n°2........................................... 691
objets incorporés ......................................... 311 pré-passage n°3........................................... 691
OLE DB .............................................................646 pré-passage nº1 ........................................... 690
ombrage ............................................................ 239 tri de groupe ............................................... 691
onglet Analyseur ........................................ 273, 294 PeopleSoft ......................................................... 645
changer le type de carte .............................. 295 performance
création de graphes avec ............................. 273 avec sélection d’enregistrements ................. 118
mise en forme de graphes............................ 274 avec sous-états ............................................ 113
réorganiser .................................................. 275 optimisation ................................................ 107
onglet Aperçu ...................................................... 86 stratégies clés .............................................. 109
affichage de l’arborescence de groupe........... 88 personnalisation
affichage standard ......................................... 87 affichage des données ................................... 78
correspondances / onglet Conception ............ 88 définitions d’état XML ................................. 379
différences / onglet Conception .....................88 groupement et tri........................................... 57
onglet Conception ............................................. 202 installation .................................................... 27
correspondances / onglet Aperçu................... 88 pied de page .............................................. 104, 194
différences / onglet Aperçu ............................ 88 créer à partir de la deuxième page .............. 253
diviser les sections......................................... 86 d’état..................................................... 84, 194
guides horizontaux ........................................86 Pied de page d’état, section ................................. 84
guides verticaux ............................................86 Pied de page de groupe, section .......................... 84
noms de champ, afficher ............................... 48 pilotes d’impression........................................... 237
redimensionner les sections........................... 86 incohérences............................................... 238
zones............................................................. 84 mise à jour des pilotes d'impression ............ 237
onglet Instructions SQL ........................................98 pilotes de bases de données avec unité d'exécution
onglets sécurisée....................................................... 117
Analyseur .................................................... 273 placement libre.................................................. 229
Conception.................................................... 83 actif............................................................. 229
différences entre Conception et Aperçu ......... 88 désactivé ..................................................... 230
SQL, instructions ........................................... 98 utilisation de guides .................................... 231
Open Database Connectivity (ODBC) ................ 632 placement vertical ............................................. 231
options plages de dates pour sélection d’enregistrements136
Ecart-type, carte Rangé ................................ 282 polices
plages égales, carte Rangé ...........................282 conditionnelles ........................................... 252
Rupture naturelle, carte Rangé..................... 282 tailles de police fractionnaires ..................... 233
Oracle 7 ............................................................ 617 TrueType..................................................... 235
Oracle 8 ............................................................ 617 positionnement
ORDER BY, clause ............................................. 570 d’objets texte à plusieurs lignes ................... 219
ordre de priorité des cartes .................................................... 284
syntaxe Basic............................................... 447 procédures stockées................................... 117, 567
syntaxe Crystal ............................................ 489 et performance ............................................ 117
ordre de tri

732 Crystal Reports Guide de l’utilisateur


scr8.book Page 733 Monday, April 2, 2001 12:29 PM

produit, enregistrement ..........................................8 spécifier


propriétés enregistrements à inclure dans................ 662
attribut conditionnel ....................................251 table ....................................................... 654
conditionnelles avec attributs ......................251 requêtes de paramètre Access, ouvrir ................. 581
propriétés binaires réseaux client/serveur ........................................ 565
conditionnelles ............................................250 résolution des discordances de données ............ 297
prototypes d’états, conception..............................74 résumé de données groupées .............................163
pseudonyme.......................................................539
publipostage, expert .............................................39 S
SAP.................................................................... 630
Q secteurs géographiques
Query Designer dans les cartes Graphe en secteurs ..............283
créer une nouvelle requête ..........................653 Secteurs, type de graphe .................................... 262
informations sur une liaison .........................655 section Détails ................................................... 194
liaison des tables et définition du type de sections
jointure .....................................................655 caractéristiques............................................ 211
prévisualisation des données .......................654 caractéristiques d’impression......................... 72
spécification d’une table ..............................654 déplacer ...................................................... 191
Détails........................................................... 84
R diviser ......................................................... 193
raccourcis clavier ...................................................9 effacer pour supprimer un blanc ..................249
radar, type de graphe .........................................263 en-tête d’état ................................................. 84
rattachement d’objets à des guides .....................223 en-tête de groupe .......................................... 84
redimensionner En-tête de page .............................................. 84
champs ..........................................................47 fusionner sections liées................................ 192
sections pour ajouter un blanc .....................248 insérer ......................................................... 190
sections pour supprimer un blanc ................249 masquer dans l’état...................................... 214
réimportation des sous-états ...............................527 multiples dans un état.................................. 194
relationnelle, base de données ...........................538 Pied de page.................................................. 84
réorganiser graphes ............................................275 pied de page (général) ................................... 84
requête Access pied de page de groupe ................................. 84
ouverture .....................................................581 redimensionner ........................................... 193
ouverture via DAO ......................................578 redimensionner pour supprimer un blanc .... 249
ouverture via ODBC ....................................579 supprimer ....................................................191
requête SQL utilisation ...................................................... 85
modifier ...............................................568, 598 sections d’état
utilisation d'une requête conçue ailleurs......666 ajouter......................................................... 190
requêtes ...............................................................78 déplacer ...................................................... 190
ajouter champs ............................................656 fusionner ..................................................... 190
analyse de données .....................................653 supprimer ....................................................190
créer sections multiples
à partir d’une autre requête .....................663 éliminer des lignes vides.............................. 198
nouvelle..................................................653 utilisation dans les états ............................... 194
un champ de paramètre pour..................665 SELECT, clause................................................... 569
définition .....................................................652 sélection d’enregistrements
identification des valeurs uniques ................657 amélioration ................................................ 118
informations sur une liaison .........................655 astuces de performance ............................... 119
liaison des tables et définition du type de avec chaînes de caractères .......................... 135
jointure .....................................................655 avec des champs de paramètres ..................506
prévisualisation des données .......................654 avec plages de dates.................................... 136
prise de décision avec .................................653 empilement ................................................. 118
sélection des groupes à inclure ....................660 formules, utilisation .....................................132
séries de données de....................................653 paramétrage ................................................ 130
utiliser l’Expert Sélection .............................131
sélection, formules de

Crystal Reports Guide de l’utilisateur 733


scr8.book Page 734 Monday, April 2, 2001 12:29 PM

ajustement................................................... 141 liaison ......................................................... 114


avancées .....................................................120 à l’état principal sans modifier la formule
création ....................................................... 153 de sélection ......................................... 530
dépannage................................................... 139 aux données de l’état principal............... 528
espaces indésirables dans la formule ...........142 entre bases de données dans des situations
majuscule, incohérences avec minuscule ....141 un-à-plusieurs ..................................... 524
modèles pour ..............................................134 liés et non-liés ............................................. 522
pour performance ........................................ 118 liés, performance ........................................ 114
stratégie pour l’écriture ................................ 120 mise à jour d’états liés ................................. 527
sélectionner mise à jour manuelle................................... 528
objets multiples ........................................... 229 pour combiner des états indépendants ........ 531
source de données XML .............................. 376 pour performance ....................................... 113
séries de données prévisualisation ........................................... 526
création avec SQL Designer ........................ 653 réimportation .............................................. 527
de requête ................................................... 653 utilisation .................................................... 522
serveur MS SQL, connexion via ODBC .............. 590 avec des données impossibles à lier ....... 532
serveur, groupement sur..................................... 125 conseils .................................................. 113
SGBD, SQL ........................................................ 567 sous-totaux, données groupées .......................... 167
situation un-à-plusieurs, liaison entre fichiers de spécifié, ordre de tri........................................... 147
données ........................................................ 547 SQL
solutions de conception ..................................... 210 bases de données ................................ 549, 641
source de données ....................................... 77, 604 bases de données via ODBC ....................... 641
Baan ............................................................ 631 considération sur les bases de données avec
dictionnaires.................................................. 78 liaison ..................................................... 549
généralités ................................................... 604 définition .................................................... 564
Microsoft Proxy ........................................... 628 expressions, ajouter..................................... 657
Objet ActiveX Data ..................................... 626 groupement côté serveur ............................. 572
ODBC, configuration................................... 585 jointures ...................................................... 556
OLE DB ....................................................... 646 langage ............................................... 568, 652
PeopleSoft ................................................... 645 Microsoft, Server 6.x ................................... 618
requêtes......................................................... 78 procédures stockées .................... 117, 567, 594
SAP .............................................................630 requêtes ........................................................ 78
Web/IIS, fichiers journaux ...........................629 SGBD.......................................................... 567
XML ............................................................ 373 syntaxe........................................................ 564
source de données ODBC..................................632 utilisation .................................................... 568
connexion à ................................................ 588 utilisation des instructions ........................... 124
déconnexion de........................................... 591 SQL Designer ...................................................... 78
modifier....................................................... 592 création de séries de données avec ............. 653
ODBC, ajouter à un dictionnaire ................. 674 généralités................................................... 652
ODBC, exportation vers .............................. 360 utiliser ......................................................... 653
ODBC, ouverture pour un dictionnaire........ 674 SQL, source de données, ouverture pour un
paramétrage ................................................ 585 dictionnaire .................................................... 674
type de jointure SQL.................................... 556 standard, en-têtes de groupe .............................. 172
vérification de la configuration .................... 587 supérieure à, jointure......................................... 560
source de données XML, sélectionner ................ 376 supérieure ou égale à, jointure........................... 561
Sous-état, expert .................................................. 39 Support technique ................................................. 9
sous-états ........................................................... 549 supprimer
à la demande............................................... 534 ligne vide .................................................... 198
à la demande, performance ......................... 113 sections....................................................... 191
ajouter légendes ..........................................535 Supprimer, bouton............................................. 191
création de cartes ........................................ 293 surface 3D, type de graphe ................................ 263
différentes vues des mêmes données ...........536 Sybase System 10/11 ......................................... 619
enregistrement comme état principal ...........527 syntaxe Basic ..................................................... 420
généralités ................................................... 522 affectation ................................................... 427
insérer .........................................................525

734 Crystal Reports Guide de l’utilisateur


scr8.book Page 735 Monday, April 2, 2001 12:29 PM

boucles données monétaires.....................................470


do ...........................................................457 données numériques ................................... 470
For/Next..................................................454 expression if ........................................ 469, 492
mécanismes de sécurité ..........................458 expressions.................................................. 467
while ......................................................458 multiples ................................................ 467
chaînes ........................................................427 select ...................................................... 496
champs ........................................................425 fonctions ..................................................... 484
commentaires ..............................................424 évaluation .............................................. 486
conseil pour l'apprentissage.........................420 non spécifiques à la réalisation d’états .... 484
création d’une formule ................................408 plages de dates ....................................... 485
Date ............................................................428 résumé....................................................485
DateHeure ...................................................428 tableau ................................................... 486
données monétaires .....................................427 généralités ................................................... 462
données numériques....................................427 Heure .......................................................... 472
fonctions......................................................441 limites de taille ............................................ 502
de résumé ...............................................442 mise en forme conditionnelle ......................487
de tableau ...............................................443 nouveautés .................................................. 462
du moment d’évaluation .........................443 opérateurs ................................................... 489
état de l’impression .................................444 arithmétiques.......................................... 489
généralités ...................................................420 champs NULL.........................................490
Heure ..........................................................428 comparaison........................................... 490
instruction SELECT .......................................453 formule Booléenne .................................490
instructions ..................................................426 ordre de priorité .......................................... 489
instructions if ...............................................450 principes de base.........................................464
mise en forme conditionnelle ......................445 structures de contrôle .................................. 492
opérateurs....................................................447 types de données
arithmétiques ..........................................447 plage ...................................................... 473
champs NULL.........................................448 simples ................................................... 470
comparaison ...........................................448 tableau ................................................... 475
formule Booléenne .................................448 Valeurs booléennes .....................................472
ordre de priorité...........................................447 variables...................................................... 476
plages de dates ............................................443 conversions de type automatiques ..........483
principes de base .........................................422 déclaration .............................................476
structures de contrôle ..................................450 portée ..................................................... 477
types de données tableau ................................................... 480
plage.......................................................429 Système de Gestion de Base de Données (SGBD)
simples ...................................................427 SQL ............................................................. 567
tableau....................................................431
valeurs booléennes ......................................428 T
variables ......................................................432 Table croisée, expert............................................ 39
conversions de type automatiques ..........440 table de base de données
déclaration..............................................432 index ........................................................... 542
portée .....................................................434 mise à jour de l'emplacement (dictionnaire) 681
tableau....................................................437 table de base de données ODBC, ajouter à
syntaxe Crystal ...................................................462 un état ............................................................589
affectation....................................................470 tables
boucles éliminer des lignes vides.............................. 198
For ..........................................................497 Expert Liaison visuelle .................................551
mécanismes de sécurité ..........................502 indexées ...................................................... 542
while ......................................................500 liaisons ........................................543, 544, 551
chaînes ........................................................471 des enregistrements ................................ 544
champs ........................................................466 deux ou plus............................................. 91
commentaires ..............................................465 plusieurs tables dans le dictionnaire ....... 675
création d’une formule ................................408 pour performance ................................... 115
Date ............................................................472 vers ........................................................544
DateHeure ...................................................472

Crystal Reports Guide de l’utilisateur 735


scr8.book Page 736 Monday, April 2, 2001 12:29 PM

méthodes de consultation............................ 553 True Type, police............................................... 235


non-indexées, liaison................................... 534 types de carte
pseudonyme ................................................ 539 Densité du point ......................................... 282
SQL liées .....................................................549 Graphe en barres ........................................ 283
tables croisées Graphe en secteurs ..................................... 283
création de cartes ........................................ 289 Proportionnel .............................................. 282
champ résumé ........................................ 289 Rangé.......................................................... 281
création de graphes sur résumés .................. 269 types de jointure
généralités ................................................... 316 différente..................................................... 563
impression sur plusieurs pages..................... 333 égal ............................................................. 557
mise en forme......................................330, 331 externe droite .............................................. 559
champs individuels................................. 331 externe gauche............................................ 558
couleur de fond de ligne/colonne ...........331 inférieure à.................................................. 561
plusieurs champs à la fois .......................332 inférieure ou égale à ................................... 562
modifier SQL............................................................. 556
cellules. .................................................. 331 supérieure à ................................................ 560
hauteur ................................................... 331 supérieure ou égale à .................................. 561
largeur .................................................... 331
supprimer V
colonnes................................................. 332 valeurs
rangées vides ..........................................332 champs de paramètres ................................ 506
sous-totaux ............................................. 332 champs uniques, trier .................................. 145
totaux généraux ......................................332 croissant, ordre de tri .......................... 145, 147
tables de base de données à accès direct, liaisons552 de champs, tri des enregistrements par ........ 661
tables indexées, liaisons ..................................... 552 de groupe, tri après résumé ......................... 165
tables multiples, liaisons dans le dictionnaire..... 675 décroissant, ordre de tri....................... 145, 147
télécopier un état ............................................... 353 données monétaires .................................... 227
texte d’aide, ajouter au dictionnaire ...................682 en groupes personnalisés ............................ 148
titres..................................................................... 51 numériques ................................................. 227
ajouter page titre ......................................... 104 et conventions comptables ..................... 245
cartes........................................................... 295 sens du tri ................................................... 145
totaux ................................................................ 102 tri des groupes résumés ............................... 165
avec instructions SQL ..................................126 variables
cumulés....................................................... 177 syntaxe Basic .............................................. 432
et performance ............................................ 125 syntaxe Crystal ............................................ 476
totaux cumulés variables globales, quand éviter......................... 127
conditionnels, créer pour un groupe............ 182 version 7.0, enregistrement des états.................. 359
créer à l’aide de formules ............................ 185 Visual FoxPro, base de données......................... 643
créer pour un groupe................................... 181
dans des états A à B, A à C .......................... 184 W
totaux cumulés dans une liste ...................... 179
Web/IIS, fichiers journaux.................................. 629
touches, combinaisons........................................... 9 WHERE, clause .................................................. 569
transfert des données, réduction......................... 107
tri X
avec instructions SQL ..................................126
enregistrements ............................................. 60 XML................................................................... 370
dans des groupes .................................... 150 Document Type Definition (DTD) ............... 371
par valeurs de champs ............................ 661 exportation.................................................. 377
et performance ............................................ 125 Extensible Stylesheet Language (XSL)........... 372
états...............................................................57 feuilles de style ........................................... 372
groupe .........................................................691 format personnalisé ..................................... 379
N inf............................................................ 691 personnalisation des définitions d’état ......... 379
N sup .......................................................... 691 schéma ....................................................... 371
par enregistrement....................................... 144 schéma Crystal ML ...................................... 379
sur champ unique........................................ 145
valeurs de groupe résumées......................... 165

736 Crystal Reports Guide de l’utilisateur


scr8.book Page 737 Monday, April 2, 2001 12:29 PM

spécifications de sortie.................................384
format personnalisé.................................386
schéma Crystal ML..................................385
transformations ............................................372
Xtreme.mdb .........................................................35

Z
zones, utilisation ..................................................85

Crystal Reports Guide de l’utilisateur 737

S-ar putea să vă placă și