Onglet Liens de l'Expert Base de données. Business Objects Crystal Reports 2008 SP1
Bases de données
25
Mises en relation des tables
Considération 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. Par exemple, supposons que vous ayez trois produits (Produit 1, Produit 2 et
Produit 3) et que vous souhaitiez identifier toutes les ventes du Produit 2 aux Etats-Unis. Le champ Produit ne contient aucun index mais le champ
Date de commande en contient un. Vous savez que le Produit 2 n'a pas été expédié avant juillet 1995 et vous pouvez donc accélérer la recherche en limitant votre rapport aux commandes placées pendant et après le mois de juillet 1995 à l'aide de la formule de sélection. Dans ce cas, le logiciel utilise l'index Date de commande pour extraire uniquement les commandes passées
à partir de juillet 1995 (un petit sous-ensemble de la base de données complète), puis recherche les occurrences du Produit 2 dans ce sous-ensemble, et non dans la base de données complète.
Onglet Liens de l'Expert Base de données
L'onglet Liens de l'Expert Base de données facilite la création des liens entre les tables. Choisissez l'Expert Base de données dans le menu Base de données pour afficher toutes les tables actuelles ; choisissez ensuite l'onglet
Liens pour afficher tous les liens actuels.
Le moyen le plus simple d'établir une mise en relation entre deux tables est de cliquer sur le bouton Mise en relation automatique dans l'onglet Liens de l'Expert Base de données. Cette fonction établit automatiquement les liens entre les tables sur la base des champs communs ou des champs indexés
(si votre base de données gère les champs indexés).
Mise en relation des tables indexées
Lorsque vous établissez une mise en relation entre deux tables de base de données à accès direct, vous associez une table principale à l'un des champs de la table de recherche. Le champ de mise en relation de la table principale peut être indexé, mais ce n'est pas indispensable. Il n'est pas non plus indispensable que le champ de mise en relation de la table de recherche
728 Guide de l'utilisateur de Crystal Reports 2008 SP1
Bases de données
Mises en relation des tables
25 soit indexé, à moins que vous n'utilisiez pas de pilote natif pour votre connexion.
De plus, les champs utilisés pour relier les deux tables doivent être du même type de données. Par exemple, vous pouvez relier un champ de chaîne dans une table à un champ de chaîne dans une autre table ou relier un champ numérique dans une table à un champ numérique dans une autre table. Mais vous ne pouvez pas relier un champ numérique dans une table à un champ de chaîne dans une autre table.
• 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 effectuer une mise en relation avec une autre table, vous devez créer ce lien avec un champ appartenant au type de données initial. Vous ne pouvez pas relier une valeur de type chaîne à un champ numérique qui a été converti en chaîne dans l'index.
• En cas de mise en relation 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 relié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 mise en relation entre des sources de données différentes dans Crystal Reports excepté des chaînes.
• Lorsque vous reliez 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 mise en relation
Lorsque vous utilisez la fonction Mise en relation intelligente pour relier 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 mise en relation. Il se peut que cet index ne soit pas celui que vous voudriez utiliser. Supprimez le lien établi par la fonctionnalité Mise en relation intelligente et reliez les tables manuellement. Pour en savoir plus, voir
Mise en relation de plusieurs tables
page 127.
Guide de l'utilisateur de Crystal Reports 2008 SP1 729

Public link updated
The public link to your chat has been updated.