Corel Paradox 9 User Guide - Claveau...

592
Paradox ® 9 Guide de l’utilisateur

Transcript of Corel Paradox 9 User Guide - Claveau...

Paradox®9

Guide de l’utilisateur

Copyright © 1999 COREL CORPORATION et COREL CORPORATION LIMITED. Tous droits réservés.

Guide de l�utilisateur Paradox® 9

Le contenu de ce manuel et du logiciel Paradox® 9 qui lui est associé sont protégés par copyright et sont la propriété deCorel Corporation et Corel Corporation Limited et de leurs bailleurs respectifs. Toute reproduction totale ou partielle eststrictement interdite. Pour de plus amples informations, reportez-vous à la section À propos de... dans le menu Aide dulogiciel.

Logiciels :

Cet ouvrage a été conçu et créé avec les logiciels graphiques et de PAO primés de Corel® : WordPerfect® etCorel VENTURA� ont été utilisés pour la production du livre et CorelDRAW® et Corel PHOTO-PAINT® pour la créationdes illustrations.

Photographies : NASA (National Aeronautic and Space Administration).

902049

TABLE DES MATIÈRESChapitre 1 Bienvenue dans Paradox 9 . . . . . . . . . 7

Installation de Paradox 9 . . . . . . . . . . . . . . . 8

Utilisation de la documentation Paradox . . . . . . . . . . . . 12

Bureau de Paradox . . . . . . . . . . . . . . . . 20

Services et assistance technique . . . . . . . . . . . . . 26

Autres options d�assistance Paradox 9 . . . . . . . . . . . . 28

Service Professional . . . . . . . . . . . . . . . . 31

Service Clientèle . . . . . . . . . . . . . . . . . 31

Chapitre 2 Mise en route . . . . . . . . . . . 33

Introduction aux systèmes de base de données. . . . . . . . . . . 34Fonctionnement des bases de données relationnelles . . . . . . . . . . . 35

Comprendre les objets Paradox . . . . . . . . . . . . . . 43

Définition des préférences pour le bureau et pour le système . . . . . . . . 48

Configuration des préférences ObjectPAL . . . . . . . . . . . . 51

Organisation de vos projets de bases de données . . . . . . . . . . 52Fenêtre Projet . . . . . . . . . . . . . . . . . 53Répertoires . . . . . . . . . . . . . . . . . 56Alias . . . . . . . . . . . . . . . . . . . 58

Impression, enregistrement, fermeture et sortie . . . . . . . . . . 61

Chapitre 3 Tables . . . . . . . . . . . . . 63

Création de tables . . . . . . . . . . . . . . . . 64Index . . . . . . . . . . . . . . . . . . 70

Maintien de l�intégrité des données . . . . . . . . . . . . . 75Contrôles de validité . . . . . . . . . . . . . . . . 76Tables de référence . . . . . . . . . . . . . . . . 83Mots de passe . . . . . . . . . . . . . . . . . 87Intégrité référentielle . . . . . . . . . . . . . . . . 92

Concepteur de base de données visuel . . . . . . . . . . . . 96

Navigation et affichage des tables . . . . . . . . . . . . . 101

Filtrage des tables . . . . . . . . . . . . . . . . 108

Tri des tables . . . . . . . . . . . . . . . . . 118

Restructuration des tables . . . . . . . . . . . . . . . 121

Table des matières i

Restructuration et intégrité référentielle . . . . . . . . . . . . 126Changement de type de champ . . . . . . . . . . . . . . 128Récupération des tables . . . . . . . . . . . . . . . 130

Modification de l�aspect des tables . . . . . . . . . . . . . 132Réorganisation des champs, colonnes et lignes . . . . . . . . . . . 133Modification des propriétés d�une table. . . . . . . . . . . . . 135

Formats de données . . . . . . . . . . . . . . . . 146

Ajout, déplacement et suppression d�enregistrements dans une table . . . . . . 153

Copie, vidage, suppression et modification du nom des tables . . . . . . . 159

Verrouillage des tables . . . . . . . . . . . . . . . 163

Chapitre 4 Saisie et modification des données d�une table . . . . 167

Notions fondamentales de la saisie des données . . . . . . . . . . 168

Insertion, validation et suppression des enregistrements . . . . . . . . 173

Couper, copier et coller des données. . . . . . . . . . . . . 176

Vérification orthographique des données . . . . . . . . . . . . 181

Utilisation des données graphiques . . . . . . . . . . . . . 185

Recherche et remplacement des données . . . . . . . . . . . . 187Caractères génériques. . . . . . . . . . . . . . . . 191

Saisie des données à l�aide des tables de référence. . . . . . . . . . 193

Verrouillage des enregistrements . . . . . . . . . . . . . 194

Chapitre 5 Fiches et états . . . . . . . . . . . 197

Création d�un modèle relationnel . . . . . . . . . . . . . 199Création et ouverture d�un modèle relationnel . . . . . . . . . . . 201Liaison de tables dans un modèle relationnel . . . . . . . . . . . 203Affichage d�un modèle relationnel . . . . . . . . . . . . . 208Utilisation des alias de table . . . . . . . . . . . . . . 210Enregistrement et impression d�un modèle relationnel . . . . . . . . . . 211

Création d�une disposition de fiche et d�état . . . . . . . . . . . 212Spécification d�une disposition initiale . . . . . . . . . . . . . 213Dispositions multi-table . . . . . . . . . . . . . . . 219

Utilisation de la fenêtre de conception d�une fiche ou d�un état . . . . . . . 222Barres d�outils de la fenêtre de conception . . . . . . . . . . . . 223Règles d�une fenêtre de conception . . . . . . . . . . . . . 226Utilisation de la grille de la fenêtre de conception . . . . . . . . . . . 231

ii Table des matières

Définition des préférences du concepteur . . . . . . . . . . . . 232Feuilles de style . . . . . . . . . . . . . . . . 235Enregistrement d�une conception. . . . . . . . . . . . . . 238Utilisation d�un objet de conception dans une fiche ou un état . . . . . . . . 239Sélection d�un objet de conception . . . . . . . . . . . . . 239Placement, regroupement et superposition des objets de conception . . . . . . . . 241Affichage d�un objet de conception . . . . . . . . . . . . . 244Déplacement et alignement d�un objet de conception . . . . . . . . . . 246Dimensionnement et mise en forme d�un objet de conception . . . . . . . . . 249Imbrication d�un objet de conception . . . . . . . . . . . . . 251Affectation d�un nom aux objets de conception . . . . . . . . . . . 255Placement d�une barre de défilement dans un objet de conception . . . . . . . . 256Modification des propriétés d�une objet de conception . . . . . . . . . . 258Association d�une méthode avec un objet de conception . . . . . . . . . . 261

Conception d�une fiche . . . . . . . . . . . . . . . 262Création et ouverture d�une fiche . . . . . . . . . . . . . 262Format et mise en page (fiches) . . . . . . . . . . . . . . 265Utilisation d�une fiche multi-page . . . . . . . . . . . . . 267Définition du style de fenêtre d�une fiche . . . . . . . . . . . . 269Déplacement dans une fiche . . . . . . . . . . . . . . 272Distribution d�une fiche . . . . . . . . . . . . . . . 276Propriétés de fiche et de page . . . . . . . . . . . . . . 277

Utilisation d�une fiche . . . . . . . . . . . . . . . 278Exécution de fiches . . . . . . . . . . . . . . . . 278Affichage de la fenêtre de fiche . . . . . . . . . . . . . . 280Impression d�une fiche . . . . . . . . . . . . . . . 282

Conception d�un état . . . . . . . . . . . . . . . . 283Création et ouverture d�un état . . . . . . . . . . . . . . 283Format et mise en page (états) . . . . . . . . . . . . . . 287Bandes . . . . . . . . . . . . . . . . . . 289Utilisation des bandes . . . . . . . . . . . . . . . 290Bandes d�état . . . . . . . . . . . . . . . . . 292Bandes de page . . . . . . . . . . . . . . . . 294Bandes d�enregistrements . . . . . . . . . . . . . . . 296Bandes de groupe . . . . . . . . . . . . . . . . 298Sauts de page . . . . . . . . . . . . . . . . . 306

Table des matières iii

Objets agrandis et rétrécis . . . . . . . . . . . . . . . 308Distribution d�états . . . . . . . . . . . . . . . . 314Propriétés d�état et de bande . . . . . . . . . . . . . . 315

Utilisation d�un état . . . . . . . . . . . . . . . . 316Prévisualisation d�états . . . . . . . . . . . . . . . 317Utilisation d�un état avec une autre table . . . . . . . . . . . . 318Impression d�états . . . . . . . . . . . . . . . . 320Publication d�états . . . . . . . . . . . . . . . . 322

Chapitre 6 Graphes et références croisées . . . . . . . 323

Utilisation des graphes . . . . . . . . . . . . . . . 324Notions fondamentales sur les graphes. . . . . . . . . . . . . 324Définition d�un graphe . . . . . . . . . . . . . . . 328Modification d�un graphe . . . . . . . . . . . . . . . 331Modification de l�aspect d�un graphe . . . . . . . . . . . . . 337

Utilisation des références croisées . . . . . . . . . . . . . 340Notions fondamentales sur les références croisées . . . . . . . . . . . 341Définition d�une référence croisée . . . . . . . . . . . . . 345Modification d�une référence croisée . . . . . . . . . . . . . 349

Chapitre 7 Interrogation de votre base de données . . . . . 351

Création d�une requête QBE . . . . . . . . . . . . . . 353

Opérateurs de requête QBE . . . . . . . . . . . . . . 356

Choix des tables pour une requête QBE . . . . . . . . . . . . 361

Sélection des champs à afficher dans une requête QBE . . . . . . . . . 365

Affichage des résultats d�une requête . . . . . . . . . . . . 368Table réponse . . . . . . . . . . . . . . . . . 368Vue de requête reliée . . . . . . . . . . . . . . . . 372

Définition des critères de sélection d�une requête . . . . . . . . . . 376Compréhension des critères de sélection . . . . . . . . . . . . 376Utilisation des opérateurs arithmétiques dans les requêtes QBE . . . . . . . . 377Définition des correspondances dans les critères de sélection . . . . . . . . . 378Utilisation de ET dans les critères de sélection . . . . . . . . . . . 386Utilisation de OU dans les critères de sélection . . . . . . . . . . . 388Utilisation des éléments d�exemple dans les requêtes QBE . . . . . . . . . 390Calculs dans des requêtes QBE . . . . . . . . . . . . . . 395

Définition des propriétés d�une requête QBE . . . . . . . . . . . 399

iv Table des matières

Requêtes QBE avancées : groupes, ensembles et liens inclusifs . . . . . . . 402Interrogation des groupes d�enregistrements à l�aide des opérateurs récapitulatifs . . . . . 403Utilisation de l�opérateur CALC avec des opérateurs récapitulatifs . . . . . . . . 408Interrogation des ensembles d�enregistrements . . . . . . . . . . . 411Comparaison de données à un ensemble . . . . . . . . . . . . 413Récapitulatifs des données d�un ensemble . . . . . . . . . . . . 416Interrogation avec des liens inclusifs . . . . . . . . . . . . . 418

Insertion, suppression et remplacement de valeurs dans les requêtes QBE . . . . . 423Insertion d�enregistrements à l�aide des requêtes QBE . . . . . . . . . . 425Suppression d�enregistrements à l�aide des requêtes QBE . . . . . . . . . 428Remplacement de valeurs à l�aide des requêtes QBE . . . . . . . . . . 431

Chapitre 8 Utilisation des objets de conception . . . . . . 435

Zones, ellipses et lignes . . . . . . . . . . . . . . . 436

Objet bouton . . . . . . . . . . . . . . . . . 441

Objet graphe . . . . . . . . . . . . . . . . . 444

Objet référence croisée . . . . . . . . . . . . . . . 446

Objets champs . . . . . . . . . . . . . . . . . 447Insertion d�un champ dans une fiche ou un état . . . . . . . . . . . 448Définition de la fonctionnalité d�un objet champ . . . . . . . . . . . 450Champ spécial . . . . . . . . . . . . . . . . . 453Opérateur récapitulatif . . . . . . . . . . . . . . . 455Champs mémo . . . . . . . . . . . . . . . . . 462Protection et masquage des données d�un champ . . . . . . . . . . . 463

Objet champ calculé . . . . . . . . . . . . . . . . 464Création de champs calculés . . . . . . . . . . . . . . 466Méthodes numériques dans les champs calculés . . . . . . . . . . . 472Calculs de date et d�heure . . . . . . . . . . . . . . . 474Champs calculés et impression . . . . . . . . . . . . . . 476

Objet graphique . . . . . . . . . . . . . . . . . 479Utilisation des graphiques . . . . . . . . . . . . . . . 479Compréhension des effets visuels . . . . . . . . . . . . . . 483

Objet multi-enregistrement . . . . . . . . . . . . . . 485

Objet classeur . . . . . . . . . . . . . . . . . 490Utilisation des classeurs . . . . . . . . . . . . . . . 490Ajout et suppression de pages de classeur . . . . . . . . . . . . 493

Table des matières v

Modification de l�aspect d�un classeur . . . . . . . . . . . . . 495

Contrôles ActiveX et natifs Windows . . . . . . . . . . . . 497

Objet cadre de table . . . . . . . . . . . . . . . . 504Utilisation des cadres de table . . . . . . . . . . . . . . 505Modification des cadres de table . . . . . . . . . . . . . . 507

Objet texte . . . . . . . . . . . . . . . . . . 511

Chapitre 9 Échange de données . . . . . . . . . . 521

Partage d�informations entre les stations de travail . . . . . . . . . 522

Importation de données . . . . . . . . . . . . . . . 523

Exportation de données . . . . . . . . . . . . . . . 531

Liaison et incorporation d�objets (OLE) . . . . . . . . . . . . 535Comprendre la fonction OLE . . . . . . . . . . . . . . 536Incorporation d�objets dans un champ ou un objet de conception OLE . . . . . . . 538Insertion d�objets OLE liés . . . . . . . . . . . . . . . 542Manipulation d�objets OLE dans des tables, fiches et états . . . . . . . . . 544Mise à jour d�objets OLE liés . . . . . . . . . . . . . . 545Différences entre OLE 1.0 et OLE 2.0 . . . . . . . . . . . . . 547

Échange dynamique de données (DDE) . . . . . . . . . . . . 549

Envoi de messages . . . . . . . . . . . . . . . . 553

Chapitre 10Outils pour la publication HTML et Internet . . . . 555

Publication au format HTML dans Paradox . . . . . . . . . . . 556

Utilisation de Corel Web Server . . . . . . . . . . . . . 559

Fonctions de création de liens hypertexte . . . . . . . . . . . 562

Importation de données HTML . . . . . . . . . . . . . . 564

vi Table des matières

Bienvenue dans Paradox 9 7

BIENVENUE DANS PARADOX 9 1Bienvenue dans Paradox 9, un programme de base de données relationnellepuissant et simple d�utilisation, qui vous permet d�organiser, de rechercher etd�assurer le suivi de vos informations. Grâce à ce programme, vous pouvezégalement afficher vos informations dans des fiches, des graphes et des étatssophistiqués. Paradox peut être exécuté en mode autonome, sur un seulordinateur, ou en mode multi-utilisateur sur un réseau.

La puissance et la souplesse de Paradox vous permettent de créer une basede données capable d�organiser et d�assurer le suivi de toutes vosinformations importantes. Par ailleurs, ses outils vous permettent, enquelques clics de souris, de contrôler efficacement le volume de donnéescroissant traité quotidiennement. En organisant les données en tables reliéesentre elles et aisément accessibles, vous rationalisez des tâches répétitives,éliminez la redondance et améliorez votre productivité personnelle ainsi quecelle de l�entreprise.

Les Experts de Paradox vous guident dans la création des nombreuxéléments composant votre base de données. Ils vous aident à créer desobjets tels des tables, fiches, états, graphes, listes de publipostage, objets deconception ou requêtes. Vous pouvez, si vous le préférez, créer vous-mêmeces objets.

De plus, les fonctionnalités Query By Example (QBE) vous permettent derassembler des informations dans plusieurs tables sans écrire une seule lignede code. Une fois les informations trouvées, vous pouvez les insérer dans desgraphes et des états professionnels, constamment actualisés. Si vouspréférez créer des requêtes SQL, vous disposez également de l�applicationVisual Query Builder (Créateur de requête visuel).

ObjectPAL, le langage orienté objet et piloté par les événements, vouspermet de personnaliser votre base de données. Enfin, les utilisateurs etdéveloppeurs expérimentés peuvent créer des applications personnaliséesen quelques secondes à l�aide d�Application Framework.

À propos de Corel CorporationCorel Corporation est un développeur et distributeur d�applicationsbureautiques, graphiques et Internet primées, reconnu à l�échelle mondiale.Nous sommes fiers de pouvoir vous offrir des produits de haute qualité,notamment en sollicitant votre contribution. Nous prenons en considérationles souhaits exprimés par tous nos utilisateurs, dans le monde entier, etveillons à les incorporer, dès que cela est possible, dans nos produits.

Corel distribue ses produits par le biais d�un réseau de plus de 160distributeurs, dans 70 pays à travers le monde. Les actions de Corel sontcotées à la Bourse de Toronto, sous le symbole COS, et à la bourse NASDAQNational Market System, sous le symbole COSFF.

Pour d�autres informations sur Corel et sur nos produits, consultez notre siteWeb à l�adresse www.corel.com.

Installation de Paradox 9Avant d�utiliser Paradox, vous devez procéder à son installation. Leprogramme d�installation de Paradox est très simple à utiliser et vous permetégalement :

� d�ajouter des composants à la version de Paradox installée sur votresystème;

� de mettre à jour les fichiers et la configuration de la version de Paradoxinstallée sur votre système.

Avant de commencer l�installation, suivez les indications ci-dessous :

� Fermez toutes les applications.

� Désactivez vos programmes anti-virus.

� Assurez-vous que votre ordinateur dispose de la configuration requisedécrite ci-dessous.

Configuration du système pour Paradox 9

Paradox nécessite la configuration minimale suivante :

� Windows 95, Windows 98 ou Windows NT 4.0

� Un processeur 486, 66 MHz

8 Paradox 9 : Chapitre 1

� 16 Mo de mémoire vive (32 Mo recommandés)

� 100 Mo d�espace disque (95 Mo pour une installation standard)

� Un lecteur de CD-ROM

� Un écran VGA

� Une souris ou une tablette

Si vous utilisez une version de Paradox qui comprend une application dereconnaissance vocale, la configuration requise pour votre système seradifférente de celle présentée ci-dessus. Pour plus d�informations sur lesapplications de reconnaissance vocale, reportez-vous à l�aide en ligne deParadox.

Programme d�installation de ParadoxLe programme d�installation de Paradox permet d�installer les principauxcomposants et applications.

� Pour modifier vos sélections dans le programme d�installation de Paradox,cliquez sur Précédent.

Pour obtenir plus d�informations sur les sélections que vous effectuez dans leprogramme d�installation de Paradox, cliquez sur Aide.

Pour installer des applications Paradox

Insérez le CD-ROM de Paradox dans le lecteur de CD-ROM.

1 Si l�écran d�installation de Paradox n�apparaît pas, cliquez sur le boutonDémarrer de la barre des tâches de Windows puis cliquez sur Exécuter.Entrez D:\SETUP (où D correspond au lecteur de CD-ROM) dans lechamp Ouvrir.

2 Cliquez sur Installation de Paradox 9.

3 Si vous souhaitez lire les notes de mise à jour de Paradox, cliquez surNotes de mise à jour. Les notes de mise à jour contiennent des conseilsd�installation qui n�étaient pas disponibles lors de la publication du logiciel.

4 Cliquez sur le bouton Suivant.

5 Lisez les termes relatifs à l�accord de licence puis cliquez sur le boutonAccepter. Si vous refusez les termes de la licence, l�installation estannulée.

6 Entrez votre nom complet et le nom de votre société (s�il y a lieu), puiscliquez sur le bouton Suivant.

Bienvenue dans Paradox 9 9

7 Entrez le numéro de série de votre version de Paradox puis cliquez sur lebouton Suivant. Le numéro de série est indiqué sur la carted�identification du produit Paradox.

8 Activez l�une des options suivantes :

� Installation par défaut permet d�installer les applications, lesutilitaires et les fichiers les plus courants. Cette installation estrecommandée dans la plupart des cas. Utilisez cette option lorsquevous n�êtes pas certain des composants à installer. Vous pourrezajouter et/ou supprimer d�autres composants ultérieurement.

� Installation minimale permet de réduire au minimum l�espace disqueutilisé en installant uniquement les applications, les utilitaires et lesfichiers nécessaires à l�exécution de Paradox. Activez cette option sivous disposez de peu d�espace disque et avez besoin du minimum decomposants. Ce type d�installation est souvent adopté pour lesordinateurs portables.

� Installation personnalisée permet de choisir les composants Paradoxque vous souhaitez installer. Cette option vous permet de contrôlerentièrement le processus d�installation. Choisissez cette optionlorsque vous devez installer des composants spécifiques qui ne sontpas compris dans les installations par défaut et minimale.

9 Si vous souhaitez que Paradox lise les fichiers nécessaires à partir duCD-ROM, lorsque vous utilisez certaines applications, activez la case àcocher À partir du CD-ROM. Cette option permet de réduire l�espacedisque utilisé mais exige le CD-ROM de Paradox chaque fois que voussouhaitez exécuter une application Paradox. L�activation de cette optionralentit également le fonctionnement.

10 Cliquez sur le bouton Suivant et suivez les indications d�installation dansl�Assistant d�installation.

Lorsque l�installation est terminée, vous êtes invité à enregistrer Paradoxpar courrier électronique. Pour de plus amples informations surl�enregistrement de Paradox, reportez-vous à la section Enregistrement deParadox, ci-dessous.

Enregistrement de ParadoxL�enregistrement de Paradox vous permet d�accéder aux dernières mises àjour des produits ainsi qu�à une assistance technique de qualité.

Le numéro de série apparaît sur la carte d�identification du produit etreprésente la preuve que vous possédez une copie autorisée de Paradox.Vous devez disposer du numéro de série lorsque vous contactez l�assistancetechnique de Corel, optez pour une nouvelle version de Paradox oucommandez des CD de remplacement.

10 Paradox 9 : Chapitre 1

Pour effectuer un enregistrement, utilisez l�une des méthodes suivantes :

� Complétez le formulaire d�enregistrement électronique à la fin del�installation de Paradox. Envoyez les informations contenues dans ceformulaire par courrier électronique à Corel si vous disposez d�uneconnexion Internet ou simplement d�un modem. Vous pouvez imprimer leformulaire d�enregistrement et l�expédier par la poste ou par télécopie àCorel.

� Visitez le site Web de Corel et complétez le formulaire d�enregistrement àl�adresse suivante :

www.corel.com/support/onlineregistration.htm

Ajout, suppression et mise à jour de composants ParadoxLorsque l�installation de Paradox est terminée, vous pouvez ajouter descomposants à l�installation. Si vous avez utilisé l�option Installation pardéfaut, vous aurez peut être besoin de composants Paradox supplémentaires.

Vous pouvez aussi supprimer des composants Paradox pour libérer del�espace disque ou pour mettre à jour des composants et leurs paramètres deconfiguration. La mise à jour de composants permet aussi de réparer Paradoxsi vous avez accidentellement supprimé des fichiers programme.

Pour ajouter des composants à une précédente installation deParadox

1 Fermez les applications Paradox.

2 Dans la barre des tâches de Windows, cliquez sur Démarrer, Programmes,Paradox 9, Installation et Notes, Installation de Corel.

3 Activez le bouton Ajouter de nouveaux composants.

4 Cliquez sur le bouton Suivant puis suivez les indications d�installationdans l�assistant d�installation.

Pour supprimer des composants Paradox installés

1 Fermez les applications Paradox.

2 Dans la barre des tâches de Windows, cliquez sur Démarrer, Programmes,Paradox 9, Installation et Notes puis Désinstallation de Corel.

3 Cliquez sur le bouton Suivant puis suivez les indications d�installationdans le Désinstalleur Corel.

Bienvenue dans Paradox 9 11

Pour mettre à jour une installation Paradox

1 Fermez les applications Paradox.

2 Dans la barre des tâches de Windows, cliquez sur Démarrer, Programmes,Paradox 9, Installation et Notes, Installation de Corel.

3 Activez le bouton Mettre à jour l�installation courante.

4 Cliquez sur le bouton Suivant.

5 Cliquez sur le bouton Installer.

Mise à jour avec la dernière version de ParadoxParadox peut coexister avec des versions antérieures de Paradox, sur unmême système, si vous disposez de suffisamment d�espace sur le disque. Leprogramme d�installation de Paradox n�écrase pas les versions antérieures deces applications. Cependant, assurez-vous que vous installez les différentesversions de Paradox dans des dossiers différents.

Si vous ne souhaitez pas conserver les versions antérieures de cesapplications, vous pouvez les supprimer de votre disque dur pour libérer del�espace.

Pour supprimer Corel Paradox 8

1 Fermez toutes les applications.

2 Dans la barre des tâches de Windows, cliquez sur Démarrer, CorelParadox 8, Installation et Notes, Désinstallation de Corel.

3 Cliquez sur le bouton Suivant.

4 Cliquez sur le bouton Sélectionner tout.

5 Activez la case à cocher Supprimer les fichiers modifiés.

6 Cliquez sur le bouton Suivant puis suivez les indications d�installationdans l�Assistant de désinstallation Corel.

Utilisation de la documentation ParadoxParadox est livré avec une documentation en ligne et une documentationimprimée, pour vous aider à vous familiariser avec le programme et àl�utiliser avec un maximum d�efficacité.

12 Paradox 9 : Chapitre 1

Documentation Paradox

Aide en ligne L�aide en ligne vous permet d�accéder rapidement aux informationsrequises et de poursuivre votre travail. Elle s�affiche dans une fenêtreséparée sur votre écran. Pour y accéder plus rapidement, vous pouvezl�afficher en permanence sur la fenêtre de l�application.

Aide en ligne ObjectPAL Outre l�aide en ligne Paradox, le système d�aide en ligne ObjectPALcontient des informations sur le langage de programmation visuel,orienté objet et piloté par les événements, utilisé pour compléter lespuissantes fonctionnalités de Paradox. Elle contient des informationsdétaillées sur les éléments du langage mais aussi des tables de référenceet exemples de code que vous pouvez coller directement dans la fenêtrede votre créateur.

Didacticiel en ligne Le didacticiel en ligne vous explique comment utiliser Paradox. Il est trèsutile tant pour les débutants qui veulent apprendre à se servir deParadox que pour les utilisateurs de versions antérieures désireux de sefamiliariser avec les nouvelles fonctionnalités de Paradox 9.

Didacticiel en ligne ObjectPAL Le didacticiel en ligne ObjectPAL vous guide dans l�utilisation de based�ObjectPAL. C�est un outil indispensable pour tous ceux qui n�ont jamaisutilisé ObjectPAL et une excellente introduction au langage deprogrammation orienté objet.

Aide contextuelle L�aide contextuelle affiche des informations relatives à la tâche en cours.Pour y accéder, placez votre pointeur sur l�élément sur lequel vous voulezdes informations puis appuyez sur F1. L�aide contextuelle fournit desinformations à propos de diverses boîtes de dialogues et de leurscommandes.

Info-bulles Les info-bulles donnent des informations sur les menus et les boutons dela barre d�outils. Ces informations s�affichent dans une bulle lorsque vousplacez le curseur sur un élément de menu ou sur un bouton de la barred�outils.

PerfectExpert L�assistant PerfectExpert vous guide lors de l�exécution des tâchescourantes. Il contient des liens à des rubriques d�aide connexes dans ladocumentation en ligne.

Guide de l�utilisateur Le guide de l�utilisateur Paradox 9 contient la majorité des informationsfigurant dans l�aide en ligne. Si vous utilisez Paradox 9 avec WordPerfectOffice 2000, reportez-vous à la section Paradox du Guide de l�utilisateurWordPerfect Office 2000 pour plus d�informations.

Bienvenue dans Paradox 9 13

Faites-nous part de vos commentairesSi vous avez des remarques ou des suggestions concernant la documentationParadox, faites-les nous parvenir par courrier électronique à l�[email protected] ou par courrier, à l�adresse suivante. Nousregrettons cependant de ne pas pouvoir vous répondre personnellement.

Chef de produit ParadoxCorel Corporation1600 Carling AvenueOttawa, Ontario, Canada KIZ 8R7Télécopie : (613) 728-9790

Conventions se rapportant à la documentationAvant de commencer à utiliser Paradox, il est important de vous familiariseravec les conventions utilisées dans la documentation.

Souris

Les conventions suivantes s�appliquent lors de l�utilisation de la souris :

Lorsque la commande Procédez comme suit...indique...

Cliquer sur Fichier, Nouveau Cliquez sur le menu Fichier à l�aide de la souris puis sur lacommande Nouveau dans ce menu.

Cliquer sur Format, Propriétés, Grille Cliquez successivement sur le menu Format, la commandePropriétés puis sur Grille dans le sous-menu qui s�affiche.

Activer une case à cocher Cliquez sur une case à cocher afin d�y placer une coche ou unX.

Désactiver une case à cocher Cliquez sur une case à cocher pour supprimer la coche ou leX qu�elle contient.

Sélectionner Cliquez pour mettre en surbrillance.

Sélectionner un nom de fichier dans Cliquez sur le nom du fichier voulu.la zone de liste Types de fichiers

Effectuer un clic droit puis Cliquez avec le bouton droit de la souris puis cliquez sur lacliquer sur Restructurer commande Restructurer dans le sous-menu qui s�affiche.

14 Paradox 9 : Chapitre 1

Clavier

Les conventions suivantes s�appliquent lors de l�utilisation du clavier :

Lorsque la commande indique... Procédez comme suit...

Appuyer sur ENTRÉE Appuyez sur la touche ENTRÉE du clavier.

Appuyer sur CTRL + MAJ Appuyez simultanément sur les touches CTRL et MAJ du clavier.

Utilisation de l�aide en ligneLa boîte de dialogue Rubriques d�aide vous permet de rechercher desinformations de cinq façons différentes. Vous pouvez sélectionner unerubrique à partir de l�onglet Sommaire, utiliser l�onglet Index pourrechercher une rubrique, ou rechercher des mots et des expressionsspécifiques dans les rubriques d�aide à partir de l�onglet Rechercher. Vouspouvez utiliser la page Demander au PerfectExpert et entrer une question enutilisant vos propres mots. Le PerfectExpert effectue ensuite une recherchedans les fichiers d�aide de Paradox et affiche une liste de rubriques en rapportavec votre question. Enfin, vous pouvez utiliser la Base de connaissancesCorel® pour rechercher des informations sur la page d�accueil de Corel.

Paradox comprend également un fichier d�aide spécialement destiné auxutilisateurs d�ObjectPAL, le langage visuel de programmation orienté objetset basé sur des événements. Il s�agit du langage utilisé pour prendre encharge Paradox.

Pour accéder aux rubriques d�aide en ligne de Paradox

1 Cliquez sur Aide, Rubriques d�aide.

2 Cliquez ensuite sur l�un des onglets suivants :

� Sommaire : pour parcourir les rubriques d�aide par catégorie ;

� Index : pour afficher la liste des entrées d�index, puis entrer lespremières lettres de l�élément pour lequel vous voulez desinformations ;

� Rechercher : pour rechercher un mot ou une expression spécifiquedans l�aide en ligne ;

� Demander au PerfectExpert : pour rechercher de l�aide en formulantvos propres questions ;

� Base de connaissances Corel : pour rechercher des informations sur lapage d�accueil de Corel.

Bienvenue dans Paradox 9 15

Pour accéder aux rubriques d�aide de la référence en ligneObjectPAL

1 Cliquez sur Aide, Référence ObjectPAL.

2 Cliquez ensuite sur l�un des onglets suivants :

� Sommaire : pour parcourir les rubriques d�aide par catégorie ;

� Index : pour afficher la liste des entrées d�index, puis entrer lespremières lettres de l�élément sur lequel vous voulez desinformations ;

� Rechercher : pour rechercher un mot ou une expression spécifiquedans l�aide en ligne.

Accès aux informations du site Web de CorelVous pouvez accéder au site Web de Corel à partir de Paradox. Grâce au siteWeb de Corel, vous pouvez obtenir des informations à propos des projets etdes modèles, ainsi que des outils tiers. Vous pouvez également obtenir uneassistance technique, des trucs et astuces, ainsi que des informations sur lescours, les diplômes et les laboratoires de traitement.

Pour accéder à la Communauté d�applications professionnellesCorel

� Cliquez sur le bouton Communauté Corel sur la barre d�outils standard deParadox.

Pour obtenir des informations sur le site Web de Corel

Cliquez sur... Pour obtenir des informations sur...

Fichier, Nouveau depuis projet les projets et les modèles

Outils, Outils tiers en ligne Outils tiers

Aide, Site Web Corel Communauté d�applications professionnelles Corel

Aide, Corel sur le Web, Assistance techniqueAssistance technique

Aide, Corel sur le Web, Trucs et astuces Trucs et astuces

Aide, Corel sur le Web, Cours et diplômesCours et diplôme

Aide, Corel sur le Web, Laboratoires de traitementLaboratoires de traitement

16 Paradox 9 : Chapitre 1

Ouverture des didacticiels en ligneLes leçons du didacticiel Paradox vous apprennent comment utiliser denombreuses fonctionnalités de Paradox. Elles vous donnent la formation debase nécessaire pour commencer à créer vos propres publications. Si vousavez déjà utilisé une version antérieure de Paradox, ce didacticiel vousapprendra à tirer parti des nouvelles fonctionnalités de l�application.

Le didacticiel en ligne ObjectPAL contient des leçons détaillant les élémentsde base du langage de programmation ObjectPAL. En entrant le code et enreproduisant les états de ces leçons, vous vous familiariserez avec sasyntaxe.

Pour accéder au didacticiel Paradox

� Cliquez sur Aide, Didacticiel Paradox.

Pour accéder au didacticiel ObjectPAL

� Cliquez sur Aide, Didacticiel ObjectPAL.

Ouverture de l�aide contextuelleVous pouvez accéder à l�aide contextuelle à partir des menus, des boîtes dedialogue et des barres d�outils Paradox.

Les méthodes les plus courantes pour accéder à l�aide contextuelle sont lessuivantes :

Pour obtenir de l�aide sur ... Procédez comme suit ...

Menus et boutons de la barre d�outils Placez le curseur sur un élément du menu ou sur un bouton de la barred�outils pour afficher les informations correspondantes dans une bulle.

Boîtes de dialogue Cliquez sur le bouton Aide de la boîte de dialogue.Appuyez sur F1.

Éléments des boîtes de dialogue Cliquez sur le bouton Qu�est-ce que c�est ? dans une boîte de dialogue,puis sur l�élément voulu.Cliquez sur l�élément à l�aide du bouton droit de la souris, puis surQu�est-ce que c�est ?.Cliquez sur l�élément à l�aide du bouton droit de la souris.

Impression de l�aideVous pouvez imprimer des rubriques spécifiques ou des sections entières del�aide en ligne.

Bienvenue dans Paradox 9 17

Pour... Effectuez cette opération...

Imprimer une section entière Sur l�onglet Sommaire, sélectionnez la section voulue, puis cliquez sur lebouton Imprimer affiché au bas de la boîte de dialogue d�aide.

Imprimer une section sélectionnée Cliquez sur le bouton Imprimer affiché en haut de la fenêtre d�aide, oueffectuez un clic droit sur la fenêtre et cliquez sur Imprimer la rubrique.

Utilisation du Centre de référence CorelLe Centre de référence Corel contient des manuels en ligne en format .PDF(Adobe Acrobat Portable Digital File). Vous pouvez ainsi rechercherrapidement les informations dont vous avez besoin.

Si vous avez installé WordPerfect Office 2000, le Centre de référencecontient des manuels en ligne destinés à toute la gamme d�applications et auxutilitaires Web jPdox. Si vous avez installé Paradox 9, le Centre de référencecontient des manuels en ligne destinés à Paradox et aux utilitaires WebjPdox.

Pour accéder au Centre de référence Corel depuis Paradox

1 Cliquez sur Aide, Rubriques d�aide.

2 Cliquez sur l�onglet Sommaire.

3 Cliquez deux fois sur Référence.

4 Cliquez deux fois sur Afficher les manuels.

5 Cliquez deux fois sur Atteindre le centre de référence.

Pour accéder au Centre de référence Corel depuis Windows

1 Cliquez sur le bouton Démarrer dans la barre de tâches Windows.

2 Cliquez sur l�une des options suivantes (selon votre installation) :

� WordPerfect Office 2000, Installation et Notes, Centre de référenceCorel.

� Paradox 9, Installation et Notes, Centre de référence Corel.

18 Paradox 9 : Chapitre 1

� Le Centre de référence Corel (refcntr.exe) se trouve dans le dossier\Corel\SHARED\REFCNTR sur le CD-ROM de WordPerfect Office 2000.

� Si vous n�avez pas installé le Centre de référence Corel lors del�installation de WordPerfect Office 2000 ou de Paradox 9, vous pouvez lefaire maintenant en exécutant une installation personnalisée.

� Le manuel des utilitaires Web jPdox contient des informations sur leConcepteur de fiche Web Paradox, le serveur JDBC Paradox, le serveurd�état Paradox, le serveur proxy JDBC, JRun et InstallAnywhere.

Affichage des informations relatives à l�application et au systèmeParadox vous permet d�accéder facilement aux informations se rapportant àl�application, à la licence d�utilisation et à votre système.

Les informations relatives à l�application comportent le nom de l�application,le numéro de version, le numéro de série et le nom de l�utilisateur. Cesinformations ne changent pas. Elles sont particulièrement utiles lorsque vousdevez contacter les Services de support technique Corel.

Les informations sur le système appartiennent aux catégories suivantes :système, affichage, impression, fichiers .EXE et .DLL Corel et fichiers .DLLdu système. Par exemple, vous pouvez vérifier la mémoire dont vousdisposez sur le lecteur sur lequel vous voulez enregistrer un fichier. Toutesles informations se rapportant au système peuvent être enregistrées dans unfichier intitulé SYSINFO.TXT.

Pour afficher les informations relatives au produit et à la licenced�utilisation

1 Cliquez sur Aide, À propos de Paradox.

2 Cliquez sur l�un des boutons suivants :

� Copyright,

� Licence.

Pour modifier le numéro de série ou d�identification

1 Cliquez sur Aide, À propos de Paradox.

2 Cliquez sur N° série/identification.

3 Entrez le Numéro de série dans la zone correspondante.

4 Entrez le Numéro d�identification dans la zone correspondante.

Bienvenue dans Paradox 9 19

Pour afficher les informations relatives à l�application et ausystème

1 Cliquez sur Aide, À propos de Paradox.

La boîte de dialogue À propos de Paradox qui s�affiche contient desinformations sur votre copie du logiciel.

2 Cliquez sur le bouton Info système pour afficher les informations serapportant au système.

3 Sélectionnez une catégorie dans la zone de liste Choisissez une catégorie.

� Utilisez le bouton Enregistrer de la boîte de dialogue Info système pourenregistrer les informations relatives au système afin de pouvoir lesimprimer. Ces informations sont enregistrées dans le fichierSYSINFO.TXT. Un message vous informe à quel emplacement le fichier aété enregistré.

Utilisation de PerfectExpertParadox contient un expert intégré qui vous guide dans la réalisation denombreuses tâches. PerfectExpert comporte les meilleures fonctionnalitésdes Tâches rapides, des modèles et des Tuteurs. Ces fonctionnalités,combinées avec les informations de l�aide en ligne et une interface puissanteutilisant le langage naturel, vous aident à réaliser toutes vos tâchescourantes. PerfectExpert vous permet de créer rapidement des documentscomplexes, grâce à des modèles conçus par des professionnels.

Pour utiliser PerfectExpert

1 Cliquez sur Aide, PerfectExpert.

2 Cliquez sur l�une des tâches disponibles dans PerfectExpert.

Ces tâches diffèrent, selon la fonction exécutée par Paradox.

3 Cliquez sur le bouton Aide supplémentaire pour obtenir d�autresinformations.

Bureau de ParadoxVous accédez au bureau de Paradox dès le lancement de l�application. Cebureau constitue la zone principale de travail de Paradox. À partir de cettezone, vous pouvez :

� gérer des fichiers,

20 Paradox 9 : Chapitre 1

� définir des valeurs par défaut et des préférences,

� contrôler tous les objets Paradox,

� définir des propriétés d�objets.

La plupart des préférences que vous définissez restent actives durant latotalité d�une session Paradox, c�est-à-dire à partir du moment où vousouvrez Paradox jusqu�à la fermeture de l�application. Paradox vous permetd�enregistrer en permanence d�autres préférences.

Les objets de Paradox, tels que les fiches, les états et les requêtes,apparaissent dans leur fenêtre respective. Les fiches apparaissent donctoujours dans une fenêtre Fiche et les requêtes dans une fenêtre Requête.Chaque type de fenêtre contient des commandes spécifiques s�appliquantuniquement à ce type d�objet ou de document.

Experts de ParadoxLes Experts de Paradox vous aident, étape par étape, à exécuter les tâchescourantes de Paradox.

Pour accéder aux Experts de Paradox

� Cliquez sur Outils, Experts.

Cette commande vous permet de lancer les Experts suivants :

L�Expert de graphe vous aide à créer une représentation graphique de vos données.

L�Expert de référence croisée vous permet de créer une référence croisée à partir de vos données.

L�Expert de base de données sélectionne une base de données prête à l�emploi et vous aide à lapersonnaliser en fonction de vos besoins.

L�Expert de documentation vous aide à créer un rapport basé sur la structure et le code de vosdocuments et objets.

Bienvenue dans Paradox 9 21

L�Expert de recherche de doublons vous aide à mettre votre base de données à jour enrecherchant les enregistrements ayant des valeurs dupliquées dans une même table. Il nefonctionne qu�avec une table Paradox (*.db).

L�Expert de fiche vous aide à créer une fiche regroupant des données extraites d�une ou de deuxtables, dans divers formats et styles prédéfinis.

L�Expert d�importation HTML vous aide à importer des données à partir de documents HTML.

L�Expert de démarrage vous permet de créer une petite fiche à onglets que vous pouvez utiliserpour ouvrir ou lancer des fiches, états, scripts ou fichiers exécutables sélectionnés à l�aide d�unsimple clic.

L�Expert d�étiquette de publipostage vous aide à créer des étiquettes de publipostage de diversformats.

L�Expert de fusion vous aide à fusionner les données d�une table dans une lettre type créée dansl�un des nombreux logiciels de traitement de texte pris en charge par Paradox.

L�Expert de requête vous aide à rechercher les informations de votre base de données, à les lier età les visualiser. Il ne fonctionne qu�avec une table Paradox (*.db).

L�Expert d�état vous aide à afficher et à imprimer les données d�une ou de deux tables dans denombreux formats et styles prédéfinis.

L�Expert de recherche et de remplacement vous aide à modifier le code source de plusieursfichiers Paradox simultanément.

22 Paradox 9 : Chapitre 1

L�Expert de table vous aide à créer une nouvelle table à partir d�un modèle.

L�Expert d�importation de texte vous aide à importer du texte délimité ou de longueur fixe dansdes tables Paradox.

L�Expert d�utilitaires vous aide à modifier et à mettre à jour plusieurs documents simultanément.

Barres d�outilsLes boutons des barres d�outils de Paradox varient en fonction du type de labarre et de la fenêtre active. Si c�est, par exemple, une table qui est ouverte,les boutons de la barre d�outils standard vous permettent d�exécuter destâches dans cette table. Les boutons des barres d�outils permettent d�accéderrapidement aux commandes de menu ou remplacent des combinaisons detouches.

Pour obtenir une description rapide de la fonction d�un outil ou d�un bouton,positionnez le pointeur de la souris sur le bouton désiré. Paradox affiche unedescription du bouton dans une bulle.

Vous pouvez déplacer les barres d�outils par rapport à leur position standard,en haut de l�écran. Vous pouvez ainsi les faire glisser sur l�écran ou les ancrersur un côté ou sur le bas de l�écran, ou encore les faire flotter. Vous pouvezégalement les afficher ou les masquer.

Paradox contient les barres d�outils suivantes :

Barre d�outils standard

Cette barre d�outils par défaut s�affiche généralement immédiatement endessous des menus. Elle contient des boutons et des outils constituant desraccourcis aux commandes des menus de la fenêtre active, par exempleCouper, Coller, Copier ou Imprimer.

Bienvenue dans Paradox 9 23

Barre d�outils Propriétés

Cette barre d�outils contient des boutons facilitant la navigation dans votrebase de données. Ces boutons vous permettent, par exemple, de filtrerrapidement une table, d�ouvrir les objets d�une base de données tels desfiches et des états, de rechercher les enregistrements d�une table, debasculer en mode Conception dans une fiche ou un état ou encore debasculer entre la modification et l�affichage d�une table.

Barre d�outils Formatage du texte

Cette barre d�outils se compose de boutons et d�outils permettant d�accéderrapidement aux commandes de formatage de texte les plus courantes. Parconséquent, les boutons de cette barre ne changent pas lorsque vous passezd�une fenêtre active à une autre. Certains boutons de cette barre n�aurontaucun effet si l�objet sélectionné ne prend pas en charge cette action. Ainsi, sivous concevez une requête et que vous sélectionnez du texte, l�outil Grasn�aura aucun effet. La barre d�outils de formatage de texte ne s�affiche paspar défaut.

Barre d�outils Alignement

Cette barre d�outils ne s�affiche que lorsque les fenêtres Conception de ficheou Conception d�état sont actives. Elle fournit des raccourcis vers lescommandes permettant d�aligner plusieurs objets sélectionnés. La barred�outils d�alignement ne s�affiche pas par défaut.

24 Paradox 9 : Chapitre 1

Barre d�outils Objets

Cette barre d�outils se compose de boutons permettant d�accéder auxdifférents outils utilisés lors de la conception d�une fiche ou d�un état. Elles�affiche uniquement lorsque la fenêtre Conception de fiche ou Conceptiond�état est active. Elle vous permet de créer et d�ajouter des objets tels desboutons, champs, graphes ou graphiques à des fiches ou à des états.

Barre d�outils Contrôles ActiveX

Cette barre d�outils contient les contrôles OLE que vous avez ajoutés à labarre d�outils (les contrôles OLE peuvent être obtenus auprès defournisseurs tiers). Les contrôles natifs Windows inclus dans Paradoxapparaissent également dans cette barre d�outils. Parmi ces contrôlesfigurent la zone de liste, la zone d�options, l�incrémenteur, la barre deprogression et la barre graduée. La barre d�outils Contrôles ActiveX nes�affiche pas par défaut.

Barre d�état

Elle affiche des informations concernant le fichier courant, l�objet sélectionnéou l�action en cours. Par défaut, elle est située en bas de la fenêtre del�application, mais vous pouvez aussi la placer en haut de cette fenêtre. Vousavez également la possibilité de la masquer ou de modifier les informationsqu�elle affiche.

Bienvenue dans Paradox 9 25

Déplacement, ancrage et affichage des barres d�outilsVous pouvez déplacer une barre d�outils du haut du bureau et l�ancrer sur l�undes côtés ou en bas de la fenêtre. Vous pouvez également la faire flotter dansune fenêtre séparée que vous pouvez déplacer à votre guise sur le bureau.Vous pouvez masquer ou afficher une barre d�outils.

Pour déplacer une barre d�outils

� Cliquez sur la barre d�outils (cliquez à l�intérieur de la barre et non sur unbouton) et faites-la glisser vers un nouvel emplacement.

Pour ancrer une barre d�outils

� Cliquez sur la barre d�outils (cliquez à l�intérieur de la barre et non sur unbouton) et faites-la glisser jusqu�au bord du bureau, jusqu�à ce qu�uncontour en pointillés apparaisse et que la forme de la barre d�outilschange. Relâchez le bouton de la souris dès que le contour touche le bordde la fenêtre.

Pour faire flotter une barre d�outils

� Cliquez sur la barre d�outils voulue (cliquez à l�intérieur de la barre et nonsur un bouton) et déplacez-la vers le centre de la fenêtre du bureau.Lorsque vous relâchez le bouton de la souris, la barre d�outils s�affichedans une fenêtre séparée que vous pouvez déplacer à votre guise sur lebureau.

Pour afficher une barre d�outils

1 Cliquez sur Affichage, Barres d�outils.

2 Dans la boîte de dialogue Préférences pour la barre d�outils, cochez la caseen regard de la barre d�outils que vous souhaitez afficher.

Pour manipuler la barre d�état

� Avec le bouton droit de la souris, cliquez sur la barre d�état et choisissezMasquer la barre d�état, Position ou Taille pour modifier son emplacementou sa taille.

Services et assistance techniqueParadox 9 est pris en charge par l�équipe du service Clientèle de Corel quifournit un service et une assistance de qualité, facile d�accès et simple àutiliser, et développant une relation privilégiée entre Corel et ses clients.

26 Paradox 9 : Chapitre 1

Si vous avez des questions sur les fonctions et caractéristiques des applicationsParadox 9, consultez le guide de l�utilisateur Paradox 9 (cet ouvrage) et/ouutilisez l�aide en ligne ou les manuels du Centre de référence Corel. Voustrouverez également des mises à jour et des informations techniques, nondisponibles lors de la publication, dans les Notes de mise à jour.

Pour afficher les Notes de mise à jour

� Dans la barre des tâches de Windows, cliquez sur Démarrer puis sur leséléments ci-dessous (selon votre installation) :

� Programmes, WordPerfect Office 2000, Paradox 9, Installation etNotes, Notes de mise à jour

� Programmes, Paradox 9, Installation et Notes, Notes de mise à jour

Assistance technique sur le WebL�adresse Internet du site Corel est la suivante : www.corel.com. Lesutilisateurs de Corel en Allemagne peuvent consulter le site www.corel.deet les utilisateurs basés en Irlande, le site www.corel.ie. En arrivant sur lapage d�accueil, vous trouverez un large éventail d�options d�assistance.

Assistance des groupes de discussion

L�assistance des groupes de discussion Corel est accessible depuis le siteWeb de Corel et permet aux utilisateurs des applications Paradox d�échangerdes informations et des conseils pratiques ou techniques. Vous trouverez legroupe de discussion à l�adresse Internet suivante :www.corel.com/support/newsgroup.htm.

Base de connaissances Corel

À partir de la Base de connaissances Corel, vous pouvez lire, imprimer outélécharger des documents qui contiennent les réponses à de nombreusesquestions techniques que vous vous posez ou aux problèmes que vousrencontrez avec Paradox. Vous trouverez la Base de connaissances àl�adresse suivante : kb.corel.com .

Protocole de transfert de fichiers (File Transfer Protocol)

Vous pouvez télécharger des pilotes d�imprimante, des modules, descorrections ou des mises à jour de programmes, ou d�autres fichiers situéssur le site FTP anonyme à l�adresse suivante : ftp.corel.com. Pour obtenirdes informations sur ce site, consultez le sitewww.corel.com/support/ftpsite/ftpindex.htm.

Bienvenue dans Paradox 9 27

Autres options d�assistance Paradox 9Corel offre les options d�assistance technique ci-dessous, dont la plupart sontdisponibles 24 heures sur 24, 365 jours par an. Ces services vousconviennent si vous ne souhaitez pas engager de frais ou si vous rencontrezdes problèmes en dehors de vos heures de bureau.

Serveur vocal interactif IVAN (Interactive Voice Answering Network)

Le serveur IVAN répond aux questions couramment posées sur les produitsCorel et fonctionne 24 heures sur 24, 365 jours par an. Il est régulièrementmis à jour avec les toutes dernières informations, astuces et conseils. Vouspouvez demander à recevoir les solutions du serveur IVAN par télécopie. Ceservice est gratuit, seule la communication est facturée. Pour utiliser ceservice, contactez le :

� (613) 728-1937 pour l�Amérique du Nord

� +353-1-708-2525 pour les autres pays, puis sélectionnez l�option 1(numéro basé en Irlande)

Service d�informations par télécopie

L�assistance technique comprend un système de télécopie à la demande, quigère des documents numérotés contenant des informations récentes sur lesquestions les plus courantes, des conseils ou des astuces. Ce service estautomatisé et disponible 24 heures sur 24, 365 jours par an.

Pour utiliser ce service, appelez le :

� (613) 724-3456 pour l�Amérique du Nord

� +353-1-708-2525 pour les autres pays, puis sélectionnez l�option 2(numéro basé en Irlande)

CompuServe

Si vous disposez d�un abonnement à CompuServe, vous pouvez échanger desinformations avec d�autres utilisateurs et des volontaires de Corel pourobtenir de l�aide et des informations sur les produits Corel. Pour obtenir desréponses à la plupart de vos questions et problèmes, vous pouvez égalementrechercher rapidement des informations techniques dans la base de donnéesCorel, et télécharger des pilotes d�imprimante et d�autres fichiers.CompuServe est disponible 24 heures sur 24, 365 jours par an, vacances etjours fériés inclus. Les volontaires de Corel répondent à vos questions de08h30 à 17h00 (heures de l�Est, États-Unis), du lundi au vendredi, horspériodes de vacances.

Pour accéder à Corel sur CompuServe, entrez GO COREL à l�inviteCompuServe.

28 Paradox 9 : Chapitre 1

Serveur BBS (Bulletin Board System)

Si vous disposez d�un modem et d�un logiciel de communication, vous pouvezaccéder au BBS (Bulletin Board System) de Corel. Vous pouvez utiliser leBBS pour télécharger des fichiers, dont des pilotes d�imprimante, desinformations de dépannage et des utilitaires. Le BBS permet également detransférer au service Clientèle, les fichiers qui vous posent des problèmes.Cette option n�est pas disponible en Amérique du Nord. Pour accéder auBBS, appelez le :

� +353-1-708-2700 (numéro basé en Irlande)

� +31-10-4763232 (numéro basé aux Pays-Bas)

Options d�assistance technique par téléphone

Les utilisateurs de Paradox peuvent bénéficier d�une assistance techniquecomplémentaire par téléphone, basée sur un service payant. Desinformations sur ces options et les numéros de téléphone sont disponibles,pour vous et votre société, dans l�aide en ligne des services et de l�assistancetechnique.

Service Classic

Le service Classic est conçu pour répondre aux besoins techniques desutilisateurs de Paradox. Ce service résout les problèmes de base liés àl�installation et à la configuration.

Service Priority

Le service Priority est un service facturé aux utilisateurs qui demandent unniveau élevé de conseils techniques. Le service Priority peut être facturé surla base d�une minute, d�un incident ou d�un forfait. Les options vont del�accès aux heures de bureau pour les utilisateurs individuels à l�accès illimitépour les environnements multi-utilisateurs.

Service Premium

Le service Premium de Corel représente le niveau le plus élevé en termesd�assistance. Ce service payant a été conçu pour les organisations quisouhaitent établir un contact direct avec Corel et celles qui emploient desprofessionnels de l�assistance ou qui disposent d�une gestion techniquecentralisée.

Bienvenue dans Paradox 9 29

Pour afficher l�aide en ligne de l�assistance et des services techniquesde Paradox

� Exécutez une des opérations ci-dessous (selon votre installation) :

� Dans la barre des tâches de Windows, cliquez sur Démarrer, Programmes,WordPerfect Office 2000, Paradox 9, Installation et Notes, Aide assistancetechnique Paradox.

� Dans la barre des tâches de Windows, cliquez sur Démarrer, Programmes,Paradox 9, Installation et Notes, Aide assistance technique Paradox. Sivous n�avez pas installé WordPerfect Office 2000, vous pouvez accéderaux informations de services et d�assistance de Paradox dans le fichierd�aide TECHSUPP.HLP situé sur le CD-ROM d�installation deWordPerfect Office 2000. Ce fichier d�aide est situé dans le dossierD:\Corel\Paradox (où D correspond au lecteur de CD-ROM).

Avant d�appeler l�assistance technique de Corel

Avant de contacter l�assistance de Corel, assurez-vous que vous avez, près devous, les documents suivants pour aider votre correspondant à trouver lasolution :

� Une description rapide de votre problème, le texte exact des messagesd�erreur et la procédure à suivre pour reproduire le problème.

� Le type d�ordinateur, de moniteur, d�outil de pointage (souris ou tablette),d�imprimante et de carte vidéo dont vous disposez.

� La version de Microsoft Windows que vous utilisez : pour identifier votreversion, cliquez sur Aide dans l�Explorateur puis sélectionnez À propos deWindows 95, À propos de Windows 98 ou À propos de Windows NT.

� La version de Paradox dont vous disposez : pour identifier votre version,cliquez sur Aide puis sur À propos de Paradox.

� La liste des applications en mémoire. Vérifiez le répertoire de démarragedans le menu Programmes pour connaître les applications en coursd�exécution.

Pour chacun de vos appels, vous devez fournir à l�assistance technique deCorel votre numéro d�identification personnel ou votre numéro de série(indiqués sur la carte d�identification du produit). Cette information estdisponible dans la boîte de dialogue À propos de Paradox.

Pour afficher et modifier vos numéro de série et d�identification

1 Cliquez sur Aide puis À propos de Paradox.

2 Cliquez sur N° de série/PIN.

30 Paradox 9 : Chapitre 1

3 Entrez votre numéro de série.

4 Entrez votre numéro d�identification personnel (PIN).

Service ProfessionalLe service Professional de Corel met à votre disposition une équipe deprofessionnels pour vous assister dans la mise en �uvre de solutionstechniques complètes et dans la réalisation de vos objectifs en vous aidant à :

� choisir et déployer de nouvelles technologies sans engager de coûts deformations, d�assistance et de gestion imprévus ;

� prolonger la durée de vie de votre équipement matériel et logiciel pourrentabiliser au maximum vos investissements informatiques ;

� optimiser les performances des technologies Corel que vous utilisez.

Le service Professional de Corel offre une large gamme de services, parmilesquels :

� la planification et la conception

� le développement

� le déploiement

� l�assistance

Vous pouvez engager le service Professional de Corel, pour tout ou partie deses services, selon l�étendue de votre projet et la disponibilité des ressourcesde votre société. Pour de plus amples informations sur le serviceProfessional de Corel, consultez notre site Web à l�adresse suivante :www.corel.com/support/professional. Si vous souhaitez contacter unreprésentant de l�équipe du service Professional de Corel en Amérique duNord, envoyez un courrier électronique à [email protected]. Dans lesautres pays, contactez le service Professional de Corel par courrierélectronique à [email protected] ou en appelant le 353-1-7082580 (numéroà Dublin).

Service ClientèleLe service Clientèle de Corel fournit, de manière rapide et précise, une aidesur les fonctions, les prix, la disponibilité et les services relatifs aux produitsCorel. Pour accéder au service Clientèle, choisissez parmi les solutionssuivantes :

World Wide Web

Vous pouvez accéder au service Clientèle et obtenir des informations sur lesproduits sur le Web, à l�adresse suivante : www.corel.com/support.

Bienvenue dans Paradox 9 31

Courrier, télécopie, courrier électronique

Vous pouvez envoyer vos questions spécifiques au service Clientèle de Corelpar la poste, par télécopie ou par courrier électronique.

Corel CorporationCorel Customer Service1600 Carling Ave.Ottawa, OntarioCanada K1Z 8R7

Télécopie : 613-761-9176

Courrier électronique : [email protected]

Téléphone

Vous pouvez également appeler les centres de service Clientèle de Corelsuivants :

En Amérique du Nord, vous pouvez contacter le service Clientèle de Corelau 1-800-772-6735 (appel gratuit). Ce service fonctionne de 09h00 à 21h00(heure de l�Est, États-Unis) du lundi au vendredi, et de 10h00 à 19h00 ledimanche.

Les clients de Corel, résidant hors Amérique du Nord, peuvent contacter leservice Clientèle de Corel à Dublin en Irlande au 353-1-706-3916 (appelfacturé) ou en contactant un partenaire local du service Clientèle, mandatépar Corel.

Pour afficher la liste des numéros de téléphone des servicesClientèle internationaux

Effectuez une des opérations ci-dessous (selon votre installation) :

� Dans la barre des tâches de Windows, cliquez sur Démarrer, Programmes,WordPerfect Office 2000, Installation et Notes, Aide assistance techniqueParadox.

� Dans la barre des tâches de Windows, cliquez sur Démarrer, Programmes,Paradox 9, Installation et Notes, Aide assistance technique Paradox.

� Si vous n�avez pas installé WordPerfect Office 2000, vous pouvez trouverles numéros de téléphone du service Clientèle dans le fichier d�aideTECHSUPP.HLP sur le CD-ROM d�installation WordPerfect Office 2000.Ce fichier d�aide est situé dans le dossier D:\Corel\Paradox (où Dcorrespond au lecteur de CD-ROM).

� Sur le Web, consultez notre site www.corel.com/support.

32 Paradox 9 : Chapitre 1

Mise en route 33

MISE EN ROUTE 2Une base de données est un système de gestion d�informations. Noussommes quotidiennement amenés à utiliser des bases de données, qu�ils�agisse d�annuaires téléphoniques ou de bibliothèques en ligne. Que ce soitpour les besoins d�une grosse société ou d�une entreprise de seulementquelques personnes, Paradox vous permettra de gérer efficacement vosdonnées. Les Experts de Paradox permettent aux utilisateurs peuexpérimentés de facilement créer des tables, des fiches, des états, desgraphes et des requêtes. Les utilisateurs plus avertis pourront programmerleurs propres bases de données à l�aide du langage ObjectPAL.L�interrogation des tables peut se faire par le biais de la fonction QBE deParadox ou par le biais du langage SQL si vous avez de bonnes connaissancesen matière de programmation de requêtes.

Si vous n�avez jamais travaillé avec des bases de données auparavant, vousdevez avant tout vous familiariser avec les concepts de champ,d�enregistrement, de clé et d�index. Une fois ces concepts assimilés, vouspourrez créer votre propre base de données. Vous pourrez ensuite affinervotre base de données en utilisant des propriétés telles que l�intégritéréférentielle et les contrôles de validité qui vous permettent de garantirl�intégrité de vos données et de lier les tables, fiches ou états que vous avezcréés.

Introduction aux systèmes de base de donnéesParadox est un système de gestion de bases de données relationnellescapable de fonctionner aussi bien de manière autonome sur un seulordinateur qu�en mode multi-utilisateur sur un réseau. Paradox permet demaîtriser les données toujours plus volumineuses que nécessite votre travailquotidien et de les gérer à n�importe quel niveau.

Les utilisateurs débutants dans le domaine des bases de données veulentpouvoir créer une table rapidement et facilement, y introduire des données,les extraire et générer un état. Bien que ces tâches restent toujoursessentielles, plus vos besoins augmentent et plus la puissance de votresystème de base de données doit s�accroître avec eux. Lorsque vous créezvotre base de données, veillez à respecter les principes suivants :

� Il est important de pouvoir fragmenter les données en petites tablesfaciles à gérer. Ce processus est appelé normalisation des données. Il estd�autre part primordial que les tables puissent être facilement liées afin depouvoir exécuter des requêtes sur plusieurs tables à la fois et créer desfiches et des états multi-table. Grâce à la puissance de Paradox, toutes cestâches deviennent simples et rapides.

� Plus vous travaillez avec un système, plus vous souhaitez lepersonnaliser. Dans un premier temps, vous vous contenterez d�améliorerl�aspect visuel d�un état ou de créer des fiches personnalisées pourfaciliter la saisie des données. Par la suite, vous désirerez peut-êtreautomatiser certaines tâches ou les lier entre elles.

� La richesse des fonctions de conception de Paradox peut apporter à vosfiches et à vos états exactement la présentation recherchée. Après avoirextrait des données de multiples tables, vous pouvez leur ajouter deschamps récapitulatifs et calculés afin de tirer des conclusions de vosinformations. Il vous est possible d�ajouter des graphes et des référencescroisées de vos données pour mieux informer par un impact visuel. Vousavez également la possibilité d�ajouter du code ObjectPAL aux objetscontenus dans les fiches afin de créer la fonction qui vous est nécessaire.Vous pouvez même créer des boutons qui, en un clic de souris, vouspermettront d�exécuter les commandes que vous aurez définies.

Paradox vous permet également de créer vos propres applications de basesde données. Grâce à ObjectPAL, vous construisez l�application de bout enbout : définition des menus, organisation et structuration des tables,définition des fonctions selon vos besoins. Une fois l�application fournie, lecode ObjectPAL disparaît aux yeux de l�utilisateur pour une parfaitepersonnalisation de Paradox.

34 Paradox 9 : Chapitre 2

Fonctionnement des bases de données relationnelles

Qu�est-ce qu�une base de données relationnelle ?

Une base de données est un ensemble organisé d�informations basées surdes données spécifiques. Par exemple, vous pouvez créer une base dedonnées simple de votre collection de CD, en classant les données encatégories spécifiques telles que artiste, titre d�album, durée et prix.

Dans une base de données relationnelle telle que Paradox, les données sontorganisées en tables. Les tables contiennent des catégories de données,répétées pour chaque élément de la table. Si, à l�aide de l�exemple ci-dessus,vous structurez la collection de CD comme une table, vous pouvez faire unepremière colonne pour les artistes, une deuxième pour les titres d�album,une troisième pour la durée et une quatrième pour le prix. Pour chaqueentrée dans votre collection (chaque élément de table), vous utilisez lesmêmes catégories de données (artistes, titres d�album, durée et prix).

Supposons que vous souhaitiez également classer les informationsspécifiques sur certains CD, telles que les différentes chansons de chaqueCD, la durée de chaque chanson ainsi que les artistes qui participent àcertaines chansons. Vous pouvez également stocker ces informations dansune table. Puisque vous avez deux collections de données, vous avez aussideux tables.

Base de données à tables bidimensionnelles

Certains systèmes de base de données ne consultent qu�une table à la fois.Ce sont les systèmes à tables bidimensionnelles. Dans ce cas-là, les termes« table » et « base de données » signifient la même chose. En prenantl�exemple de la collection de CD, vous pouvez voir les titres d�album et lesartistes dans une table ou les titres d�album et les chansons de chaque CDdans une autre. Il serait impossible de combiner des informations extraitesdes deux tables.

Base de données relationnelle

Dans une base de données relationnelle telle que Paradox, il est possibled�extraire de chaque table des informations spécifiques pour les rassemblerd�une manière significative. Supposons, par exemple, que vous vouliez voirune liste comprenant juste les titres d�album, les artistes et les chansons dechaque CD. Paradox vous permet de lier la table de la collection de CD etcelle contenant les informations spécifiques de l�album en identifiant unchamp commun (titre d�album). Ensuite, libre à vous d�associer les typesd�informations que vous désirez afficher à partir des deux tables. Parexemple, vous avez la possibilité d�interroger la base de données et de créerune table Réponse dans laquelle sont répertoriés les titres d�album, les

Mise en route 35

artistes et les titres des chansons. Vous pouvez enregistrer la requête defaçon à pouvoir générer à tout moment une liste actualisée. Bien que lestables soient enregistrées séparément, Paradox comprend qu�il existe unerelation entre ces deux tables. Dans une base de données relationnelle telleque Paradox, le terme « base de données » fait référence à toutes vos tablesainsi qu�aux relations qui existent entre ces tables.

L�utilisation de champs communs pour relier les tables empêche laduplication des données et facilite la gestion de l�information puisque la miseà jour d�un seul champ déclenche automatiquement la mise à jour desinformations contenues dans une multitude de tables.

Les systèmes de base de données relationnelle peuvent faire appel à quatretypes de relations table à table :

� un-à-un

� un-à-plusieurs

� plusieurs-à-un

� plusieurs-à-plusieurs

Il est conseillé aux utilisateurs peu expérimentés de lire la rubrique Étude decas : la société MAST dans l�aide en ligne de Paradox, qui décrit, en se basantsur l�exemple de la société MAST, les procédures à suivre pour créer unebase de données.

Comprendre la normalisation des donnéesLa normalisation des données consiste à organiser les données en tablesséparées, chacune des tables contenant le nombre minimal de champsnécessaires pour établir des catégories uniques. Au lieu d�utiliser une tablevaste et complexe contenant un grand nombre de champs, les tablesnormalisées répartissent les informations dans plusieurs tables comportantun nombre moins élevé de champs.

Dans une base de données complètement normalisée (ultime objectif detoute base de données), les seuls champs dupliqués dans la base sont ceuxqui lient les tables. Procurant plus de souplesse en termes d�analyse, lestables normalisées constituent l�élément fondamental d�une base de donnéesefficace.

36 Paradox 9 : Chapitre 2

Il est conseillé aux utilisateurs peu expérimentés de lire la rubrique Étude decas : la société MAST dans l�aide en ligne de Paradox, qui décrit, en se basantsur l�exemple de la société MAST, les procédures à suivre pour créer unebase de données.

Comprendre l�intégrité référentielleL�intégrité référentielle garantit que les liens entre les données identiquesappartenant à des tables séparées ne peuvent pas être rompus. Ce quisignifie que Paradox vérifie la validité d�une valeur avant de l�accepter. Parexemple, si vous établissez une relation d�intégrité référentielle entre unetable Clients et une table Commande sur leur champ commun No Client, puisentrez une valeur dans le champ No Client Paradox accepte cette valeuruniquement si elle existe dans le champ No Client de la table Clients.Lorsque vous créerez des tables, vous souhaiterez établir une intégritéréférentielle entre elles.

Dans l�illustration ci-dessous, vous pouvez voir que Paradox n�autorise pas lasaisie dans le champ No Client de la table COMMANDE.DB d�une valeur quin�existe pas dans le champ No Client de la table CLIENTS.DB.

Mise en route 37

Un exemple denormalisation dedonnées

Il est conseillé aux utilisateurs peu expérimentés de lire la rubrique Étude decas : la société MAST dans l�aide en ligne de Paradox qui décrit, en se basantsur l�exemple de la société MAST, les procédures à suivre pour créer unebase de données.

� Pour de plus amples informations sur l�intégrité référentielle, consultez larubrique Intégrité référentielle à la page 92.

Comprendre les clés et les indexLorsque vous créez une table de base de données, vous devez définir la cléprimaire ou composite de la table. Une clé primaire détermine l�ordre de trid�une table et empêche la duplication des enregistrements dans la base dedonnées, car elle ne vous autorise pas à introduire des données en double.Par exemple, dans une table contenant des informations sur vos clients, vouspouvez définir le champ Nom comme clé primaire pour que lesenregistrements soient classés en fonction de l�ordre alphabétique des nomsdes clients. La clé primaire doit être le premier champ de la table.

Une clé composite est identique à une clé primaire, à cette différence prèsqu�elle se compose d�un groupe de champs au lieu d�un seul champ. Le trid�une table s�effectue à l�aide de la clé, en commençant par le premier champde la clé, puis le second, etc. Les clés composites autorisent les valeursdoubles dans un champ clé individuel à condition qu�elles ne soient pas

38 Paradox 9 : Chapitre 2

Un exemple d�intégritéréférentielle

dupliquées dans tous les champs. Par exemple, si vous avez défini le nomclient et le numéro de téléphone client comme clé composite, vous pouvezentrer deux clients portant le même nom, cas de figure fort possible avec uneliste volumineuse. En définissant une clé pour le champ No Téléphone, vousempêcherez les utilisateurs de saisir deux fois le même client.

Lorsque vous établissez une clé, Paradox crée un ou plusieurs fichierscontenant un index des valeurs du champ et leur emplacement. C�estpourquoi la clé primaire est aussi appelée « index primaire ». Alors que vous,utilisateur, ne voyez jamais cet index, Paradox se réfère au fichier index pourlocaliser et afficher les enregistrements d�une table.

Vous pouvez établir des index primaires et secondaires dans toutes lestables.

Relation entre les champs clés et les liens

Pour lier des tables, vous devez définir une relation entre des champs dedeux tables. Pour cela, les deux tables doivent avoir au moins un champidentique. Dans l�une de ces tables (ou dans les deux), ce champ doit être laclé de la table. Si les tables contiennent au moins un champ commun,Paradox pourra alors les lier afin de vous permettre de manipuler desdonnées provenant de ces deux tables. Ce processus est appelé interrogationdes tables.

Les systèmes Paradox et dBASE permettent tous deux de créer des indexpour indiquer l�ordre d�accès aux enregistrements. Mais le principe defonctionnement des index est différent pour les tables Paradox et dBASE.

Il est conseillé aux utilisateurs peu expérimentés de lire la rubrique Étude decas : la société MAST dans l�aide en ligne de Paradox qui décrit, en se basantsur l�exemple de la société MAST, les procédures à suivre pour créer unebase de données.

� Pour de plus amples informations, consultez les rubriques Définition deschamps clés à la page 68 et Index à la page 70.

Comprendre les liensPour créer une base de données efficace et facile à gérer, il vous faut créerdes tables que vous pouvez lier. Procédé le plus courant pour lier des tables :les champs communs. Par exemple, pour pouvoir lier une tabled�informations client à une table de commandes client, vous pouvez déciderd�inclure un champ No Client dans les deux tables.

Mise en route 39

Pour que les champs soient considérés comme identiques dans les deuxtables, ils doivent répondre aux conditions suivantes :

� porter le même nom (la casse doit être respectée) ;

� être de la même taille ;

� être du même type ;

� l�un des champs doit jouer le rôle de clé primaire dans l�une des tables.

Si ces conditions sont respectées, les champs sont reconnus commecontenant des données identiques. Ainsi, la mise à jour des données de cechamp dans une table entraîne automatiquement la mise à jour de cesdonnées dans toutes les autres tables contenant ce champ, ce qui garantitl�intégrité des informations stockées dans la base de données.

En liant des tables à l�aide de champs communs, vous pouvez exploiterpleinement la puissance et la souplesse de Paradox et facilement mettre àjour, visualiser, interroger et créer des états.

Il est conseillé aux utilisateurs peu expérimentés de lire la rubrique Étude decas : la société MAST dans l�aide en ligne de Paradox qui décrit, en se basantsur l�exemple de la société MAST, les procédures à suivre pour créer unebase de données.

Comprendre les contrôles de validitéLes contrôles de validité sont des règles que vous pouvez définir sur deschamps d�une table et qui spécifient les critères que doivent satisfaire lesdonnées entrées pour que Paradox les considère comme valides. Lescontrôles de validité permettent de minimiser le nombre d�erreurs pouvantsurvenir lors de la saisie des données. Paradox vous permet de définirdifférents types de contrôle de validité sur les champs d�une table. CorelParadox permet d�imposer de nombreux types de contrôle de validité sur leschamps d�une table. Par exemple, vous pouvez spécifier des valeursmaximum ou minimum pour les champs numériques, une valeur par défautpour un champ, ou exiger que les utilisateurs renseignent un champ donnéavant de passer à l�enregistrement suivant.

Il est conseillé aux utilisateurs peu expérimentés de lire la rubrique Étude decas : la société MAST dans l�aide en ligne de Paradox qui décrit, en se basantsur l�exemple de la société MAST, les procédures à suivre pour créer unebase de données.

� Pour de plus amples informations, consultez la rubrique Contrôles devalidité à la page 76.

40 Paradox 9 : Chapitre 2

Comprendre les modèles relationnelsUn modèle relationnel est une représentation graphique des relations quipeuvent exister entre différentes tables. Les modèles relationnels vouspermettent de facilement indiquer à Paradox quelles tables doivent êtreutilisées et la façon dont elles sont liées.

Il existe deux types de modèles relationnels :

� Les modèles relationnels associés à une fiche ou à un état. Lorsque vouscréez une fiche ou un état, vous devez indiquer à Paradox quelles tablesdoivent être utilisées et la façon dont ces tables sont liées entre elles (surquels champs). Pour créer un modèle relationnel pour une fiche ou unétat, vous devez utiliser la boîte de dialogue Modèle relationnel.

� Les modèles relationnels indépendants. Vous pouvez créer des modèlesrelationnels indépendants, qui ne sont associés à aucune fiche ou à aucunétat. Ce type de modèle est appelé modèle relationnel de référence. Vouspouvez créer des modèles relationnels indépendants dans le but de lesutiliser ultérieurement. Les modèles relationnels de référence peuventêtre créés à l�aide du Concepteur Modèle relationnel et sont enregistrésdans des fichiers .DM.

Vous pouvez créer des modèles relationnels dans la boîte de dialogue Modèlerelationnel ou dans le Concepteur de modèle relationnel. Cependant, lorsquevous créez un modèle relationnel associé à une fiche ou à un état, Paradoxaffiche la boîte de dialogue Modèle relationnel. En revanche, lorsque vouscréez un modèle relationnel indépendant, Paradox affiche le ConcepteurModèle relationnel.

Un modèle relationnel peut être basé sur une ou plusieurs tables. Pourutiliser des données d�une fiche, d�un état ou d�une requête provenant deplusieurs tables, vous devez créer un modèle relationnel multi-table. Vousdevez ensuite définir des relations entre ces tables afin de les lier.

Vous pouvez créer un modèle relationnel indépendamment d�une fiche, d�unétat ou d�une requête et utiliser la boîte de dialogue Modèle relationnel pourconcevoir un document ou exécuter une requête.

� Avant de lier des tables pour créer un modèle relationnel, vous devez lesstructurer à l�aide de clés et d�index. Pour de plus amples informations surles clés et les index, consultez la rubrique Index à la page 70.

� Pour de plus amples informations sur les modèles relationnels, consultezla rubrique Création de modèles relationnels à la page 199.

Mise en route 41

Répertoire des fichiers d�exemples de ParadoxLes disques d�installation contiennent des fichiers d�exemples que vouspouvez installer avec l�application Paradox. Les exemples de tablescontiennent des données utilisées par la société fictive Marine Adventuresand Sunken Treasure (MAST). Cette société vend des équipements et desfournitures de plongée aux magasins du monde entier. Pour obtenirdavantage d�informations sur la société MAST, le développement de la basede données MAST et les structures des exemples de tables, reportez-vous àla rubrique Étude de cas : la société MAST de l�aide en ligne de Paradox.

Ces fichiers sont utilisés comme exemple dans ce système d�Aide. Ils setrouvent dans le répertoire Sample (sauf si vous avez indiqué un autrerépertoire d�installation). Si vous avez installé Paradox dans le répertoire pardéfaut, le chemin des fichiers d�exemples estC:\COREL\PARADOX\SAMPLE.

Pour exploiter ces exemples de fichiers, vous devez utiliser le répertoireSample en tant que répertoire de travail. Ainsi, si vous avez installé Paradoxdans le répertoire C:\COREL\PARADOX, vous devez définir le répertoireSAMPLE comme votre répertoire de travail.

Pour définir le répertoire de travail

1 Cliquez sur Fichier, puis sélectionnez Répertoire de travail.

2 Dans la boîte de dialogue Définition du répertoire de travail, tapezC:\COREL\PARADOX\SAMPLE dans la zone Nom de fichier.

Le langage de script ObjectPALObjectPAL (Object Paradox Application Language) est un langage deprogrammation visuel, piloté par événement et orienté objet. ObjectPALpermet de personnaliser complètement les applications et de les munir deboutons, menus, boîtes de dialogues, invites, avertissements et aide en ligne.ObjectPAL permet également d�étendre les fonctions normales de Paradoxou de créer des applications autres que bases de données.

ObjectPAL et Paradox sont solidement intégrés ; plus vous en savez surParadox, plus vous pouvez en profiter dans la programmation ObjectPAL. Enconsidérant qu�ObjectPAL est un outil permettant d�augmenter la puissancede Paradox, vous découvrirez des moyens d�utiliser ce langage pour effectuerdes tâches, qui seraient ennuyeuses, difficiles, longues ou même impossiblesà réaliser.

ObjectPAL prend en charge des variables et des structures de contrôle, tellesque IF, FOR, WHILE, LOOP et une grande partie des types de donnéesutilisés par d�autres langages de programmation. Soit vous utilisez les

42 Paradox 9 : Chapitre 2

méthodes et procédures fournies par ObjectPAL, soit vous créez vos propresméthodes et procédures de personnalisation.

� Pour plus d�informations sur ObjectPAL, voir l�aide en ligne (cliquez surAide, Référence ObjectPAL) ou le didacticiel ObjectPAL (cliquez sur Aide,Didacticiel ObjectPAL) pour obtenir des instructions pas à pas sur lamanière d�utiliser ObjectPAL.

Comprendre les objets ParadoxDans Paradox, les objets désignent les composants de la base de données quipermettent d�enregistrer, d�afficher, d�extraire et de présenter les données.Les principaux objets que vous utilisez dans Paradox sont les tables, lesfiches, les requêtes et les états. Vous pouvez également travailler avec desscripts et des bibliothèques ObjectPAL, des modèles relationnels ou desfichiers SQL. De plus, Paradox comporte de nombreux objets de conceptionque vous pouvez utiliser pour personnaliser vos fiches et vos états. Lesobjets de Paradox et les objets de conception possèdent des caractéristiquesou attributs appelés propriétés.

Paradox utilise les objets suivants pour enregistrer, afficher et présenter lesdonnées :

� fichiers

� tables

� fiches

� états

� requêtes

� modèles relationnels

� scripts ObjectPAL

� bibliothèques

� fichiers SQL

Les objets de conception sont des objets que vous créez à l�aide des fonctionsauxquelles vous permettent d�accéder les barres d�outils et que vous placezdans la fenêtre de conception d�une fiche ou d�un état. Les objets deconception sont entre autres les suivants :

� objets de type texte

� zones, lignes et ellipses

� références croisées

Mise en route 43

� graphes

� boutons

� graphiques

� objets OLE

� pages de document

Chaque objet dispose d�une extension différente. Pour connaître toutes lesextensions de fichiers associées aux objets Paradox, reportez-vous à larubrique Extensions de fichiers des objets Paradox de la section Référencede l�aide en ligne.

Comprendre les tablesParadox stocke les données dans des tables. Chaque table regroupe desinformations portant sur un sujet spécifique. Une table peut par exemplecontenir toutes les données relatives à des commandes, à des formations ouà des employés. Les tables sont constituées de lignes et de colonnes. Chaqueligne contient des informations concernant une même personne ou un mêmearticle. Par exemple, une ligne d�une table Clients peut contenir desinformations telles que le numéro d�identification, le nom, l�adresse et lenuméro de téléphone d�un client. Une ligne constitue un enregistrement.Chaque colonne contient une catégorie de données composant unenregistrement. Une colonne constitue un champ.

La table simplifiée présentée ci-dessous est intitulée Phone.db. Ellecomporte deux champs (Nom et No Téléphone) et trois enregistrements(Janet, Sue, Doug).

Tables temporaires

Certaines opérations entraînent la création de tables temporaires qui sontsupprimées lorsque vous changez de répertoire privé ou lorsque vous quittezla session Paradox.

44 Paradox 9 : Chapitre 2

Paradox stocke les tables temporaires dans votre répertoire privé. Vouspouvez modifier et interroger une table temporaire comme vous le feriezpour n�importe quelle autre table. Pour enregistrer l�une de ces tables, vousdevez la renommer.

Le tableau ci-dessous répertorie les tables temporaires générées par Paradoxau cours de certaines opérations. Paradox place ces tables dans le répertoireprivé.

.Nom Créée

REPONSE.DB lors d�une requête � contient les résultats d�une requête

MODIFIE.DB lors d�une requête REMPLACERPAR ou d�une opération Ajouter (mise àjour) � contient la copie d�origine des enregistrements modifiés

XTAB.DB lors de l�exécution d�une référence croisée dans une fiche � contient lesrésultats de la référence croisée

SUPPRIME.DB lors d�une requête SUPPRIMER � contient les enregistrementssupprimés

ERRMODIF.DB lors d�une requête REMPLACERPAR � contient les enregistrements quin�ont pu être modifiés par la requête

ERRSUPPR.DB lors d�une requête SUPPRIMER � contient les enregistrements qui n�ontpu être supprimés par la requête

ERRINSER.DB lors d�une requête INSÉRER � contient les enregistrements qui n�ont puêtre insérés par la requête

INSERE.DB lors d�une requête INSÉRER � contient les enregistrements insérés

DOUBLONS.DB lors d�une opération Restructurer ou Ajouter � contient lesenregistrements comportant des valeurs de clés dupliquées et lesenregistrements ne respectant pas les règles d�intégrité référentielle

VERROUS.DB lors de la sélection de la commande Outils, Afficher les verrous �contient tous les verrous actifs d�une table

PAL$SRC.DB lors de la sélection de la commande Affichage, Source du document �contient la liste des codes, objets et méthodes sources de la fiche

PROBLEME.DB lors d�une opération Restructurer ou Importer � contient lesenregistrements non convertis

Mise en route 45

� Évitez d�utiliser un nom de table temporaire réservé pour nommer unobjet que vous venez de créer dans la mesure où Paradox supprime lestables temporaires (ou les tables auxquelles sont affectés ces nomsréservés) lorsque vous modifiez votre répertoire privé ou lorsque vousquittez Paradox.

� Si, au cours d�une même session, vous effectuez plusieurs fois une mêmeopération qui a pour effet de créer une table temporaire, Paradox crée destables temporaires supplémentaires du même nom et les numérote.Exemple : Doublons1, Doublons2, etc.

� Pour de plus amples informations, consultez la rubrique Création d�unetable Paradox à la page 65.

Comprendre les fichesIl est parfois plus facile de travailler avec des données extraites de vos tablesen utilisant un enregistrement à la fois, plutôt qu�avec une table complète dedonnées. Les fiches vous permettent de consulter autant de données quevous le souhaitez, au format désiré. La figure ci-après présente une fichecréée par Paradox n�affichant qu�un seul enregistrement à la fois.

Lorsque vous affichez des données dans une fiche, elles sont identiques àcelles de la table mais Paradox les dispose différemment. Lorsque vousmodifiez des données dans la fiche, Paradox met à jour ces données dans latable.

Vous pouvez utiliser les outils de conception de Paradox pour créer desfiches personnalisées. Vous pouvez concevoir des fiches contenant plusieursenregistrements extraits d�une table, voire des enregistrements extraits deplusieurs tables.

� Pour de plus amples informations, consultez la rubrique Création etouverture d�une fiche à la page 262.

Comprendre les étatsLa plupart des utilisateurs préfèrent visualiser leurs données dans un étatimprimé. Les états Paradox constituent des outils de travail efficaces offrantune grande souplesse. Les états vous permettent de trier et de regrouperdes enregistrements, de calculer des champs et des totaux et d�organiser vosdonnées de nombreuses façons.

46 Paradox 9 : Chapitre 2

Tout comme pour les fiches, vous pouvez utiliser les outils et les fonctions deconception de Paradox dans les états. Ces outils vous permettent depersonnaliser vos états afin d�obtenir la présentation désirée. De plus, lestables pouvant être facilement liées, vous pouvez combiner des donnéesprovenant de plusieurs tables dans un même état qui contiendra alors toutesles informations dont vous avez besoin.

� Pour de plus amples informations, consultez la rubrique Création etouverture d�un état à la page 283.

Comprendre les requêtesUne requête Paradox est une question que vous formulez sur les donnéescontenues dans vos tables. Vous pouvez utiliser des requêtes pour :

� rechercher ou sélectionner les données d�une table ;

� regrouper des données provenant de plusieurs tables ;

� exécuter des calculs sur les données d�une table.

La méthode de requête QBE de Paradox vous permet d�interroger lesdonnées de vos tables. Dans une fenêtre Requête, sélectionnez les tables quevous désirez interroger, puis entrez un exemple des données que vousdésirez extraire. Paradox exécute la requête et génère une table Réponsebasée sur l�exemple que vous avez fourni.

Vous pouvez également exécuter une requête interactive afin de générer unevue interactive et modifiable des données extraites par la requête. Lorsquevous modifiez la vue de requête reliée, vous modifiez également les donnéesde la table interrogée. Les vues de requêtes reliées vous permettentd�afficher simplement les données avec lesquelles vous souhaitez travailler.

� Pour de plus amples informations sur les requêtes, consultez la rubriqueInterrogation de votre base de données à la page 351.

Mise en route 47

Comprendre les fichiers SQL, de script ObjectPAL et de bibliothèque

Scripts

Les scripts sont des morceaux de code ObjectPAL que vous créez pourexécuter automatiquement des opérations. (ObjectPAL est le langaged�application de Paradox). Les scripts ObjectPAL sont généralement liés auxobjets figurant dans les fiches, mais vous pouvez également créer des scriptsautonomes qui ne sont associés à aucune fiche. Vous pouvez, par exemple,rédiger un script permettant d�ouvrir une table spécifique et d�exécuter uncalcul sur un ou plusieurs champs de cette table. Paradox exécute ce type descript directement depuis le bureau, sans déclencher d�événement sur unobjet d�une fiche. Consultez la documentation sur ObjectPAL et l�aide enligne pour obtenir des informations sur la rédaction des scripts.

Bibliothèques

Une bibliothèque est un objet que vous pouvez utiliser pour enregistrer ducode ObjectPAL utilisé couramment. Vous pouvez ainsi partager facilementle code entre les fiches, les scripts et les autres bibliothèques. Pour obtenirplus d�informations, reportez-vous à la documentation ObjectPAL et à l�aideen ligne.

Fichiers SQL

Un fichier SQL est un objet contenant le code que vous rédigez en langageSQL (Structured Query Language). Pour de plus amples informations surl�utilisation du langage SQL dans Paradox et sur l�utilisation de Paradox avecdes données distantes, consultez la rubrique Connexion au serveur SQL.

Vous pouvez utiliser l�créateur SQL pour écrire le code SQL permettantd�exécuter des opérations sur des données distantes à l�aide des liens SQL deCorel. Vous pouvez également rédiger des scripts de requêtes en langageSQL pour les exécuter sur des données locales de Paradox ou de dBASE.

Définition des préférences pour le bureau et pour lesystème

Les préférences sont des paramètres généraux qui affectent lesperformances globales de Paradox, ainsi que les paramètres ou valeurs pardéfaut utilisés pour de nombreuses opérations.

Pour définir les préférences pour le bureau et le système

� Cliquez sur Outils, Paramètres, Préférences.

La boîte de dialogue Préférences contient les pages suivantes :

48 Paradox 9 : Chapitre 2

Dans la page Général, vous pouvez :

� entrer un nouveau titre pour la barre de titre de Paradox ;

� sélectionner un bitmap pour l�arrière-plan de la fenêtre Paradox ;

� changer les paramètres et la police par défaut du bureau ;

� spécifier que la Fenêtre Projet doit automatiquement s�ouvrir audémarrage de Paradox.

Dans la page Tables, vous pouvez :

� spécifier si vous voulez utiliser une table vierge ou un Expert pour créervos tables ;

� spécifier qu�un message de confirmation doit s�afficher lorsque voussupprimez un enregistrement.

Dans la page Fiches/États, vous pouvez :

� spécifier si vous voulez utiliser un modèle relationnel ou un Expert pourcréer vos fiches et vos états.

� spécifier quelle taille doit avoir votre fiche ou votre état à l�écran ;

� spécifier si votre fiche ou votre état doit s�ouvrir en mode conception ;

� sélectionner des feuilles de style écran et imprimante.

Dans la page Concepteur, vous pouvez :

� spécifier comment les objets placés dans d�autres objets peuvent êtresélectionnés.

� spécifier si les objets de conception doivent être affichés avec ou sanscadre.

� supprimer le clignotement de l�écran lors du déplacement ou duredimensionnement des objets de conception.

� spécifier si lors du déplacement ou du redimensionnement d�un objet,l�objet doit être visible ou uniquement son contour.

� spécifier comment les lignes des grilles doivent être mesurées etespacées.

� spécifier quelle règle doit être affichée dans les fenêtres de conception.

Dans la page Requête, vous pouvez :

� spécifier quel type d�accès vous et les autres utilisateurs peuvent avoirsur les requêtes.

Mise en route 49

� spécifier si votre requête requiert des données distantes résidant sur desserveurs SQL.

� spécifier si Paradox doit générer des tables auxiliaires lors de l�exécutionde requêtes modifiant les données.

� spécifier quel opérateur (Sélection ou Sélection plus) doit être utilisé pardéfaut pour la sélection des champs dans une requête.

� contrôler la mise à jour de tables SQL depuis les vues de requêtes reliées.

Dans la page Barres d�outils, vous pouvez :

� activer les barres d�outils que vous désirez utiliser.

Dans la page Experts, vous pouvez :

� spécifier si les Experts doivent s�ouvrir lors de la création d�objets dansles documents et si l�Expert Bienvenue doit automatiquement s�afficherau démarrage de Paradox.

Dans la page Avancées, vous pouvez :

� définir les messages d�avertissement, les entrées de caractères ANSI, lesbranches de répertoires extensibles et les barres de défilement dans lesfenêtres des fiches.

Dans la page Base de données, vous pouvez :

� indiquer quel répertoire vous désirez utiliser comme répertoire privé.

� spécifier si Paradox doit traiter ou non les champs vides comme des zérosdans les champs calculés.

� déterminer comment Paradox gère les autres utilisateurs lorsqu�il estutilisé en réseau, la fréquence du rafraîchissement de l�affichage etpendant combien de temps Paradox doit tenter d�accéder aux tablesverrouillées.

Dans la page BDE, vous pouvez :

� afficher le répertoire du fichier de contrôle de réseau, les pilotes delangue et de bases de données, la taille du tampon ou le partage des tableslocales.

� Les préférences de l�créateur SQL peuvent être définies dans la pageCréateur de la boîte de dialogue Préférences du développeur.

50 Paradox 9 : Chapitre 2

Configuration des préférences ObjectPALLes préférences sont des paramètres généraux qui affectent lesperformances globales de Paradox, ainsi que les paramètres ou les valeurspar défaut utilisés pour de nombreuses opérations. Les préférencesObjectPAL peuvent être définies à l�aide de la commande Préférences dudéveloppeur.

Vous pouvez définir le niveau ObjectPAL dans la page Général. SélectionnezDébutant pour restreindre les possibilités d�affichage ObjectPAL. Ce niveauvous permettra de comprendre plus rapidement le fonctionnementd�ObjectPAL. Après vous être familiarisé avec ObjectPAL, sélectionnezl�option Avancé pour afficher la totalité des fonctions ObjectPAL.

Configuration des préférences ObjectPAL généralesVous pouvez définir les préférences ObjectPAL du bureau et du système.

Pour définir des préférences ObjectPAL générales

� Cliquez sur Outils, Paramètres, Préférences du développeur.

La boîte de dialogue Préférences du développeur contient les pagessuivantes :

Dans la page Général, vous pouvez :

� spécifier si l�Explorateur d�objet et la Référence rapide ObjectPALdoivent afficher tous les éléments du langage ObjectPAL (Avancé) ouuniquement certains d�entre eux (Débutant).

� spécifier si l�exécution peut être interrompue en appuyant sur lestouches CTRL + ATTN.

� définir et utiliser vos propres points d�arrêt.

� spécifier si l�environnement de débogage doit être ouvert dans lesfenêtres de conception.

� ouvrir le débogueur lorsque vous exécutez une fiche.

� afficher des options de menu supplémentaires dans la fenêtreConception de fiche.

Dans la page Explorateur, vous pouvez :

� spécifier comment l�Explorateur d�objet doit lister les méthodes ou lesévénements.

Mise en route 51

Dans la page Créateur, vous pouvez :

� sélectionner les options correspondant aux opérations que vous désirezexécuter.

� cliquer sur le bouton Valeurs par défaut pour définir les options quevous avez sélectionnées sur les valeurs par défaut de l�affectationcourante des touches.

� spécifier le nombre de colonnes entre les tabulations.

� spécifier le nombre de colonnes devant être mises en retrait.

� spécifier le nombre d�actions pouvant être annulées.

Dans la page Affichage, vous pouvez :

� sélectionner l�un des trois jeux de touches disponibles.

� sélectionner des options d�affichage, telles qu�Indication sur barred�état et Confirmer l�enregistrement.

� sélectionner une taille de police.

Dans la page Couleurs, vous pouvez :

� sélectionner une couleur pour le texte et l�arrière-plan des options dela liste Éléments ou sélectionner des paramètres par défaut.

� définir les attributs du texte.

� Si vous activez l�option Afficher menus développeur dans l�onglet Généralde la boîte de dialogue Préférences du développeur, des commandessupplémentaires apparaîtront dans certains menus de la fenêtreConception de fiche. Ces commandes apparaissent uniquement dans l�IDE(environnement à développement intégré). La présence de cescommandes dans la fenêtre Conception de fiche peut s�avérer utile pourles développeurs ObjectPAL.

Organisation de vos projets de bases de donnéesDans la mesure où les bases de données peuvent être de taille importante etcontenir différents types d�objets, tels que des tables, des fiches, des états etdes requêtes, Paradox comporte plusieurs fonctions vous permettantd�organiser vos projets de bases de données. La Fenêtre Projet est uneinterface graphique qui vous permet, en cliquant sur les différents typesd�objets disponibles, d�afficher des objets enregistrés dans un répertoiredonné. La Fenêtre Projet vous permet également d�accéder aux répertoires

52 Paradox 9 : Chapitre 2

de travail et privé dans lesquels vos fichiers sont enregistrés. De plus, lesalias permettent de renommer un chemin d�accès complet en utilisant unnom plus court. Les alias vous permettent de facilement accéder à vos basesde données, sans avoir à taper des chemins d�accès particulièrement longs !

Fenêtre ProjetLa Fenêtre Projet est l�un des principaux éléments du bureau Paradox. Ellevous permet de facilement organiser vos projets de bases de données.

Dans le coin supérieur gauche de la Fenêtre Projet se trouve une zone deliste déroulante affichant la liste des répertoires existants. Vous pouvezutiliser votre propre répertoire (c�est-à-dire un répertoire de travail) pourstocker les tables, fiches, états, graphes, etc., que vous créez. Recherchez àl�aide de la zone de liste déroulante le répertoire que vous désirez utiliser.Cliquez sur n�importe quel objet affiché dans le volet de gauche de la FenêtreProjet. Par exemple, si vous avez défini le répertoire Samples comme votrerépertoire de travail et cliqué sur Tables, la liste de toutes les tables qui ontété créées pour le projet Samples s�affiche.

Vous pouvez cliquer avec le bouton droit de la souris sur les fichiers listésdans la Fenêtre Projet pour afficher un menu contextuel ou cliquer deux foissur les fichiers pour exécuter l�action par défaut, qui est généralementOuvrir.

Dans la Fenêtre Projet, vous pouvez :

� sélectionner un autre répertoire de travail à l�aide de la zone de listedéroulante située dans le coin supérieur gauche de la fenêtre.

� cliquer sur une icône dans le volet gauche pour sélectionner le typed�objet que vous désirez afficher.

� cliquer avec le bouton droit de la souris sur l�une des icônes affichées dansle volet gauche pour accéder aux commandes Nouveau et Ouvrir (vouspouvez utiliser les touches MAJ et CTRL pour sélectionner plusieursicônes).

� cliquer avec le bouton droit de la souris sur l�un des objets figurant dans levolet droit pour afficher un menu contextuel.

� cliquer deux fois sur un objet pour exécuter la première commande dumenu contextuel (il s�agit généralement de l�option Ouvrir). Vous pouvezégalement exécuter la première commande du menu contextuel en faisantglisser les objets sélectionnés vers le bureau Paradox.

� spécifier un type d�objet pour lequel il n�existe pas d�icône en cliquant surl�icône Personnalisé et en spécifiant une extension de fichier, telle que*.TXT, dans la zone de texte.

Mise en route 53

� copier ou coller des objets situés dans le volet droit de la Fenêtre Projeten les déplaçant vers l�Explorateur Windows et dans les applicationssupportant OLE 2.0.

� spécifier les fichiers ou objets supplémentaires (ne figurant pas dans votrerépertoire de travail ou privé) pour lesquels vous voulez créer desraccourcis afin qu�ils apparaissent dans la Fenêtre Projet. Ces objets oufichiers sont appelés références.

Utilisation de la Fenêtre ProjetLa Fenêtre Projet répertorie les objets contenus dans vos répertoires detravail et privé. Elle vous permet d�accéder rapidement à ces objets.

Pour ouvrir la Fenêtre Projet :

� Cliquez sur Outils, puis sélectionnez Fenêtre Projet.

Pour que la Fenêtre Projet s�ouvre chaque fois que vous exécutezParadox

1 Cliquez sur Outils, Paramètres, Préférences.

2 Cliquez sur l�onglet Général si celui-ci n�est pas activé.

3 Activez la case Ouvrir la Fenêtre Projet au démarrage.

Pour afficher le menu de commandes des éléments de la FenêtreProjet :

� À l�aide du bouton droit de la souris, cliquez sur un nom d�objet situé dansle volet droit de la Fenêtre Projet.

� Si vous affichez la totalité des fichiers, certains d�entre eux ne disposerontpas de menu. En effet, certains fichiers sont créés en même temps quedes objets Paradox et sont uniquement modifiés lorsque vous modifiez cesobjets. (Exemple : les fichiers .PX, .TV et .MB sont associés aux tablesParadox).

� Vous pouvez changer de répertoire de travail à partir de la Fenêtre Projet.Pour de plus amples informations sur les répertoires de travail et lesrépertoires privés, consultez la rubrique Répertoires à la page 56.

54 Paradox 9 : Chapitre 2

Ajout et suppression d�éléments dans la Fenêtre ProjetVous pouvez afficher d�autres objets ou fichiers dans la Fenêtre Projet(c�est-à-dire des fichiers ne figurant pas dans votre répertoire de travail ouprivé) en créant des raccourcis pour ces objets et fichiers. Ces objets oufichiers sont appelés références.

Lorsque vous ouvrez la Fenêtre Projet pour la première fois, le contenu durépertoire de travail s�affiche. Vous pouvez ajouter des éléments à la FenêtreProjet en créant des raccourcis. La création d�un raccourci (référence) versun élément n�entraîne aucun transfert dans le répertoire de travail. Paradoxne fait que créer une référence permettant d�accéder à cet élément.

Une fois la référence créée, l�élément (ainsi que son chemin ou alias) apparaîtdans la Fenêtre Projet. Cliquez sur une référence avec le bouton droit de lasouris, comme vous le feriez pour des éléments du répertoire de travail.

Les références apparaissent également dans les boîtes de dialogue. Si vouscliquez sur Fichier et sélectionnez Ouvrir, puis Table, toutes les référencesque vous avez ajoutées apparaissent dans la liste de fichiers de la boîte dedialogue Ouverture de Table.

Les références que vous ajoutez dans la Fenêtre Projet s�appliquentuniquement au répertoire de travail. Par conséquent, vous pouvez définirdifférentes références pour chaque répertoire que vous utilisez.

Pour ajouter une référence à la Fenêtre Projet :

1 Dans la Fenêtre Projet, cliquez sur l�objet pour lequel vous voulez créerune référence avec le bouton droit de la souris et sélectionnez Créer unraccourci.

2 Cliquez sur le raccourci avec le bouton droit de la souris et cliquez surCouper.

3 Dans la Fenêtre Projet, choisissez le dossier dans lequel ajouter laréférence.

4 Cliquez sur une fiche située dans le volet droit de la Fenêtre Projet avec lebouton droit de la souris, puis cliquez sur Coller.

Pour supprimer une référence de la Fenêtre Projet :

� Dans le volet droit, cliquez avec le bouton droit de la souris sur l�objet àsupprimer et cliquez sur Supprimer.

La suppression d�une référence de la Fenêtre Projet ne supprime pas unobjet mais uniquement la référence à cet objet.

Mise en route 55

� Vous pouvez utiliser la procédure décrite ci-après pour ajouter deséléments externes à Paradox dans la Fenêtre Projet. Si l�extension defichier d�un élément est associée à un programme, il vous suffit de cliquerdeux fois sur l�élément pour l�ouvrir. Reportez-vous à la documentationWindows pour obtenir des informations sur l�association d�une extensionde fichier à un programme.

� Application Framework ne reconnaît pas les références.

RépertoiresPour vous permettre de mieux organiser vos projets de bases de données,Paradox utilise deux types de répertoires :

Répertoire de travail

Le répertoire de travail est le répertoire dans lequel vous stockez tous leséléments se rapportant au projet courant : tables, fiches, états, requêtes, etc.Le répertoire de travail Paradox est le répertoire que Paradox utilise pardéfaut pour ouvrir et enregistrer les fichiers. Ce répertoire de travaildétermine les fichiers qui s�affichent dans les boîtes de dialogue d�ouvertureet d�enregistrement. Lorsque vous installez Paradox localement (et non surle réseau), le répertoire par défaut est le répertoire WORKING auquel estassocié l�alias :WORK: (un alias n�étant qu�une abréviation du chemin d�accèscomplet du répertoire). Pour de plus amples informations, consultez larubrique Alias à la page 58. Il s�agit de votre répertoire de travail par défaut.

L�utilisation de répertoires de travail s�avère pratique pour la gestion defichiers. Lorsque vous souhaiterez utiliser les fichiers enregistrés dans unrépertoire spécifique, vous pouvez convertir ce répertoire en répertoire detravail. Par exemple, si vous utilisez des tables, des fiches, des états et desrequêtes enregistrés dans le répertoire C:\DATAFILES\BUDGET, vouspouvez définir ce répertoire comme votre répertoire de travail.

Répertoire privé

Le répertoire privé est le répertoire dans lequel vous pouvez stocker vosfichiers temporaires afin d�éviter qu�ils soient écrasés par d�autresutilisateurs. L�utilisation d�un répertoire privé pour stocker vos objetstemporaires s�avère particulièrement utile dans un environnementmulti-utilisateur. Vous avez également besoin d�un répertoire non partagépour stocker vos tables temporaires, telles que les tables Réponse etDoublons. En effet, si ces tables ne sont pas stockées dans un répertoireprivé, d�autres utilisateurs pourraient les modifier. Un répertoire privé doitêtre créé pour chaque utilisateur de Paradox.

56 Paradox 9 : Chapitre 2

Votre répertoire privé par défaut se nomme PRIVATE. Il est créé à la racinedu répertoire principal de Paradox sur votre disque dur, ou sur votrerépertoire personnel de réseau si vous ne disposez pas de disque dur.

Sélection d�un autre répertoire de travailLe répertoire de travail est le répertoire de données utilisé par défaut pourl�ouverture et l�enregistrement des fichiers.

Pour changer de répertoire de travail :

1 Cliquez sur Fichier, puis sélectionnez Répertoire de travail.

2 Dans la zone Répertoire de travail, entrez le chemin d�accès complet durépertoire que vous désirez utiliser comme répertoire de travail. Vouspouvez également sélectionner un alias pour ce répertoire dans la zone deliste déroulante Alias.

� Paradox attribue l�alias temporaire WORK à votre répertoire de travailquel que soit son alias d�origine.

� Lorsque vous créez un alias de projet, Paradox crée un fichier appeléPDOXWORK.CFG et l�enregistre dans votre répertoire de travail. Cefichier contient tous les alias de projet (les alias publics sont enregistrésdans le fichier IDAPI32.CFG). Pour de plus amples informations,consultez la rubrique Alias à la page 58.

� Vous pouvez également changer de répertoire de travail à partir de laFenêtre Projet. Pour cela, sélectionnez un répertoire dans la listedéroulante située dans le coin supérieur gauche de la Fenêtre Projet, puiscliquez dans la barre d�outils sur le bouton permettant de définir lerépertoire courant comme répertoire de travail.

Définition d�un répertoire privéSi vous ne spécifiez pas de répertoire privé, Paradox utilise le répertoirePRIVATE qui est installé dans le répertoire du système lorsque vousinstallez Paradox localement (et non sur le réseau). Si vous ne disposez pasde disque dur local, nous vous recommandons d�utiliser votre répertoirepersonnel sur le serveur comme répertoire privé.

Mise en route 57

Pour définir votre répertoire privé :

1 Cliquez sur Outils, Paramètres, Préférences.

2 Cliquez sur l�onglet Base de données.

3 Entrez le chemin complet et le nom d�un répertoire dans la zone de texteRépertoire privé.

Paradox attribue l�alias :PRIV: à votre répertoire privé.

� Lorsque vous changez de répertoire privé, Paradox supprime les verrousque vous avez placés sur les tables et supprime également vos tablestemporaires. Avant de changer de répertoire privé, vérifiez que vousn�avez plus besoin de vos tables temporaires.

AliasUn alias est un nom que vous pouvez attribuer à un répertoire et utilisercomme raccourci. Par défaut, l�alias de votre répertoire de travail est:WORK: et celui de votre répertoire privé :PRIV:.

Il existe deux types d�alias :

Alias publics

Vous pouvez créer des alias qui sont disponibles à partir de tous lesrépertoires. Il s�agit d�alias publics. Les alias publics sont enregistrés dans lefichier de configuration BDE. Ils sont disponibles à partir de tout répertoirede travail et reconnus par toute application utilisant le moteur BDE (BorlandDatabase Engine - moteur de bases de données de Borland).

Alias de projet

Les alias de projet sont enregistrés dans le fichier PDOXWORK.CFG durépertoire de travail. Ces alias sont uniquement disponibles lorsque vousutilisez Paradox. Ils se trouvent dans le répertoire de travail dans lequel vousles avez créés.

Lorsque vous changez de répertoire de travail, Paradox vide tous les alias deprojet associés à l�ancien répertoire de travail et charge les alias de projetspécifiques au nouveau répertoire de travail.

Avantages des alias

� Vous n�avez pas à entrer de chemins longs.

58 Paradox 9 : Chapitre 2

� Les références à des fichiers qui peuvent exister dans les fiches ou lesétats, ainsi que les objets Paradox de même type, peuvent utiliser un nomd�alias au lieu d�un chemin complet. Vos applications deviennenttransférables. Vous pouvez déplacer une application entière sans modifiertoutes les références à cette application (il vous suffit de redéfinir l�alias).Utilisé de cette manière, un alias devient une variable correspondant à unchemin de répertoire.

� À l�aide de l�alias, vous pouvez vous connecter à votre serveur de base dedonnées distant ou vous en déconnecter.

� Vous pouvez redéfinir un alias à tout instant. Les fiches, les états ouautres objets de Paradox faisant référence à cet alias ferontautomatiquement référence à la nouvelle définition de l�alias. Vous pouvezainsi concevoir une fiche complexe à tables multiples à partir des fichiersenregistrés sur le disque dur de votre ordinateur en attribuant à ces tablesun alias se rapportant au répertoire de votre disque dur. Lorsque vousêtes prêt à partager la fiche sur un réseau, déplacez les tables surlesquelles la fiche est basée vers le répertoire de réseau et redéfinissezl�alias pour qu�il mène à ce répertoire. Dès lors, la fiche rechercheral�emplacement des tables sur le réseau.

� Lorsque vous modifiez l�un des paramètres de ces répertoires ou alias,Paradox enregistre automatiquement les changements.

� Si un alias de projet et un alias public sont identiques, Paradox ne chargepas l�alias de projet.

Création, modification et suppression d�aliasLa boîte de dialogue Gestionnaire d�alias vous permet de créer de nouveauxalias. Vous ne pouvez pas utiliser de caractères spéciaux dans les alias(caractères accentués, par exemple). De plus, Paradox convertit lesminuscules en majuscules.

Pour créer un nouvel alias :

1 Cliquez sur Outils, puis sélectionnez Gestionnaire d�alias.

2 Cliquez sur Nouveau.

3 Dans la zone Alias de la base, entrez un nom pour l�alias.

4 Sélectionnez le pilote désiré dans la liste Type de pilote.

Mise en route 59

Tous les pilotes auxquels vous êtes connecté s�affichent dans cette liste.Sélectionnez Standard pour créer une base de données constituée detables Paradox (et dBASE).

5 Dans la zone Chemin d�accès, entrez le chemin complet du répertoire enincluant la lettre du lecteur.

6 Sélectionnez l�option Alias public si vous voulez que l�alias soit toujoursdisponible quel que soit le répertoire dans lequel vous travaillez.

7 Cliquez sur le bouton Provisoire si vous souhaitez conserver l�alias sansrefermer la boîte de dialogue.

L�intitulé du bouton Provisoire devient Création. Vous pouvez alors créerun autre alias. Pour que l�alias que vous venez de créer soit temporaire(c�est-à-dire qu�il existe uniquement pour cette session de Paradox),cliquez sur OK.

8 Cliquez sur OK et spécifiez un nom pour l�alias.

Paradox vous invite à remplacer les paramètres de configuration existants.Lorsque vous procédez au remplacement, Paradox ajoute le nouvel aliassans modifier de paramètres de configuration existants. Par défaut,Paradox enregistre les alias publics dans le fichier IDAPI.CFG et les aliasde projet dans le fichier PDOXWORK.CFG.

Pour modifier un alias :

1 Cliquez sur Outils, puis sélectionnez Gestionnaire d�alias.

2 Dans la boîte de dialogue Gestionnaire d�alias, sélectionnez l�alias àmodifier le chemin d�accès dans la liste Alias de la base.

3 Saisissez le nouveau chemin dans la zone de texte Chemin d�accès.

4 Cliquez sur Enregistrer sous.

Paradox ouvre la boîte de dialogue Savegarde du fichier de configuration etvous invite à spécifier d�autres paramètres de configuration. Lorsque vousprocédez au remplacement, Paradox ajoute le nouvel alias sans modifierde paramètres de configuration existants. Par défaut, Paradox enregistreles alias publics dans le fichier IDAPI.CFG et les alias de projet dans lefichier PDOXWORK.CFG.

Pour supprimer un alias

1 Cliquez sur Outils, puis sélectionnez Gestionnaire d�alias.

2 Dans la boîte de dialogue Gestionnaire d�alias, sélectionnez l�alias quevous souhaitez supprimer dans la liste Alias de la base.

60 Paradox 9 : Chapitre 2

3 Cliquez sur Retirer.

4 Lorsque vous cliquez sur OK, Paradox vous invite à enregistrer lamodification dans le fichier .CFG approprié.

� Vous pouvez créer des alias pour des répertoires locaux ou de réseau oupour des bases de données distantes en utilisant la boîte de dialogueGestionnaire d�alias. Pour y accéder cliquez sur Outils, Gestionnaired�alias.

� À tout instant, vous pouvez retirer l�alias du fichier .CFG (en utilisant laboîte de dialogue Gestionnaire d�alias).

� Pour créer un alias similaire à un alias déjà existant, sélectionnez l�aliasdésiré dans la liste Alias de la base. Cliquez sur Nouveau, entrez voschangements et cliquez sur Provisoire pour enregistrer l�alias.

Impression, enregistrement, fermeture et sortieVous pouvez imprimer les tables, fiches, états ou scripts que vous créez dansles fichiers Paradox.

Vous pouvez enregistrer les tables, fiches, états, requêtes et autres objetstout en continuant à travailler dans Paradox. En fonction du type du fichier,Paradox enregistre les fichiers différemment. Par exemple, vous devezenregistrer les fichiers de conception de fiche et d�état manuellement, enrevanche Paradox enregistre automatiquement les données au fur et àmesure que vous les saisissez. Paradox vous invite à enregistrer lesmodifications que vous avez apportées à un fichier lorsque vous fermez lefichier ou quittez l�application.

Pour imprimer une table, une fiche, un état ou un script

� Cliquez sur Fichier, Imprimer.

Pour enregistrer votre travail

� Cliquez sur Fichier, Enregistrer.

Pour enregistrer la conception d�une fiche ou d�un état

1 Dans la fenêtre de conception de votre fiche ou état, cliquez sur Fichier,Enregistrer.

Mise en route 61

2 Dans la zone Nom de fichier, entrez un nom pour la fiche ou l�état.

Pour de plus amples informations sur l�enregistrement d�objets ou depropriétés spécifiques, reportez-vous aux rubriques d�aide consacrées àces éléments.

Pour fermer une fenêtre

� Sélectionnez Fichier puis Fermer.

Pour fermer toutes les fenêtres

� Cliquez sur Fenêtre, Tout fermer.

Pour quitter l�application Paradox

� Exécutez ensuite l�une des actions suivantes :

� Cliquez sur Fichier, puis sélectionnez Quitter.

� Appuyez sur les touches ALT + F4.

62 Paradox 9 : Chapitre 2

TABLES 3Les tables sont les objets fondamentaux utilisés dans Paradox. Ellescontiennent toutes les informations que vous serez appelé à gérer dans votrebase de données. Après avoir créé des tables, vous pouvez leur ajouter desfiches, des états et des requêtes servant à gérer et à manipuler vos données.

De nombreuses informations sont stockées dans les tables lors de leurcréation : noms, adresses, numéros de téléphone, etc. La seule conditionrequise est que ces informations soient regroupées dans une structure debase élémentaire. Cette structure se compose de plusieurs colonnes,représentant les champs de la table, et de lignes représentant desenregistrements individuels. Représentez-vous un champ comme un titre decolonne, par exemple Nom, Adresse, Département ou N° d�employé. Une foistous les champs appropriés créés dans la nouvelle table et les types dechamps définis, vous pouvez commencer à créer les enregistrements eninsérant des données sur les lignes de la table.

Certains éléments tels les noms, types et tailles des champs, sont communsà tous les types de tables créés. Cependant, pour assurer l�intégrité desdonnées et définir le partage et la vérification des données entre les tables,vous devez attribuer des propriétés spécifiques à certains champs de tables.L�intégrité des données est un élément essentiel de toute base de données.Pour assurer un bon fonctionnement de votre base de données, vous pouvezutiliser diverses fonctionnalités de Paradox, notamment les contrôles devalidité, les tables de référence, la protection par mot de passe et l�intégritéréférentielle.

Tables 63

Paradox contient également un outil unique, permettant de créer,restructurer et lier les tables. Il s�agit du Concepteur de base de donnéesvisuel. C�est un outil idéal pour créer une représentation visuelle de votrebase de données.

Une fois que vous avez créé la structure de la table, ou repris la structured�une table existante, vous pouvez travailler sur les tables, à l�aide desdiverses fonctionnalités de Paradox. Vous pouvez :

� parcourir les tables et modifier l�affichage des données ;

� utiliser des filtres pour afficher uniquement les enregistrementsrépondant à des conditions spécifiques ou basés sur un index secondaire,ou encore pour trier les tables selon un ordre donné ;

� restructurer les tables pour modifier la structure d�une table existante ;Vous pouvez ainsi modifier les noms, types et ordre des champs, la clé,l�index, les contrôles de validité, l�intégrité référentielle, le mot de passe,le pilote de langue ou les références d�une table ;

� modifier l�affichage par défaut de la table ;

� utiliser un format de données différent des formats prédéfinis. Vouspouvez définir des formats personnalisés pour les champs de typenumérique, monétaire, date, heure, date/heure et logique.

� manipuler les tables en ajoutant, déplaçant, supprimant et vidant leursenregistrements et en copiant, renommant, vidant et supprimant lestables ;

� définir des verrous afin d�empêcher deux utilisateurs de modifier le mêmeenregistrement en même temps ou des niveaux de verrouillage différentsselon les utilisateurs.

Création de tablesLa première étape dans la création d�une table est la planification. Vous devezdéterminer le contenu de la table ainsi que la façon dont vous allez leprésenter. Lorsque vous planifiez une table, respectez les principes suivants :

� Insérez un minimum d�informations dans chaque champ. La gestion desdonnées en sera plus souple et la formulation des requêtes plus concise.Par exemple, si vous fragmentez une adresse en plusieurs champs pour larue, la ville et le pays, vous pouvez formuler une requête portant sur cesvaleurs de champs spécifiques. C�est toute la différence entre laconception d�une table de base de données et un tableur. Si vous voulezconsulter vos données dans un format similaire à un tableur, vous pouvezcréer une référence croisée des données de la table.

� Soyez complet. Utilisez autant de champs que d�informations requises,sans pour autant alourdir la table avec des informations superflues.

64 Paradox 9 : Chapitre 3

� Utilisez de petites tables. Si vous avez beaucoup d�informations à gérer, ilest conseillé de les insérer dans plusieurs petites tables associées plutôtque dans une table globale. Pour plus d�informations, reportez-vous à larubrique Comprendre la normalisation des données à la page 36.

� Créez des tables avec des éléments familiers. Il est souvent préférable decréer des tables qui correspondent à des objets que vous utilisez déjà, parexemple des fiches ou des fichiers.

� Évitez les redondances. À l�exception des champs communs (clésprimaires et étrangères) nécessaires à la liaison des tables, ne dupliquezpas les informations dans des tables différentes.

Création d�une table ParadoxLa première étape de la création d�une table Paradox consiste à planifier sastructure. Vous devez déterminer les champs nécessaires dans la table, puissélectionner leur type et leur affecter un nom. Pour cela, vous pouvez créervous-même les champs ou faire appel à l�Expert de table. Quelle que soit laméthode utilisée, vous devez être familiarisé avec les concepts de basesuivants : noms des champs, types et taille des champs et clés.

Noms de champs

Un champ est une colonne d�informations dans une table. Une collection dechamps associés constitue un enregistrement. Lorsque vous êtes prêt àcréer une table, vous devez commencer par définir ses champs. Pour chaquechamp, vous devez sélectionner un nom mais également spécifier son type etsa taille. Vous devez également décider si le champ créé sera un champ cléde la table.

Pour plus d�informations à propos des règles de sélection de noms pour leschamps, reportez-vous à la rubrique Types et noms des champs Paradox dansla section Référence de l�aide en ligne.

Types et tailles des champs

Une fois le champ nommé, vous devriez savoir quel type d�informations il vacontenir. Par exemple, un champ destiné à recevoir des numéros detéléphone comportera des chiffres, des parenthèses et des tirets et le type dechamp le plus approprié sera alphanumérique. Vous devez spécifier sa tailleuniquement si le type de champ sélectionné requiert une limitation de taille.Ainsi, un champ de type mémo peut être très long et sa longueur peut varierconsidérablement. En limitant la taille de ces champs numériques, vousgarantissez une meilleure intégrité des données.

Tables 65

Lorsque vous créez un champ, vous devez spécifier son nom, maiségalement son type et sa taille. Vous devez également décider quels champsconstitueront la clé primaire ou composite de la cable.

Pour obtenir une description détaillée de chaque type de champ,reportez-vous à la rubrique Types de champs Paradox dans la sectionRéférence de l�aide en ligne.

Clés

Paradox utilise les champs clés pour lier les tables et trier lesenregistrements. Il existe deux types de clés, à savoir les clés primaires etles clés composites.

� Clés primaires : lorsque vous spécifiez un champ comme clé primaire, ildoit s�agir du premier champ de la table et celui-ci doit être unique,c�est-à-dire que les données qu�il contient ne doivent pas être dupliquées.Par exemple, il est préférable de ne pas utiliser le champ Nom commechamp clé d�une table d�employés car plusieurs employés peuvent porterle même nom. Le champ N° Employé (nombre spécifique attribué àchaque employé) est un champ clé plus approprié. En utilisant un champclé unique, les tables peuvent être liées sans risque d�erreur. Si voussélectionnez le champ N° Employé comme clé primaire d�une table,celle-ci ne peut être liée qu�à une autre table comportant ce même champNo Employé. Le champ N° Employé de la première table est la cléprimaire tandis que celui de la seconde table est la clé étrangère. Si vouscréez une clé sur le champ Nom de la table CONTACTS.DB, Paradoxorganise la table en fonction des valeurs du champ Nom, comme illustréci-dessous.

� Clés composites : lorsque vous créez une clé composite, Paradox créeun index composite primaire qui trie les enregistrements en fonction dupremier champ de la clé (en suivant la structure de la table), puis duchamp suivant, et ainsi de suite. La figure ci-dessous illustre la tableCONTACTS.DB avec une clé composite formée des champs Nom etPrénom. Les enregistrements 31 et 32 illustrent comment la clécomposite trie les enregistrements de prénoms par ordre alphabétique.

66 Paradox 9 : Chapitre 3

Création et enregistrement d�une tableUne fois que vous avez décidé du type de données à entrer dans la table,vous devez créer la structure de la table. Représentez-vous la structured�une table comme son schéma directeur. Vous avez également la possibilitéd�emprunter la structure d�une table existante et de la modifier à votreconvenance.

Outre la structure d�une table, vous pouvez également reprendre ses indexprimaires ou secondaires, ses contrôles de validité, son intégrité référentielleet ses tables de référence. Utilisez les paramètres Options de la boîte dedialogue Sélection de la table à reprendre pour sélectionner les définitions àreprendre avec la table.

Une fois la structure de la table créée, vous devez l�enregistrer.

Pour créer une nouvelle table Paradox

1 Cliquez sur Fichier, Nouveau, Table.

2 Cliquez sur Vierge.

3 Sélectionnez un type de table dans la zone de liste Type de table puiscliquez sur OK.

4 Entrez le nom du champ dans la colonne Nom de champ.

5 Cliquez sur la colonne Type et sélectionnez le type de champ appropriédans la liste affichée.

6 Dans la colonne Taille, acceptez la taille par défaut ou entrez la taille dechamp appropriée.

7 Pour définir le champ comme un champ clé, cliquez sur la colonne clé àgauche du nom de champ.

Une icône de clé s�affiche, indiquant qu�il s�agit d�un champ clé.

8 Cliquez sur la ligne suivante pour créer un autre champ. Répétez lesétapes 5 à 8 jusqu�à ce que vous ayez créé tous les champs requis.

Tables 67

Pour reprendre une structure de table

1 Suivez les étapes 1 à 3 ci-dessus.

2 Dans la page Description des champs, cliquez sur Reprendre.

3 Dans la zone Rechercher dans, recherchez la table dont vous voulezemprunter la structure, ou entrez son nom dans la zone Nom.

4 Dans la zone Options, activez la case à cocher en regard des propriétés detable que vous souhaitez reprendre.

5 Cliquez sur Ouvrir.

Paradox copie la structure de la table dans la boîte de dialogue Structurede la table.

Pour enregistrer la table

1 Cliquez sur Créer.

2 Entrez le nom de la table dans la zone Nom.

3 Sélectionnez Paradox (*.DB) dans la zone Type du fichier.

4 Cliquez sur Enregistrer.

� Lorsque vous avez créé une table, il est possible de la restructurer.Cliquez sur Restructurer pour accéder à la boîte de dialogueRestructuration de la table.

� Vous pouvez désactiver et activer les liens hypertexte existant dans unchamp de table en cliquant sur Outils, Paramètres, Préférences. Dans lapage Général de la boîte de dialogue Préférences, activez ou désactivez lacase à cocher Désactiver les liens hypertexte selon vos préférences. Ceciest utile lorsque vous êtes en mode Édition et que vous ne voulez paslancer l�application Internet.

� Pour plus d�informations sur les autres colonnes, telles que Min, Max, Pardéfaut, Modèle et Obligatoire, reportez-vous à la rubrique Contrôles devalidité à la page 76.

Définition des champs clésLorsque vous définissez un champ clé, Paradox en fait l�index primaire et trieles enregistrements en fonction de celui-ci. Si vous choisissez de définir uneclé composite, vous devez inclure suffisamment de champs pour garantir lecaractère unique de chaque enregistrement de la table. Si vous craignezqu�une clé composite ne suffise pas à gérer tous les doublons, mieux vaut

68 Paradox 9 : Chapitre 3

définir un champ d�identification capable d�identifier un seul et uniqueenregistrement de la table.

Respectez les règles suivantes lors de la définition des champs clés :

� Une table ne peut contenir qu�une seule clé. Cette clé peut être composéed�un ou de plusieurs champs. Si une clé comporte plusieurs champs, ils�agit d�une clé composite.

� Il n�est pas possible d�affecter une clé à des champs de type mémo, mémoformaté, graphique, OLE, binaire, logique ou octets.

� Si un index est défini sous forme de champ unique, ce champ doit être lepremier champ de la table.

� Si vous désignez plusieurs champs comme champs clés, vous pouvezcréer une clé composite. Ces champs, considérés comme un groupe,doivent être uniques pour chaque enregistrement de la table. La clécomposite doit commencer sur le premier champ de la table et doit incluredes champs consécutifs.

� Chaque valeur de champ doit être unique. De cette façon, la table necontient pas d�enregistrements dupliqués.

� Vous devez inclure un seul enregistrement vierge dans le champ clé carParadox considère les champs vierges suivants comme étant des doublonset il n�accepte pas les enregistrements les contenant.

� La clé établit l�ordre de tri appliqué par défaut à la table. Le tri desenregistrements de la table s�effectue en fonction des valeurs des champsque vous définissez en tant que clés de la table.

Pour créer un champ de clé primaire

1 Ouvrez la table dont vous voulez définir le champ clé.

2 Cliquez sur Format, Restructurer la table.

3 Dans la page Description des champs de la boîte de dialogueRestructuration de la table, cliquez sur la colonne clé, à gauche du premierchamp, pour définir la clé.

Pour créer une clé composite

1 Ouvrez la table dont vous voulez définir la clé composite.

2 Cliquez sur Format, Restructurer la table.

3 Dans la page Description des champs de la boîte de dialogueRestructuration de la table, cliquez sur la colonne clé à gauche des champsque vous voulez définir comme clés composites.

Tables 69

Gestion des violations de cléSi vous ajoutez une clé primaire à une table qui n�était pas indexée aupréalable ou qui avait des clés différentes, vous risquez de provoquer desviolations de clé. Vous pouvez également réorganiser les champs de tellefaçon que les champs clés ne soient plus les premiers champs consécutifs dela table. Cela signifie que les données déjà saisies dans la table violent lesrègles établies par la clé. Paradox supprime les enregistrementsincompatibles de la table et les place dans une table temporaire appeléeDOUBLONS.DB située dans votre répertoire PRIVE.

La suppression d�un ou de plusieurs champs d�une clé composite peutentraîner la duplication de valeurs dans le(s) champ(s) clé(s) restant(s). Dansce cas, Paradox place les doublons dans une table temporaire appeléeDOUBLONS.DB. Si une table DOUBLONS.DB existe déjà, Paradox numérotela nouvelle table temporaire, par exemple DOUBLONS1.DB ouDOUBLONS2.DB. Paradox peut créer jusqu�à 100 tables provisoires du mêmenom (la première n�est pas numérotée et la dernière porte le numéro 99).

Pour rechercher la table DOUBLONS.DB

1 Cliquez sur Fichier, Ouvrir, Table.

2 Utilisez le bouton Dossier parent pour rechercher le répertoire PRIVE.

3 Cliquez deux fois sur la table DOUBLONS.DB pour l�ouvrir.

� Vous pouvez modifier les enregistrements figurant dans la tableDOUBLONS.DB de façon à ce qu�ils soient conformes aux règles définiespar la clé, puis les rajouter à la table d�origine. Pour ce faire, sélectionnezOutils, Utilitaires, Ajouter.

� Si vous supprimez une clé située au-dessus des autres clés, Paradoxaffiche un message d�erreur au moment de l�enregistrement. Pourrectifier cette erreur, vérifiez que tous les champs clés sont les premierschamps dans la table.

IndexUn index est un fichier qui détermine l�ordre d�accès de Paradox auxenregistrements de la table. Même si le fichier n�est pas visible, Paradoxl�utilise pour lier les tables et accéder aux enregistrements. Les indexprimaires sont définis lors de la création de la structure de la table. Bienqu�ils soient facultatifs, ils permettent de gagner du temps. Les indexsecondaires accélèrent également l�exécution des requêtes et l�affichage desdonnées dans un ordre de tri différent.

70 Paradox 9 : Chapitre 3

Index primaire

Lorsque vous ajoutez une clé à une table, vous créez un index primaire.Paradox organise les enregistrements d�une table indexée selon les valeursdes champs clés. Par défaut, tous les index organisent et accèdent auxdonnées dans l�ordre croissant (De A à Z ou de 0 à 9). La clé permetégalement d�empêcher la duplication des données, en interdisant la saisied�informations identiques dans plusieurs champs. Un index primaire doitconstituer le premier champ d�une table.

Index secondaire

Un index secondaire est un champ ou un groupe de champs défini comme :

� un ou plusieurs ordres de tri pour la table,

� un champ sur lequel vous pouvez lier la table,

� une manière d�accélérer certaines opérations de recherche et delocalisation.

Une table peut avoir plusieurs index secondaires. En fait, vous pouvezidentifier chaque champ de la table comme un index secondaire ; vous pouvezainsi trier la table en fonction de n�importe quel champ. Vous pouvezégalement créer des index secondaires composites en combinant deux ouplusieurs champs. Lorsque vous utilisez un index secondaire, vous modifiezuniquement l�ordre d�affichage des enregistrements. L�emplacement physiquedes enregistrements dans la table reste inchangé (l�index primaire déterminel�ordre de tri physique de la table).

Lors de la création d�un index secondaire, vous pouvez spécifier troisoptions : Unique, Maintenu et Différence MAJ/min.

Il n�est pas possible de créer d�index secondaire sur un champ de type mémo,mémo formaté, binaire, OLE, graphique, logique ou octets.

Index secondaire composite

Un index secondaire composite est composé d�un groupe de champs au lieud�un seul champ. Paradox crée un index composite puis trie lesenregistrements de la table en fonction du premier champ de la clé, puis deschamps suivants, en suivant l�ordre dans lequel ils apparaissent dans la table.

Tables 71

Autres ordres de tri

Vous devez utiliser un index secondaire pour trier de nouveau une tableindexée. Seul un index secondaire explicitement défini peut écraser l�ordrede tri primaire établi par la définition de clé d�une table. Par exemple, si vousvoulez afficher la table CLIENT.DB en fonction du champ Prénom, sansaffecter la clé de la table, vous pouvez définir un index secondaire sur lechamp Prénom et l�utiliser pour modifier temporairement l�ordre d�affichagedes enregistrements.

Liaison des tables

Les index secondaires permettent également de lier les tables Paradox. Parexemple, vous pouvez lier les exemples de tables CLIENT.DB etCOMMANDES.DB, puis créer une fiche comportant les commandes passéespar chaque client. La table COMMANDES contient un index secondaireidentifié sur son champ État/Prov. De cette manière Paradox peut rechercherrapidement tous les enregistrements ayant une valeur N° Client donnée.Lorsque vous liez les tables, Paradox identifie chaque valeur N° Client dansla table CLIENT.DB, puis recherche et affiche toutes les valeurs N° Clientcorrespondantes dans la table COMMANDES.DB.

Tables SQL

Les tables SQL (Structured Query Language) ont des index uniques ou nonuniques, mais n�utilisent pas les clés primaires des tables Paradox. Vouspouvez créer plusieurs index pour une table SQL ; pour chaque index, vousdevez spécifier si celui-ci est unique. Les index SQL sont toujoursmaintenus, contrairement aux index Paradox et dBASE. Vous pouvez utiliserParadox pour créer et modifier des index sur des tables SQL mais vous nepouvez pas spécifier l�index à utiliser dans Paradox. Lorsque vous utilisezune table SQL dans Paradox, celle-ci doit avoir un index unique. Dans le cascontraire, vous risquez de ne pas pouvoir afficher les modifications que vousapportez aux données de la table.

� dBASE utilise un index pour organiser les enregistrements d�une table enfonction des valeurs d�un ou de plusieurs champs.

� Pour plus d�informations sur les clés, reportez-vous à la section Créationd�une table Paradox à la page 65.

� Pour plus d�informations sur la modification de l�ordre de tri d�une table,reportez-vous à la section Tri des tables à la page 118.

72 Paradox 9 : Chapitre 3

Création d�index secondairesVous pouvez définir un index secondaire sur n�importe quel champ ou groupede champs d�une table, à l�exception des champs BLOB. Les indexsecondaires composites peuvent avoir jusqu�à 16 champs.

Pour définir un champ ou un groupe de champs comme indexsecondaire

1 Ouvrez une table.

2 Cliquez sur Format, Restructurer la table.

3 Cliquez sur l�onglet Index secondaire.

Paradox affiche tous les index secondaires existants et les champs quevous pouvez utiliser comme index secondaires. Les champs BLOB sontgrisés.

4 Cliquez sur Ajouter puis entrez le nom du nouvel index secondaire quevous voulez créer.

5 Dans la zone Champs, sélectionnez le champ sur lequel l�index secondairedoit être défini.

6 Cliquez sur la flèche droite pour placer le champ dans la zone Champssélectionnés.

7 Sélectionner un ordre de tri croissant ou décroissant en cliquant surl�ordre de tri par défaut.

8 Activez l�une des cases à cocher suivantes :

� Différence MAJ/min : utilise les majuscules, ou casse, comme critèrede tri (les majuscules ont priorité sur les minuscules).

� Maintenu : Paradox met l�index à jour automatiquement chaque foisque vous modifiez la table. Il faut qu�une table ait une clé pour pouvoircréer un index secondaire maintenu.

� Unique (vous devez cocher la case Maintenu pour être en mesured�activer cette option) : détermine si les enregistrements peuventavoir des valeurs dupliquées dans le(s) champ(s) de l�index secondaire.Si au moins deux enregistrements ont la même valeur dans le champde l�index secondaire, la tentative de définition de l�index secondaireéchoue. Vous devez éliminer les doublons de valeurs avant de pouvoirdéfinir l�index secondaire.

9 Pour définir un index secondaire composite, répétez l�étape 4 pour ajouterdes champs supplémentaires à l�index secondaire.

Tables 73

� Un index natif Paradox est non composite, non unique, croissant etrespecte la casse.

� Lorsque vous créez un index secondaire basé sur un champ unique,Paradox utilise le nom du champ pour identifier l�index secondaire. Parconséquent, vous ne pouvez attribuer le même nom à un index secondairecomposite qu�un autre champ de la table. Si vous modifiez les options d�unindex secondaire (dans ce cas, il ne s�agit plus d�un index natif Paradox),vous pouvez définir un nom personnalisé.

� Un index non maintenu n�est pas automatiquement mis à jour lors de lamise à jour de la table, mais vous pouvez néanmoins l�ouvrir pour l�utilisersur une table si l�index est synchronisé avec la table (cliquez sur Format,Filtre après avoir ouvert la table appropriée pour définir l�index à utiliserlorsque vous travaillez sur la table). Lorsque vous affichez une table dotéed�un index non maintenu, celle-ci est temporairement verrouillée et ellene peut pas être mise à jour. Elle est également verrouillée si vousutilisez les méthodes setIndex() ou switchIndex() ObjectPAL.

Modification et suppression d�un index secondaireSi vous effectuez un tri sur un index secondaire et voulez changer l�ordre detri à un champ différent, vous devez modifier l�index secondaire. Parexemple, il peut être nécessaire de changer l�index secondaire pour établir denouveaux liens de tables et accélérer les opérations de recherche et deremplacement. Par ailleurs, vous pouvez supprimer un index secondairelorsqu�il n�est plus requis.

Pour modifier un index secondaire

1 Ouvrez la table comportant l�index secondaire que vous voulez modifier.

2 Cliquez sur Format, Restructurer la table.

3 Cliquez sur l�onglet Index secondaire.

4 Sélectionnez l�index à modifier dans la zone de liste Noms d�index.

5 Modifiez l�index secondaire en procédant de l�une des manièressuivantes :

� Modifiez l�ordre de tri en cliquant sur la colonne de tri et ensélectionnant l�option voulue dans la zone de liste correspondante.

� Ajoutez ou supprimez des champs (en créant ou en supprimant unindex secondaire composite) à l�aide des flèches droite et gauche.

74 Paradox 9 : Chapitre 3

� Modifiez les Options de l�index en activant ou en désactivant les casesappropriées.

6 Cliquez sur Enregistrer.

Pour supprimer un index secondaire

1 Suivez les étapes 1 à 4 de la procédure ci-dessus.

2 Cliquez sur le bouton Retirer.

3 Cliquez sur Enregistrer.

Maintien de l�intégrité des donnéesL�intégrité des données est un élément essentiel de toute base de données.Pour assurer cette intégrité, Paradox offre les fonctionnalités suivantes :

Contrôles de validité

Les contrôles de validité sont des règles imposées à un champ pour s�assurerque les données entrées dans le champ répondent à certains critères. Unmodèle de contrôle de validité est une chaîne de caractères qui définit lesvaleurs pouvant être entrées dans un champ lors de la modification ou lasaisie des données.

Tables de référence

Une table de référence garantit qu�une valeur entrée dans une tablecorrespond à une valeur figurant dans une autre table. Vous pouvezégalement spécifier si la personne qui saisit les données dans le champ estautorisée ou non à consulter la table de référence et à copier des valeurs àpartir de celle-ci, ou si elle doit identifier les valeurs de la table de référencesans pouvoir les afficher.

Mots de passe

Vous pouvez protéger la table que vous créez pour empêcher les utilisateursnon habilités d�y accéder. Pour cela, spécifiez un mot de passe principal, quicontrôle l�accès à une table entière, ou un mot de passe secondaire qui utiliseles droits des tables et des champs pour offrir différents niveaux d�accès.

Tables 75

Intégrité référentielle

L�intégrité référentielle permet de vérifier les données. Elle garantit que lesliens entre des données partagées entre plusieurs tables séparées nepeuvent pas être rompus. Si vous définissez une intégrité référentielle entrele champ commun N° Client des tables CLIENT.DB et COMMANDES.DB,seules les commandes ayant un numéro de client vérifiable (vérifiéautomatiquement par Paradox dans la table CLIENT.DB) peuvent êtreentrées dans la table COMMANDES.DB.

Contrôles de validitéLa manière dont vous définissez un contrôle de validité détermine le contenud�un champ. Par exemple, si la majorité de vos clients résident en Californie,vous pouvez définir un contrôle de validité sur le champ État/Prov. dans votretable Clients de façon à ce qu�à chaque fois que vous entrez un nouveauclient, Paradox attribue la valeur CA au champ, ce qui garantit que le champÉtat/Prov. est correct. Si un client n�habite pas en Californie, vous avez lapossibilité de modifier le champ.

Si vous créez un modèle de contrôle de validité pour une table contenant desdonnées, Paradox ne reformate pas les données existantes pour se conformerau modèle et ne valide pas non plus les données existantes pour vérifier leurcorrespondance. Toutefois, si vous ajoutez ou modifiez un contrôle de validité,vous pouvez choisir d�appliquer le nouveau contrôle aux données existantes àpartir de la boîte de dialogue Avertissement pour la restructuration. Si vousappliquez le nouveau contrôle de validité aux données existantes et quecertaines de celles-ci ne satisfont pas au contrôle, Paradox place les donnéesnon conformes dans la table DOUBLONS.DB. Si le contrôle de validité est unmodèle, Paradox ne le fait pas. Vous pouvez modifier les enregistrements de latable DOUBLONS.DB puis les ajouter de nouveau dans la table ensélectionnant successivement Outils, Utilitaires, Ajouter.

Paradox propose cinq types de contrôles de validité :

Contrôle de validité Signification

Minimum Les valeurs entrées dans ce champ doivent être égales ou supérieures à lavaleur minimale spécifiée ici.

Maximum Les valeurs entrées dans ce champ doivent être égales ou inférieures à lavaleur maximale spécifiée ici.

Défaut La valeur spécifiée ici sera entrée automatiquement dans ce champ àdéfaut d�autres valeurs.

Modèle La chaîne de caractères entrée ici sert de modèle pour les valeurspouvant être saisies dans ce champ.

76 Paradox 9 : Chapitre 3

Champ obligatoire Tous les enregistrements de la table doivent avoir une valeur dans cechamp.

Lors de l�enregistrement d�une table, Paradox enregistre les contrôles devalidité dans un fichier portant le nom de la table et l�extension .VAL.

Modèles de contrôles de validité

Un modèle de contrôle de validité formate la valeur entrée dans un champ.Par exemple, si vous spécifiez le modèle (###)###-#### (modèle denuméro de téléphone américain courant) et entrez la valeur 4085551234,Paradox formate la valeur comme suit : (408)555-1234. Vous pouvez utiliserces caractères dans une chaîne de contrôle de validité de modèle :

Caractère Signifie

# Caractère numérique

? Une lettre (minuscule ou majuscule)

& Une lettre (à convertir en majuscule)

~ Une lettre (à convertir en minuscule)

! Un caractère (à convertir en minuscule)

; (point-virgule) Interpréter le caractère suivant comme un caractèrelittéral et non comme un caractère spécial de chaîne modèle.

* Toutes les occurrences du caractère suivant

[abc] Une partie facultative de la chaîne pouvant être omise ; n�entrez rien ouuniquement �abc�

{a,b,c} Caractères facultatifs a, b ou c.

*n où n est un nombre qui signifie « répéter le symbole suivant exactement nfois », donc *3#-*4# indique à Paradox que vous souhaitez entrer 3 chiffres,un tiret, puis 4 chiffres, ce qui est le modèle d�un numéro de téléphonestandard d�Amérique du Nord. Le point-virgule peut également remplacercette syntaxe, par exemple, *;3 signifie un nombre quelconque de chiffrestrois.

Tables 77

� Vous pouvez également spécifier des modèles pour les objets champs dedocuments de conception. Toutefois, si vous créez un modèle de contrôlede validité pour un champ de la table, comme décrit dans cette rubrique,vous ne pouvez pas en spécifier un pour un objet champ associé à cechamp.

� Si vous ajoutez un nouveau champ pour lequel il existe, par défaut, uncontrôle de validité et que vous choisissiez d�appliquer ce contrôle devalidité aux données existantes, Paradox crée le nouveau champ et placela valeur par défaut dans chaque enregistrement de la table. Si vousdéfinissez un contrôle de validité par défaut sur un champ existant quicontient des données, Paradox ne remplace pas les données existantes parla nouvelle valeur par défaut.

Voici quelques exemples de modèles :

Modèle Description

&#&#&# Code postal canadien. Par exemple, K1S 2A2

*! Entrée au choix (toutes les lettres seront en majuscules)

{Oui,Non} Oui ou Non

Création d�un contrôle de validité de champ obligatoireLorsque vous définissez un contrôle de validité de champ obligatoire sur unchamp, ce champ doit contenir des données pour que Paradox soit en mesured�accepter l�enregistrement. Si vous tentez d�insérer un enregistrement dontun champ obligatoire ne comporte pas de valeur dans une table, Paradox voussignale que le contrôle de validité a échoué et il ne vous permet pas dequitter l�enregistrement tant que vous n�avez pas entré une valeur dans lechamp obligatoire.

Vous pouvez définir un contrôle de validité de champ obligatoire surn�importe quel type de champ et ce, dans les tables Paradox et SQL.

Pour créer un contrôle de validité de champ obligatoire

1 Ouvrez une table.

2 Cliquez sur Format, Restructurer la table.

3 Dans la page Description des champs, sélectionnez le champ auquel vousvoulez appliquer le contrôle de validité.

4 Cochez la case Obligatoire.

78 Paradox 9 : Chapitre 3

� Pour retirer un contrôle de validité de champ obligatoire, cliquez sur lechamp et désactivez la case Obligatoire.

Création de contrôles de validité à valeurs minimales et maximalesUn contrôle de validité à valeur minimale ou maximale permet de définir lavaleur minimale et maximale acceptée dans un champ. Par exemple, si tousles numéros d�identification de vos clients comportent au moins cinq chiffres,vous pouvez définir une valeur minimale de 10 000 dans ce champ pouréviter les erreurs lors de la saisie des données.

Les contrôles de validité à valeurs minimales et maximales peuvent êtreutilisées pour les types de champs alphanumérique, numérique, entier court,entier long, monétaire, date/heure, heure et date. Vous ne pouvez toutefoispas utiliser un contrôle de validité à valeur maximale sur un champ àincrémentation automatique.

Pour définir un contrôle de validité à valeur minimale oumaximale

1 Ouvrez une table.

2 Cliquez sur Format, Restructurer la table.

3 Dans la page Description des champs, cliquez sur le champ pour lequelvous voulez définir un contrôle de validité à valeur maximale ou minimale.

4 Procédez ensuite de l�une ou des deux manières suivantes :

� Cliquez sur la colonne Minimum et entrez une valeur minimale.

L�utilisateur doit entrer une valeur supérieure ou égale à la valeurspécifiée dans ce champ.

� Cliquez sur la colonne Maximum et entrez une valeur maximale.

L�utilisateur doit entrer une valeur inférieure ou égale à la valeur spécifiéedans ce champ.

Tables 79

� Lorsque vous définissez une valeur minimale ou maximale, vous devezutiliser le format numérique actuellement sélectionné dans le Panneau deconfiguration Windows. Toutefois, durant la saisie des données, vouspouvez utiliser n�importe quel format.

� Il n�est pas possible d�utiliser un contrôle de validité à valeur minimale etmaximale pour une date av. J.C. Pour ce type de date, définissez plutôt uncontrôle de validité modèle.

� Si le champ est grisé, aucun contrôle de validité ne peut être défini.

� Vous pouvez spécifier une valeur initiale pour un champ d�incrémentationautomatique ayant un contrôle de validité à valeur minimale en entrant lavaleur initiale du champ dans la zone Minimum lors de la création de latable.

Création et suppression d�un contrôle de validité à valeur par défautLorsque vous définissez un contrôle de validité à valeur par défaut,l�application entre automatiquement une valeur dans chaque enregistrementde la table dès que vous créez l�enregistrement. Par exemple, si la plupart devos clients se trouvent aux États-Unis, vous pouvez définir USA commevaleur par défaut du champ Pays de votre table d�informations Clients.Lorsque vous insérez un nouvel enregistrement, il affiche automatiquementla valeur USA dans le champ Pays.

Les contrôles de validité à valeur par défaut peuvent être utilisés pour leschamps de type alphanumérique, numérique, entier court, entier long,monétaire, logique et date (y compris date, heure et date/heure). Si la valeurpar défaut est une valeur numérique, vous devez utiliser le format numériqueactuellement sélectionné dans le Panneau de configuration Windows.

Pour définir un contrôle de validité utilisant une valeur pardéfaut

1 Ouvrez une table.

2 Cliquez sur Format, Restructurer la table.

3 Dans la page Description des champs, cliquez sur le champ pour lequelvous voulez définir une valeur par défaut.

4 Entrez une valeur par défaut dans la zone Valeur par défaut.

80 Paradox 9 : Chapitre 3

� Si la colonne est grisée, aucun contrôle de validité ne peut être défini.

� Vous pouvez utiliser l�opérateur CEJOUR pour définir la date du jourcomme valeur par défaut dans un champ de type date et l�opérateurMAINTENANT pour les champs de type heure et date/heure.

Création de modèles de chaînes de contrôles de validitéParadox fournit divers modèles de chaînes standard pouvant être utiliséspour des données telles que des numéros de téléphone, des codes postaux oudes mots requérant des majuscules.

Si vous utilisez un caractère imprimable (visible) dans un modèle de chaîneautre que les caractères figurant dans la table, Paradox traite ce caractèrecomme une constante. Lorsque vous entrez une valeur dans un champ ayantun contrôle de validité modèle et que vous devez spécifier une constante,Paradox entre automatiquement la constante. Par exemple, si vous créez lemodèle (408)###-#### puis entrez 5551234 dans le champ, Paradoxinsère la valeur (408)555-1234 dans la table.

Si aucun des modèles de contrôles de validité ne vous convient, vous pouvezen personnaliser un ou en créer un nouveau. Paradox permet d�enregistrerles modèles de contrôles de validité personnalisés afin de les réutiliserultérieurement.

Pour définir un modèle de contrôle de validité

1 Ouvrez une table.

2 Cliquez sur Format, Restructurer la table.

3 Dans la page Description des champs, cliquez sur le nom du champ pourlequel vous voulez définir un modèle de contrôle de validité.

4 Cliquez sur le champ Modèle puis sélectionnez un exemple dans la zonede modèles exemples.

Pour créer un modèle de contrôle de validité personnalisé

1 Suivez les étapes 1 à 3 ci-dessus.

2 Cliquez sur le champ Modèle puis sélectionnez Assistant modèle dans lazone de liste.

3 Dans la zone de liste Type, sélectionnez le type de champ par défaut ouAnytype, ce qui vous permet de créer un modèle à utiliser avec n�importequel type de champ.

Tables 81

4 Cliquez sur le bouton Ajouter.

5 Entrez le nom du nouveau modèle dans la zone Modèles.

6 Entrez la syntaxe du nouveau modèle dans la zone Code du modèle.

Le bouton affiché à droite de cette zone vous confirme si votre code estcorrect ou pas.

7 Entrez une valeur exemple pour le code dans la zone Valeur exemple.

8 Cliquez sur le bouton Tester la valeur pour vérifier votre valeur exemple.

Le bouton affiché à droite de la zone Valeur exemple vous confirme sivotre code est correct ou pas.

9 Entrez la description du nouveau modèle dans la zone Description.

Pour modifier un contrôle de validité personnalisé

1 Sélectionnez le modèle que vous voulez modifier dans la zone Modèles.

Si vous voulez modifier son nom, cliquez deux fois sur celui-ci.

2 Modifiez le code, la valeur exemple ou la description du modèle, commerequis.

3 Vous pouvez abandonner vos modifications et restaurer le code d�origineen cliquant sur le bouton Restaurer.

Pour supprimer un modèle de contrôle de validité

1 Sélectionnez le modèle à modifier dans la zone Modèles.

2 Cliquez sur le bouton Supprimer.

� Le bouton indicateur testant le code modèle fonctionne « à la volée ».Vous ne pouvez pas entrer ou tester une valeur exemple tant que cebouton ne vous indique pas que le code est correct.

� Cliquez sur le bouton Restaurer pour restaurer les modèles par défaut.Notez que cette opération restaure les modèles par défaut mais supprimetous les modèles personnalisés que vous avez ajoutés.

� Pour afficher la liste des codes modèles, cliquez sur Code du modèle.

82 Paradox 9 : Chapitre 3

Suppression d�un contrôle de validitéSi un contrôle de validité n�est plus requis sur un champ, vous pouvez lesupprimer.

Pour supprimer un contrôle de validité

1 Ouvrez une table.

2 Cliquez sur Format, Restructurer la table.

3 Dans la page Description des champs, effectuez l�une des opérationssuivantes :

� Cliquez sur le champ Minimum défini comme contrôle de validité etappuyez sur Supprimer.

� Cliquez sur le champ Maximum défini comme contrôle de validité etappuyez sur Supprimer.

� Cliquez sur le champ Par défaut défini comme contrôle de validité etappuyez sur Supprimer.

� Cliquez sur le champ Modèle défini comme contrôle de validité etsélectionnez Aucun dans la zone de liste.

� Cliquez sur le champ Obligatoire et décochez la case pour désactiver lecontrôle de validité.

Tables de référenceLes tables de référence permettent d�accélérer et de vérifier la saisie desdonnées. Lorsque vous spécifiez une table de référence pour un champ, vousspécifier que ce dernier peut uniquement contenir des valeurs existant dansle premier champ de la table spécifiée (la table de référence). Vous pouvezégalement spécifier si la personne qui saisit les données dans le champ estautorisée ou non à consulter la table de référence et à copier des valeurs àpartir de celle-ci, ou si elle doit identifier les valeurs correspondant à cellesde la table de référence sans pouvoir la consulter. L�illustration suivantereprésente une table de référence :

Tables 83

Différence entre une table de référence et l�intégrité référentielle

Une table de référence vous aide à saisir des données figurant déjà dans uneautre table. Pour établir une liaison plus performante entre deux tables, vouspouvez définir une relation d�intégrité référentielle entre celles-ci. La tablede référence garantit la copie ou l�ajout précis de données entre deux tables,tandis que l�intégrité référentielle garantit que le lien existant entre lesdonnées similaires de différentes tables ne peut pas être rompu.

Règles applicables aux tables de référence

Respectez les règles suivantes lors de la configuration d�une table deréférence :

� Le champ comportant les données valides doit être le premier champ de latable de référence.

� Le champ que vous définissez comme référence doit avoir le même typeet la même taille que le premier champ de la table de référence.

� Pour des performances optimales, le premier champ doit être la cléprimaire de la table de référence.

84 Paradox 9 : Chapitre 3

Le champ deréférence prend desdonnées de la tablede reférence

Vous pouvez utiliser une table de référence à partir de répertoires différents.Lorsque vous définissez une table de référence dans une table à partir d�unrépertoire différent, Paradox enregistre le chemin entier de la table. Si vousplacez votre table de référence dans un répertoire différent, vous devezrecréer le même chemin ou redéfinir la table de référence.

Types de tables de référence

Paradox propose deux options de référence pour les tables de référence :

� Champs courants : seul le champ courant tire sa valeur de la table deréférence, même si la table courante et la table de référence ont d�autreschamps communs.

� Champs applicables : tous les champs de la table courante qui ont unchamp correspondant dans la table de référence tirent leurs valeurs de latable de référence. Les champs correspondants doivent avoir des nomsidentiques et des types de champs compatibles dans les deux tables. Seulle premier champ de la table de référence est utilisé pour le contrôle devalidité.

Droits de référence

Il existe deux types d�accès aux tables de référence Paradox :

� Remplissage : cette option n�autorise pas l�utilisateur à visualiser la tablede référence lors de la modification d�une table et lui signale toute valeurincorrecte. Elle est utile lorsque vous voulez protéger les valeurs de latable de référence.

� Remplissage et affichage : cette option autorise l�utilisateur à afficher et àsélectionner les valeurs de la table de référence lors de la modificationd�une table.

Tables 85

� Une table Paradox de version 5 ou antérieure ne permet pas de créer uneréférence si le nom de la table ou le chemin du répertoire comporte plusde 8 caractères. Si vous voulez que la référence de table fonctionnecorrectement, vous devez mettre la table au niveau 7 à l�aide de l�utilitairede récupération de table, ou définir une fonction de niveau 7 pour la tablelors de la restructuration (tel qu�un index décroissant).

� Lors de la création d�une base de données, toutes les tables doivent êtreenregistrées dans le même répertoire, y compris les tables de référence.Bien que le Concepteur de modèle relationnel vous permette de vousdéplacer d�un alias à l�autre, vous ne devez pas lier des tables provenantde bases de données différentes, ni créer de table de référence entrecelles-ci. Une base de données relationnelle exige que seules les tablesd�un même répertoire soient liées.

Création et utilisation des tables de référenceLa fonction Table de référence permet de comparer les données entrées dansun champ d�une table avec celles d�une autre table afin de vérifier les valeursacceptées dans ce champ. Lors de la création d�une table de référence,Paradox vous propose deux types de référence, à savoir Champs courants etChamps applicables. Vous pouvez également choisir parmi deux types dedroits de référence : Remplissage ou Remplissage et affichage.

Pour créer une table de référence pour une table existante

1 Ouvrez la table pour laquelle vous voulez définir une table de référence.

2 Cliquez sur Format, Restructurer la table.

3 Cliquez sur l�onglet Table de référence.

4 Dans la liste Champs, cliquez sur le champ de référence voulu.

5 Cliquez sur la flèche droite.

6 Dans la zone de liste Tables de référence, sélectionnez la table deréférence à utiliser pour le champ spécifié.

Vous pouvez rechercher le fichier à l�aide du bouton affiché en regard dela zone de liste Lecteur.

7 Dans la zone Type de référence, activez l�un des boutons suivants :

� Champs courants : seul le champ courant tire sa valeur de la table deréférence,

� Champs applicables : tous les champs ayant un champ correspondantdans la table de référence tirent leurs valeurs de la table de référence.

86 Paradox 9 : Chapitre 3

8 Dans la zone Droits de référence, activez l�une des options suivantes :

� Remplissage : permet d�entrer les données sans consulter la table deréférence,

� Remplissage et affichage : permet d�afficher et de sélectionner desdonnées de la table de référence.

Utilisation d�une table de référence

1 Cliquez sur Affichage, Modifier les données.

2 Cliquez sur Enregistrement, Insérer.

3 Sélectionnez le champ auquel vous avez affecté une référence.

4 Appuyez sur CTRL + ESPACE pour ouvrir la Table de référence.

5 Sélectionnez une valeur appropriée dans la table de référence puis cliquezsur OK.

� Vous pouvez également sélectionner une table que vous avez crééevous-même, si celle-ci comporte toutes les valeurs acceptées dans cechamp (il s�agit de la table de référence). Rappelez-vous que la premièrecolonne de la table doit contenir les valeurs acceptées par le champ deréférence de l�autre table. Une fois la table créée, avec les valeursappropriées, vous pouvez l�utiliser comme table de référence en suivant laprocédure ci-dessus.

Mots de passeLa sécurité est particulièrement importante dans un environnementmulti-utilisateur. Vous pouvez protéger une table entière par un mot de passeou définir des droits spécifiques pour une table ou pour des champsindividuels. Après avoir spécifié un mot de passe, seuls les utilisateurs quiconnaissent le mot de passe peuvent accéder à la table. Lorsque desutilisateurs tentent d�accéder à une table protégée par un mot de passe,Paradox les invite à entrer le mot de passe (si ce n�est déjà fait).

Mots de passe principaux

Les mots de passe principaux contrôlent tous les accès à une table entière.Vous devez spécifier un mot de passe principal pour pouvoir définir d�autresrestrictions d�accès. Pour une meilleure sécurité, il est conseillé de changerrégulièrement vos mots de passe principaux. Ceux-ci peuvent êtresupprimés lorsqu�ils ne sont plus requis.

Tables 87

Mots de passe secondaires

Les mots de passe secondaires offrent différents niveaux d�accès aux tableset aux champs à plusieurs utilisateurs d�un même groupe. Les droits d�accèsaux tables déterminent le niveau d�accès général à une table. Les droitsd�accès aux champs déterminent le niveau d�accès à un champ individuel dela table. Les mots de passe secondaires peuvent servir à autoriser lesutilisateurs à visualiser les données, sans pouvoir les supprimer.

Les droits d�accès aux tables spécifiés pour un utilisateur déterminent lesdroits d�accès aux champs affectés à celui-ci, comme décrit dans le tableausuivant :

Droits d�accès aux tables Droits d�accès aux champs

Tous (droit d�accès maximum) Tous

Insérer & effacer Tous

Saisie de données Tous, Lecture seule ou Aucun

Mise à jour Tous, Lecture seule ou Aucun

Lecture seule (droit d�accès minimum) Tous, Lecture seule ou Aucun

� Les mots de passe secondaires offrent différents niveaux d�accès auxutilisateurs d�un groupe.

� En général, une seule personne (par exemple, un administrateur de basesde données), a accès aux mots de passe principaux. Un grouped�utilisateurs qui effectuent des tâches différentes sur une table possèdentdifférents mots de passe secondaires leur conférant différents niveauxd�accès.

Création d�un mot de passe principalUn mot de passe principal protège l�accès à une table entière. Lesutilisateurs doivent entrer le mot de passe approprié pour que Paradox ouvrela table. Pour plus de sécurité, vous pouvez créer des mots de passesecondaires applicables à des champs individuels. Toutefois, avant de pouvoiraffecter un mot secondaire, vous devez avoir créé un mot de passe principal.

Pour créer un mot de passe principal

1 Ouvrez la table pour laquelle vous voulez créer un mot de passe principal.

2 Cliquez sur Format, Restructurer la table.

3 Cliquez sur l�onglet Mots de passe.

88 Paradox 9 : Chapitre 3

4 Cliquez sur le bouton Définir.

5 Entrez un mot de passe dans la zone Mot de passe principal.

6 Entrez une nouvelle fois le mot de passe dans la zone Vérifier le mot depasse.

� Un mot de passe peut comporter jusqu�à 15 caractères, espaces compris.Il différencie les majuscules des minuscules.

Saisie et réactivation d�un mot de passeLorsque vous ouvrez une table protégée par un mot de passe, la boîte dedialogue Mot de passe s�affiche. Paradox vous invite à entrer le mot de passeavant d�ouvrir la table. Une fois que vous avez ouvert une table enfournissant le mot de passe correct puis fermé celle-ci, Paradox vous permetde l�ouvrir à nouveau, sans vous redemander le mot de passe. Toutefois, unefois que vous avez quitté l�application, Paradox réactive tous les mots depasse. Ceci signifie que le mot de passe est rétabli et que l�utilisateur doit denouveau entrer le mot de passe avant d�accéder à la table. Vous pouvezégalement réactiver un mot de passe, sans quitter Paradox.

Si vous avez défini le même mot de passe pour plusieurs tables, Paradoxvous permet d�accéder à toutes les tables en entrant le mot de passe à uneseule reprise. Pour plus d�informations, reportez-vous à la rubrique Créationd�un mot de passe principal à la page 88.

Pour entrer un mot de passe commun à plusieurs tables

1 Cliquez sur Outils, Sécurité, Mots de passe.

2 Entrez le mot de passe dans la zone correspondante.

3 Cliquez sur le bouton Ajouter.

Paradox applique le mot de passe à toutes les tables qui lui sont associéeset vous évite ainsi d�entrer le mot de passe la première fois que vousouvrez la(les) table(s) durant cette session.

Pour réactiver un mot de passe sans quitter Paradox

1 Cliquez sur Outils, Sécurité, Mots de passe.

2 Entrez le mot de passe que vous désirez supprimer de la mémoire.

3 Cliquez sur le bouton Retirer.

La prochaine fois que vous tentez d�ouvrir la table protégée par ce mot depasse vous devrez de nouveau entre le mot de passe.

Tables 89

� Cliquez sur le bouton Tout retirer pour supprimer tous les mots de passede la mémoire. Les tables ouvertes ne sont pas affectées.

Modification et suppression d�un mot de passe principalPour une sécurité optimale de vos tables, il est conseillé de changerrégulièrement votre mot de passe principal. Par ailleurs, si une tableprotégée par un mot de passe contient des informations qui peuvent par lasuite être rendues accessibles à tous les utilisateurs, Paradox vous permet desupprimer le mot de passe principal la protégeant.

Pour modifier un mot de passe principal

1 Ouvrez la table dont vous voulez changer le mot de passe principal.

2 Entrez le mot de passe principal pour ouvrir la table.

3 Cliquez sur Format, Restructurer la table.

4 Cliquez sur l�onglet Mots de passe.

5 Cliquez sur le bouton Modifier.

6 Dans la zone Mot de passe, entrez le nouveau mot de passe.

Des astérisques (*) s�affichent à la place des caractères saisis. Un mot depasse peut comporter jusqu�à 15 caractères, espaces compris. Les mots depasse différencient les majuscules des minuscules.

7 Dans la zone Vérifier le mot de passe, entrez de nouveau le mot de passe.

Si les deux mots de passe sont différents (notamment la casse descaractères), un message d�erreur vous invite à entrer de nouveau un desmots de passe. Si les deux mots de passe sont identiques, Paradoxenregistre le mot de passe et ferme la boîte de dialogue.

8 Cliquez sur OK.

9 Cliquez sur Enregistrer pour enregistrer vos modifications et fermer laboîte de dialogue Restructuration de la table.

Pour supprimer un mot de passe principal

1 Ouvrez la table dont vous voulez supprimer le mot de passe principal.

2 Entrez le mot de passe principal pour ouvrir la table.

3 Cliquez sur Format, Restructurer la table.

4 Cliquez sur l�onglet Mots de passe.

5 Cliquez sur Mot de passe principal dans la liste Mots de passe.

90 Paradox 9 : Chapitre 3

6 Cliquez sur le bouton Supprimer.

7 Cliquez sur Oui.

8 Cliquez sur Enregistrer pour enregistrer vos modifications et fermer laboîte de dialogue Restructuration de la table.

Création et modification d�un mot de passe secondairePour créer un mot de passe secondaire, vous devez d�abord avoir créé un motde passe principal pour la table. Un mot de passe secondaire affecte un droitd�accès en lecture et en écriture à l�ensemble de la table. Après avoir définiles droits d�accès applicables à l�ensemble de la table, vous pouvez limiterdavantage l�accès des utilisateurs à la table en définissant des droits d�accès àdes champs individuels. Par exemple, vous pouvez octroyer à un utilisateurun droit d�accès en lecture à l�ensemble de la table, mais masquer certainschamps de la table contenant des informations confidentielles pour empêcherd�autres utilisateurs d�y accéder. Une fois un mot de passe secondaire mis enplace, il sera parfois nécessaire de le modifier ou de le supprimer, selon lesbesoins des utilisateurs et les modifications apportées aux tables.

Pour créer un mot de passe secondaire

1 Ouvrez la table pour laquelle vous voulez créer un mot de passesecondaire.

Vous devrez entrer le mot de passe principal pour accéder à la table.

2 Cliquez sur Format, Restructurer la table.

3 Cliquez sur l�onglet Mots de passe.

4 Cliquez sur le bouton Ajouter.

5 Entrez le nom du mot de passe secondaire.

6 Dans la zone Droits des tables, cochez l�une des cases suivantes :

� Tous : autorise l�utilisateur à accéder à toutes les fonctions d�une table,y compris à la restructurer ou à la supprimer, ou encore à modifier ousupprimer les mots de passe.

� Insérer & supprimer : autorise l�utilisateur à insérer, supprimer ouvider des enregistrements, mais pas à supprimer ou restructurer latable.

� Saisie de données : autorise l�utilisateur à modifier les données et àinsérer de nouveaux enregistrements, mais pas à supprimer ou viderdes enregistrements, ni à restructurer la table.

Tables 91

� Mise à jour : autorise l�utilisateur à afficher la table et à modifier deschamps autres que les champs clés, mais pas à insérer ou supprimerdes enregistrements, ni à modifier des champs clés.

� Lecture seule : autorise l�utilisateur à afficher la table, sans la modifierd�aucune façon.

7 Pour affecter des droits d�accès à des champs spécifiques d�une table,cliquez sur la cellule Accès, à droite du nom du champ, puis sélectionnezTous, Lecture seule ou Aucun.

Pour modifier un mot de passe secondaire

1 Ouvrez la table dont vous voulez changer le mot de passe secondaire.

2 Cliquez sur Format, Restructurer la table.

3 Cliquez sur l�onglet Mots de passe.

4 Sélectionnez le mot de passe secondaire que vous voulez modifier.

5 Suivez les étapes 6 et 7 ci-dessus.

6 Cliquez sur l�un des boutons suivants :

� Enregistrer : pour accepter les modifications effectuées,

� Annuler : pour annuler les modifications et restaurer les droitsd�accès d�origine.

Pour supprimer un mot de passe secondaire

1 Dans la page Mots de passe de la boîte de dialogue Restructuration de latable, sélectionnez le mot de passe secondaire que vous voulez supprimer.

2 Cliquez sur le bouton Retirer.

Intégrité référentielleL�intégrité référentielle est un élément essentiel lors de la création derelations multiples entre les tables. L�intégrité des données garantit lavalidité des valeurs d�une table. L�intégrité référentielle requiert qu�un champou un groupe de champs d�une table (la table enfant) détermine les valeursvalides en se référant à la clé d�une autre table (la table parent). Lorsquevous définissez une intégrité référentielle, Paradox contrôle la validité d�unevaleur avant de l�accepter dans la table d�intégrité référentielle. Par exemple,si vous définissez une intégrité référentielle entre les champs N° Client destables CLIENT.DB et COMMANDES.DB, puis entrez une valeur dans lechamp N° Client de la table COMMANDES.DB, Paradox recherche le champN° Client de la table CLIENT.DB et, accepte ou refuse la valeur dans la tableCOMMANDES.DB selon qu�elle existe ou non dans la table CLIENT.DB.

92 Paradox 9 : Chapitre 3

Intégrité référentielle et index

Lorsque vous créez ou modifiez une relation d�intégrité référentielle,Paradox crée un index secondaire sur les champs d�intégrité référentielle, s�iln�existe pas déjà. Paradox attribue le nom du champ à l�index (s�il s�agit d�unchamp simple) ou le nom de l�intégrité référentielle (s�il s�agit d�un champmultiple). L�index apparaît dans la liste des index secondaires. Si voussupprimez l�intégrité référentielle, Paradox ne supprime pasautomatiquement cet index. Vous devez le supprimer manuellement.

Règles applicables à l�intégrité référentielle

Lors de la définition de l�intégrité référentielle, respectez les règlessuivantes :

� Une intégrité référentielle ne peut être définie qu�entre des champssimilaires dont les valeurs correspondent.

Par exemple, il est possible de définir une intégrité référentielle entre leschamps N° Client des tables exemples CLIENT.DB etCOMMANDES.DB. Les noms des champs importent peu du moment queles types et les tailles de champs sont identiques.

� Il est seulement possible de définir une intégrité référentielle entre lestables d�un même répertoire.

� En outre, vous pouvez définir une intégrité référentielle entre un champde type incrémentation automatique et un champ de type entier long.

� La table parent de l�intégrité référentielle doit être indexée.

� Si vous définissez une intégrité référentielle dans une table contenantdéjà des données, certaines valeurs existantes risquent de ne pascorrespondre à la valeur du champ clé de la table parent. Dans ce cas,Paradox place les enregistrements existants non conformes dans la tabletemporaire DOUBLONS.DB dans votre répertoire privé.

Intégrité référentielle automatique

Une relation d�intégrité référentielle entre un champ d�une table et le champclé de la même table est appelée relation d�intégrité référentielleautomatique. Par exemple, supposons que vous utilisez une table d�employésindexée sur le champ ID Employé. Si cette table contient un champSuperviseur, vous pouvez définir une relation d�intégrité référentielleautomatique entre les champs Superviseur et ID Employé, car lessuperviseurs sont aussi des employés.

Tables 93

Lorsque vous créez une intégrité référentielle automatique :

� Vous devez cliquer sur Interdite dans la zone Mise à jour de la boîte dedialogue Intégrité référentielle. Cette option de sécurité interdit lamodification d�enregistrements d�une table parent qui existent égalementdans une table enfant.

� Vous ne pouvez pas créer de référence circulaire. Par conséquent, il estimpossible de créer une relation dans laquelle un champ se rapporte àlui-même.

� Il n�est pas possible de définir une intégrité référentielle entre des fichiersdBASE (.DBF), des tables Paradox 3.5 ou des tables non indexées.Toutefois, vous pouvez utiliser des fichiers .DB et certaines tables deserveur SQL avec la fonction d�intégrité référentielle. Consultez ladocumentation de votre serveur pour déterminer si vos tables prennenten charge l�intégrité référentielle.

� Si vous copiez la table parent, Paradox ne copie pas l�intégritéréférentielle. Si vous copiez la table enfant, Paradox copie l�intégritéréférentielle et la table copiée doit se conformer aux exigences del�intégrité référentielle. Les deux tables reliées par l�intégrité référentielledoivent se trouver dans le même répertoire. Le lien d�intégritéréférentielle est rompu si vous copiez la table enfant dans un autrerépertoire.

Définition et suppression de l�intégrité référentielleParadox vous permet de définir ou de supprimer une relation d�intégritéréférentielle entre une table parent et une ou plusieurs tables enfant d�unmême répertoire. Seules les valeurs qui existent dans l�index de la tableparent (par conséquent, les premiers champs de la table) sont acceptées dansles champs spécifiés des tables enfant. Vous devez impérativement définir ledossier contenant les tables pour lesquelles vous souhaitez définir uneintégrité référentielle comme étant votre répertoire de travail.

Pour définir une liaison d�intégrité référentielle

1 Ouvrez la table enfant.

2 Cliquez sur Format, Restructurer la table.

3 Cliquez sur l�onglet Intégrité référentielle.

4 Cliquez sur le bouton Ajouter et entrez un nom dans la liste Noms desliens.

94 Paradox 9 : Chapitre 3

5 Sélectionnez la table parent dans la liste Table parent.

6 Dans la liste Champs, cliquez sur le champ de la table enfant pour lequelvous voulez définir la relation d�intégrité référentielle puis cliquez sur laflèche droite.

Si la table parent comporte une clé composite, ajoutez des champscorrespondant à tous les champs clés de la table parent.

7 Cliquez sur Enregistrer pour enregistrer la relation d�intégritéréférentielle.

Pour supprimer une relation d�intégrité référentielle

1 Ouvrez la table enfant.

2 Cliquez sur Format, Restructurer la table.

3 Cliquez sur l�onglet Intégrité référentielle.

4 Dans la liste Noms des liens, cliquez sur le nom de la relation d�intégritéréférentielle à supprimer.

5 Cliquez sur le bouton Retirer.

� Il est également possible de spécifier quels attributs d�intégritéréférentielle doivent être appliqués à l�aide des options de la zone Mise àjour et de la case à cocher Intégrité référentielle stricte. Pour plusd�informations, reportez-vous à la rubrique Mise à jour et intégritéréférentielle stricte à la page 95.

Mise à jour et intégrité référentielle stricteVous pouvez déterminer comment Paradox effectue la mise à jour desenregistrements d�une relation d�intégrité référentielle à l�aide des optionsCascade ou Interdite. L�activation de l�intégrité référentielle stricte permeten outre de contrôler l�accès à une table.

Pour modifier une liaison d�intégrité référentielle

1 Ouvrez la table enfant.

2 Cliquez sur Format, Restructurer la table.

3 Cliquez sur l�onglet Intégrité référentielle.

4 Sélectionnez le nom de la relation d�intégrité référentielle à modifier dansla zone de liste Noms des liens.

Tables 95

5 Dans la zone Mise à jour, activez l�un des boutons suivants :

� Cascade : spécifie que toute modification apportée à la valeur de la cléde la table parent est automatiquement répercutée dans la table enfant.C�est la règle de mise à jour par défaut de Paradox. Pour répercuterune mise à jour dans plusieurs tables, Paradox doit verrouiller la tablecible. Si le verrouillage est refusé (par exemple, si elle a déjà étéverrouillée par un autre utilisateur), Paradox ne peut pas effectuer lamise à jour en cascade.

� Interdite : spécifie qu�il n�est pas possible de modifier une valeur dansle champ clé de la table parent si la table enfant contient desenregistrements correspondant à cette valeur. Toutefois, si la valeur nefigure dans aucun enregistrement de la table enfant, vous pouvezmodifier la table parent.

6 Activez le bouton R. I. Strict (Intégrité référentielle stricte), si vousvoulez vous assurer que des versions antérieures de Paradox (parexemple, Paradox pour DOS) ne puissent pas accéder à une table surlaquelle vous avez défini une intégrité référentielle. Pour que vouspuissiez modifier les tables figurant dans une relation d�intégritéréférentielle, Paradox doit au préalable les avoir verrouillées.

7 Cliquez sur Enregistrer.

Concepteur de base de données visuelLe Concepteur de base de données visuel est une application qui vous aide àconcevoir vos bases de données. À l�aide de celui-ci, vous pouvez créer destables Paradox, définir une intégrité référentielle entre plusieurs tables,afficher les champs de tables et créer, imprimer et enregistrer un schéma devos bases de données.

Le Concepteur de base de données visuel ressemble au Concepteur demodèle relationnel mais leur utilisation est très différente. Le Concepteur demodèle relationnel vous permet de lier des tables afin de créer des modèlesrelationnels que vous utilisez ensuite dans des fiches et des états. Lesrelations que vous créez entre des tables à l�aide du Concepteur de base dedonnées visuel sont quant à elles enregistrées dans la structure des tables.

Le Concepteur de base de données vous permet de :

� créer et modifier les schémas de votre base de données,

� créer et modifier les tables,

� définir des relations d�intégrité relationnelle entre des tables,

� enregistrer le schéma d�une base de données,

� imprimer le schéma d�une base de données.

96 Paradox 9 : Chapitre 3

� Le schéma de votre base de données est enregistré dans un fichier appeléDBL$fichier.$$$.

Démarrage du Concepteur de base de données visuelLe Concepteur de base de données visuel dispose de son propreenvironnement, dans lequel vous créez, modifiez et liez vos tables. La plusgrande partie de la conception de votre base de données peut s�effectuer danscet outil.

Pour démarrer le Concepteur de base de données visuel

� Cliquez sur Outils, Concepteur de base de données visuel.

Création et modification d�une tableVous pouvez créer une table Paradox à l�aide du Concepteur de base dedonnées visuel.

Pour créer une table

1 Cliquez sur Outils, Concepteur de base de données visuel.

2 Cliquez sur Insertion, Nouvelle table.

3 Cliquez sur l�espace de travail pour positionner la nouvelle table.

4 Dans la boîte de dialogue Nom de table, entrez le nom de la table.

5 Dans la boîte de dialogue Création de table, définissez les champs et lespropriétés de la table.

6 Cliquez sur Créer.

Pour modifier une table

1 Dans la zone de conception du Concepteur de base de données visuel,sélectionnez une table et cliquez sur Édition, Restructuration de la table.

2 Dans la boîte de dialogue Restructuration de la table, modifiez les champset les propriétés de la table, comme nécessaire.

3 Cliquez sur Enregistrer.

Tables 97

� Pour plus d�informations sur la définition des champs et des propriétésd�une table, reportez-vous à la section Création d�une table Paradox à lapage 65.

� Pour plus d�informations sur la restructuration des champs et despropriétés d�une table, reportez-vous à la rubrique Restructuration d�unetable à la page 121.

Modification du schéma d�une base de donnéesLe Concepteur de base de données visuel est un outil idéal pour visualiservotre base de données, c�est-à-dire les tables composant la base de donnéeset les relations existant entre elles. Vous pouvez ainsi ajouter des tables àvotre espace de travail, les y gérer, modifier leurs propriétés d�affichage etrafraîchir l�espace de travail.

Pour ajouter une table

1 Cliquez sur Édition, Ajouter une table

2 Sélectionnez la table appropriée dans la liste puis cliquez sur le boutonAjouter.

3 Si vous voulez ajouter d�autres tables, répétez l�étape 2.

4 Cliquez sur Fermer.

Pour manipuler une table

� Cliquez sur la barre de titre d�une table et déplacez-la en la faisant glissersur l�espace de travail.

Pour développer et réduire une table

1 Sélectionnez une table dans l�espace de travail.

2 Dans la barre de titre de la table, cliquez une fois sur la flèche haut pourréduire la table et n�afficher que les noms de la table et des champs.

3 Cliquez une nouvelle fois sur cette flèche pour réduire la table et afficheruniquement son nom.

4 Dans la barre de titre de la table, cliquez sur la flèche bas pour étendre lesinformations et inclure les noms de champ.

5 Cliquez une nouvelle fois sur cette flèche pour développer toutes lesinformations de la table et inclure le nom des index affectés à cette table,s�ils existent.

98 Paradox 9 : Chapitre 3

Pour ajuster les tables

� Cliquez sur Affichage, Redimensionnement automatique des tables.

Pour rafraîchir l�espace de travail

� Cliquez sur Affichage, Rafraîchir le diagramme.

Liaison des tablesLe Concepteur de base de données visuel peut être utilisé pour définir desrelations d�intégrité référentielle entre les tables. Toutes les relations quevous définissez dans le Concepteur de base de données visuel sontautomatiquement enregistrées dans la structure des différentes tables.

Une fois une relation d�intégrité référentielle créée, vous pouvezsélectionner le lien et ouvrir la boîte de dialogue Propriétés du lien pourmodifier ou supprimer le lien, si nécessaire.

Pour définir une intégrité référentielle

1 Dans le Concepteur de base de données visuel, sélectionnez le champ dela table enfant que vous voulez lier.

2 Cliquez sur celui-ci et faites-le glisser sur le champ de la table parent àlier.

Vérifiez que les champs sont du même type et de la même taille. Enoutre, le champ de la table parent doit être le champ clé.

3 Dans la boîte de dialogue Lien, entrez le nom du lien d�intégritéréférentielle.

Les champs clé et enfant de la table parent sont affichés dans lescolonnes.

4 Cliquez sur OK.

5 Cliquez avec le bouton droit sur l�espace de conception puis sélectionnezAfficher le nom de la liaison d�intégrité référentielle.

Le nom du lien, représenté par une flèche, s�affiche dans l�espace deconception.

Pour sélectionner un lien

� Cliquez sur un lien entre deux tables.

Lorsqu�un lien est sélectionné, sa forme et sa couleur changent et lesdeux champs liés sont mis en surbrillance.

Tables 99

Pour afficher les propriétés d�un lien

1 Sélectionnez le lien que vous voulez modifier.

2 Cliquez avec le bouton droit sur le lien, puis sélectionnez Propriétés dulien.

Pour supprimer un lien

1 Sélectionnez le lien que vous voulez modifier.

2 Cliquez avec le bouton droit sur le lien, puis sélectionnez Supprimer laliaison référentielle.

� Vous pouvez également supprimer un lien en le sélectionnant et enappuyant sur SUPPRIMER.

Affichage des informations d�une tableLe Concepteur de base de données visuel affiche les relations entre lestables mais il permet également de visualiser des informations sur lespropriétés et les champs spécifiques des tables, notamment les tables deréférence, les champs indexés et les index secondaires.

Pour afficher les informations d�une table

� Cliquez sur Outils, Concepteur de base de données visuel.

Le schéma visuel de votre base de données s�affiche dans l�espace de travail.Chaque table contient des icônes représentant les informations suivantes :

� une clé bleue : identifie un champ clé. Si plusieurs champs affichentune clé bleue, la table a un index composite.

� une ligne : identifie un champ.

� une ligne au bord supérieur violet : identifie une table de référence.

� deux lignes dotées d�une flèche : indiquent qu�un index a été définisur ce champ.

� Vous avez également la possibilité d�afficher les informations d�une tableen cliquant sur Outils, Utilitaires, Info Structure.

100 Paradox 9 : Chapitre 3

Enregistrement du diagramme d�une base de donnéesUne fois le diagramme de la base de données créé, vous pouvez l�enregistrerafin qu�il soit identique la prochaine fois que vous ouvrez le Concepteur debase de données visuel.

Pour enregistrer le diagramme

� Cliquez sur Fichier, Enregistrer.

Il n�est pas nécessaire d�attribuer un nom au diagramme.

Impression du diagramme d�une base de donnéesIl est possible d�imprimer un modèle du diagramme d�une base de données,après l�avoir affiché et vérifié au préalable, si nécessaire.

Pour visualiser le diagramme d�une base de données

� Cliquez sur Fichier, Aperçu avant impression.

Pour imprimer le diagramme d�une base de données

� Cliquez sur Fichier, Imprimer.

� Vous pouvez également afficher le diagramme de la base de données encliquant avec le bouton droit sur l�espace de travail et en sélectionnantAperçu avant impression.

� De la même façon, vous pouvez l�imprimer en cliquant avec le boutondroit sur l�espace de travail et en sélectionnant Imprimer le diagramme.

Navigation et affichage des tablesParadox comporte plusieurs options et outils facilitant la navigation dans lestables. Dans une table ouverte, vous pouvez vous déplacer d�unenregistrement à l�autre à l�aide de la barre de défilement horizontale, de lasouris ou du clavier.

Outre parcourir les tables, vous pouvez modifier leur affichage. Une liste detoutes les tables est affichée dans la fenêtre Projet. Lorsque vous ouvrez unetable, elle s�affiche en mode Affichage. Ce mode vous permet de vousdéplacer dans les enregistrements d�une table et de modifier l�affichage desdonnées, mais sans toutefois pouvoir les modifier.

Tables 101

Paradox vous permet de parcourir les données de diverses façons. Vouspouvez :

� utiliser l�arrêt du défilement horizontal pour figer les colonnes sur le côtégauche de la fenêtre. Par exemple, dans la table d�informationsCLIENT.DB, vous voudrez peut-être que les champs N° Client et NomClient restent visibles pour que vous puissiez déterminer à quel clientappartient chaque enregistrement. L�arrêt du défilement horizontal vouspermet de définir quels champs doivent rester visibles, tandis que vousfaites défiler la table vers la droite.

� utiliser les options d�affichage Vue mémo et Vue table pour afficherl�intégralité de certains types de champs, par exemple les champs BLOB.Selon la vitesse de votre système et la taille des champs BLOB, l�affichagede ces champs peut être très lent. Les données mémos et graphiques sonten effet enregistrées en dehors de la table, dans un fichier séparé.

� utiliser Outils, Conception immédiate pour afficher rapidement la tablesous forme de fiche, état, graphe ou référence croisée.

� Il est également possible d�afficher les informations se rapportant auxtables dBASE et SQL à partir de la boîte de dialogue Info structure detable.

Déplacement dans les enregistrements d�une tableLa barre d�outils Paradox comporte divers boutons de navigation vouspermettant d�accéder rapidement à vos données. Les flèches et barres dedéfilement servent à vous déplacer entre les enregistrements d�une table.

Pour vous déplacer dans les enregistrements d�une table

� Cliquez sur l�une des flèches suivantes :

pour atteindre le premier enregistrement de la table,

pour vous déplacer d�un jeu d�enregistrements vers le haut (le nombre d�enregistrementsaffiché dans la fenêtre Table),

pour atteindre l�enregistrement précédent dans la table,

pour atteindre l�enregistrement suivant dans la table,

102 Paradox 9 : Chapitre 3

pour vous déplacer d�un jeu d�enregistrements vers le bas (le nombre d�enregistrements affiché dans la fenêtre Table),

pour atteindre le dernier enregistrement de la table.

Pour parcourir vos enregistrements

� Utilisez l�une des flèches ou barres de défilement suivantes :

� Flèches de défilement Haut et Bas de la barre de défilement verticalepour parcourir une table, un enregistrement à la fois,

� Flèches de défilement Gauche et Droite de la barre de défilementhorizontale pour parcourir les colonnes d�une table,

� Barres de défilement verticale et horizontale pour faire défiler lesenregistrements d�une table. Les enregistrements en eux-mêmes nebougent pas ; la barre d�état affiche la fourchette de numéros desenregistrements ou le numéro du champ qui s�afficherai(en)t si vousrelâchiez le curseur de défilement.

� Dans les tables dBASE, le curseur de défilement vertical est toujourscentré lorsque l�option Table, Afficher enregistrements effacés n�est pascochée.

� Si la table est indexée, Paradox affiche la fourchette de valeurs dans lechamp clé (ou le premier champ d�un index composite) sur la barre d�étattandis que vous déplacez le curseur de défilement vertical.

Utilisation du clavier pour le déplacement dans les enregistrementsd�une table

Utilisez les commandes clavier suivantes pour parcourir les champs et lesenregistrements d�une table.

Touche Effet/Action

Sélectionne le champ situé à gauche du champ sélectionné. Si le champsélectionné est le premier champ de l�enregistrement, sélectionne ledernier champ de l�enregistrement précédent.

Sélectionne le champ situé à droite du champ sélectionné. Si le champsélectionné est le dernier champ de l�enregistrement, sélectionne lepremier champ de l�enregistrement suivant.

Tables 103

Sélectionne le même champ dans l�enregistrement situé au-dessous del�enregistrement courant.

Sélectionne le même champ dans l�enregistrement situé au-dessus del�enregistrement courant.

ORIGINE Sélectionne le premier champ de l�enregistrement courant.

FIN Sélectionne le dernier champ de l�enregistrement courant.

CTRL+ORIGINE Sélectionne le premier champ du premier enregistrement de la table.

CTRL+FIN Sélectionne le dernier champ du dernier enregistrement de la table.

PG.SUIV Affiche le jeu d�enregistrements suivant.

PG.PRÉC Affiche le jeu d�enregistrements précédent.

CTRL+ PG.SUIV Fait défiler la fenêtre jusqu�au jeu d�enregistrements suivant.

CTRL+ PG.PRÉC Fait défiler la fenêtre jusqu�au jeu d�enregistrements précédent.

Affichage des informations de structure d�une tableVous pouvez utiliser la commande Info structure pour afficher la structured�une table, notamment ses clés, contrôles de validité, index, tables deréférence ou tables dépendantes.

La boîte de dialogue Information structure de table qui s�affiche vous permetde consulter la structure d�une table mais elle ne vous permet pas de lamodifier.

Pour afficher les informations de structure d�une table

1 Cliquez sur Outils, Utilitaires, Info Structure.

2 Cliquez deux fois sur le nom de la table dont vous voulez afficher lastructure.

3 Cliquez sur l�un des onglets de la boîte de dialogue Information structurede table.

� La boîte de dialogue Information structure de table affiche également desinformations sur les tables dBASE et SQL.

104 Paradox 9 : Chapitre 3

Utilisation de l�arrêt du défilement horizontal durant la visualisationdes champs

La plupart des tables que vous créez risquent de comporter trop de champspour que vous puissiez les visualiser tous simultanément. Parfois, lorsquevous déplacez le curseur de défilement vers la droite pour afficher deschamps supplémentaires, vous souhaiterez qu�un champ ou deux restentvisibles. Par défaut, l�arrêt du défilement horizontal est réglé sur la gauche dela première colonne de la table, de telle sorte que toutes les colonnes sedéplacent tandis que vous vous déplacez vers la droite. L�arrêt du défilementhorizontal s�affiche dans l�angle inférieur gauche de la fenêtre Table.

Pour définir l�arrêt du défilement horizontal

1 Maintenez votre pointeur sur l�arrêt du défilement jusqu�à ce qu�il setransforme en une flèche à deux têtes.

2 Cliquez sur l�arrêt du défilement et faites-le glisser vers la droite de la oudes colonnes que vous voulez verrouiller.

Toutes les colonnes situées à gauche du verrou restent alors en placequand vous vous déplacez dans les colonnes de la table.

Affichage des champs de type mémo et BLOBLes champs pouvant contenir des objets BLOB (Objets binaires volumineux)sont notamment de type binaire, mémo, mémo formaté, graphique, et OLE.Paradox enregistre les champs de type mémo, mémo formaté et graphiquedans un fichier distinct (portant l�extension .MB pour les tables Paradox et.DBT pour les tables dBASE), et non dans la table elle-même. Une tableParadox contient une partie du champ (que vous définissez lors de la créationdu champ), ainsi qu�un pointeur désignant le fichier .MB. Paradox récupèreles valeurs du fichier .MB lors de l�affichage des champs de type mémo etmémo formaté.

Le contenu d�un champ de type mémo, mémo formaté ou BLOB sélectionnépeut être affiché.

Pour afficher un champ mémo

� Sélectionnez le champ puis cliquez sur Affichage, Vue mémo ou appuyezsur la touche F2.

Paradox affiche tout le contenu du champ dans une fenêtre séparée.

Pour fermer la Vue mémo

� Cliquez sur Affichage, Vue mémo ou appuyez sur la touche F2.

Tables 105

Pour afficher un champ BLOB

� Sélectionnez le champ puis cliquez sur Affichage, Vue champ.

Pour fermer une fenêtre affichant un champ BLOB

� Appuyez sur la touche F2.

Si vous cliquez sur un champ mémo ou BLOB individuel, Paradox afficheson contenu dans une fenêtre séparée. Toutefois, la quantité de texte oude graphique visible dépend de la taille des cellules de la table.

Pour afficher la totalité du texte de tous les champs mémo ouBLOB d�une table

1 Cliquez avec la bouton droit de la souris sur un enregistrement du champmémo ou graphique puis sélectionnez Propriétés.

2 Sur l�onglet Général, cochez la case Affichage complet.

Paradox affiche tout le contenu de tous les enregistrements de ce champ.Toutefois, la quantité de texte ou de graphique visible dépend de la tailledes cellules de la table.

� S�il s�agit d�un champ mémo dBASE, Paradox n�enregistre pas les donnéesmémo dans le fichier .DBF. Par conséquent, lorsque vous désactivezl�option Affichage complet pour les champs mémos dBASE, le mémo nes�affiche pas. Un marqueur apparaît pour vous indiquer que le champmémo contient des données. Lorsque vous cliquez sur le champ, Paradoxaffiche la valeur du mémo dans le fichier .DBT.

Affichage de données graphiquesDans certains cas, vous ne serez pas en mesure de voir la totalité d�ungraphique que vous avez inséré dans une table. Vous pouvez alors ajuster lalargeur et la hauteur des cellules de la table pour en afficher la partie voulue.Vous pouvez également utiliser la Vue champ pour l�afficher intégralement.

Pour afficher un graphique

� Cliquez deux fois sur un champ.

Paradox ouvre une fenêtre qui affiche uniquement le graphique.

106 Paradox 9 : Chapitre 3

� Si le champ graphique de la fiche n�a pas la taille adéquate pour afficher lesvaleurs graphiques de chaque enregistrement, vous pouvezredimensionner l�objet champ dans la fenêtre Conception de fiche. Vouspouvez également cliquer sur le champ avec le bouton droit de la sourispuis cocher la case Ajustement optimisé sur l�onglet Grossissement de laboîte de dialogue Propriétés.

Affichage d�objets immédiatsLes commandes de Conception immédiate vous permettent d�afficher lesdonnées d�une table dans une fiche, un graphe, une référence croisée ou unétat.

Pour afficher les données d�une table dans une fiche immédiate

� Cliquez sur Outils, Conception immédiate, Fiche immédiate.

La fenêtre Fiche s�ouvre devant la fenêtre Table ouverte. Dans celle-civous pouvez utiliser la commande Vue table pour revenir à l�affichage de latable, ou cliquez simplement sur le nom de la table dans la barred�application.

Pour afficher les données d�une table dans un état immédiat

� Cliquez sur Outils, Conception immédiate, État immédiat.

Pour afficher les données d�une table dans un graphe immédiat

� Cliquez sur Outils, Conception immédiate, Graphe immédiat.

Si vous n�avez pas encore défini de graphe par défaut, la boîte de dialogueDéfinition d�un graphe s�affiche.

Pour afficher les données d�une table dans une référence croiséeimmédiate

� Cliquez sur Outils, Conception immédiate, Référence croisée immédiate.

Si vous n�avez pas encore définie de référence croisée par défaut, la boîtede dialogue Définition d�une référence croisée s�affiche.

Tables 107

� Lorsque vous visualisez les données de la table dans un autre format (parexemple, une fiche ou un état), les paramètres de propriétés que vousavez définis dans la fenêtre Table ne s�affichent pas. Vous pouvezpersonnaliser la fiche ou l�état de manière individuelle pour obtenirl�apparence souhaitée.

Filtrage des tablesDans certains cas, vous ne souhaiterez pas visualiser la totalité des donnéesd�une table, mais uniquement un sous-ensemble. Pour ce faire, vous pouvezappliquer des filtres. Par exemple, vous voulez visualiser uniquement lesclients de Caroline du Nord et de Californie de la table CLIENT.DB. Grâceaux filtres, vous pouvez :

� afficher uniquement les enregistrements dont les valeurs de champsrépondent aux critères que vous spécifiez,

� afficher les enregistrements selon un index secondaire que vous avezdéfini pour la table.

Les filtres sont similaires aux requêtes reliées. Une fois que vous avez filtréles données d�une table, vous pouvez passer en mode Édition et mettre àjour les informations des enregistrements sélectionnés. La plupart desopérateurs utilisés dans les requêtes peuvent également l�être dans lesfiltres. Cependant, il existe quelques différences importantes. Pour plusd�informations, reportez-vous à la rubrique Comparaison des filtres et desrequêtes à la page 110.

Filtrage des tables et des champs

Lorsque vous filtrez une table, Paradox effectue une recherche dans cettetable puis affiche les enregistrements contenant les valeurs qui répondentaux critères de filtre que vous avez spécifiés. Par exemple, si vous voulezafficher une liste de clients dont le nom est Robertson, vous pouvez entrerRobertson dans la zone en regard du champ Nom. Paradox afficheuniquement les enregistrements des clients dont le nom est Robertson. Sivous voulez afficher uniquement les clients dont le nom est Robertson et quihabitent en Nouvelle-Écosse, vous pouvez également entrerNouvelle-Écosse dans la zone en regard du champ État/Prov.

Lorsque vous spécifiez les critères de filtrage, vous pouvez utiliser lesmêmes mots-clés et symboles que ceux servant à définir les conditions desélection dans les requêtes. Si la table est indexée ou comporte des indexsecondaires, vous pouvez choisir l�index que Paradox utilise pour trier lesenregistrements filtrés. Vous pouvez également définir un filtre sur un indexcomposite mais dans ce cas, vous devez définir des fourchettes pour

108 Paradox 9 : Chapitre 3

plusieurs champs dans l�index. Si vous choisissez un index composite, vousdevez vous conformer à certaines règles spécifiques.

Vous pouvez également filtrer une table pour n�afficher que lesenregistrements dont les champs contiennent une fourchette de valeurs. Parexemple, vous pouvez faire en sorte que Paradox affiche les enregistrements50 à 100 d�une table.

Définition des opérateurs et des conditions des filtres

Les opérateurs sont des symboles qui représentent une opération pouvantêtre effectuée sur une ou plusieurs valeurs. Vous pouvez également utiliserles conditions soit/soit pour filtrer les données d�une table. Paradox évalueles opérateurs des filtres dans un ordre précis. Dans les expressionscontenant plusieurs opérateurs, ces derniers sont évalués dans l�ordre depriorité illustré ci-après.

Priorité Opérateur

1 ( ) [ ] � �

2 * / %

3 + -

4 = <> < <= > >=

5 SAUF

6 ET

7 OU

8 , (virgule)

� Toute expression entre parenthèses est évaluée en premier, et les niveauxintérieurs de parenthèses sont évalués avant les niveaux extérieurs.Lorsque deux ou plusieurs opérateurs de même priorité figurent dans uneseule expression, ils sont évalués de gauche à droite.

� Vous pouvez définir des filtres pour les fiches et états contenant desmodèles relationnels complexes, la table maître dans un modèlerelationnel ainsi que les tables détail si elles sont liées par une relationmulti-valeur. Il n�est pas possible d�appliquer des filtres aux tables détail sielles sont liées par une relation mono-valeur.

Tables 109

Comparaison des filtres et des requêtesLes filtres sont similaires aux requêtes. La plupart des opérateurs utilisésdans une requête peuvent également l�être dans un filtre, mais lesexpressions sont parfois utilisées différemment :

� L�opérateur générique @ n�est pas autorisé dans un filtre.

� L�opérateur générique .. n�est pas autorisé dans les champs de typenumérique ou date d�un filtre. En outre, il est autorisé après la conditiondu filtre uniquement et non avant celle-ci. Par exemple, vous pouvezentrer aff.. pour filtrer toutes les valeurs contenant les trois lettres aff (enmajuscules ou en minuscules), suivies d�autres lettres. Ce filtre renvoieles valeurs Affichage, Afficher, affichés, affichable, etc. L�utilisation del�opérateur générique .. est le seul moyen de définir un filtre ignorant lacasse.

� Les éléments exemples ne sont pas utilisés dans les filtres. Vous pouvezcependant faire référence à un champ à partir d�un autre champ.

� Les champs calculés ne sont pas utilisés dans les filtres. En outre, lesopérations mathématiques peuvent être effectuées sur des tables SQLuniquement.

� Vous ne pouvez pas utiliser de champs de type mémo, mémo formaté,OLE, graphique, binaire, octets ou BLOB dans les filtres.

� Les expressions récapitulatives (telles que NOMBRE>5) ne sont pasautorisées.

� Les parenthèses peuvent être utilisées pour imbriquer des conditions.

� La virgule fonctionne comme l�opérateur ET dans les conditions tellesque >200, <300. Cependant, l�opérateur ET doit être utilisé à la place dela virgule pour exprimer des conditions plus complexes telles que (>100ET <200) OU (>300 ET <500). La règle générale veut que vous utilisiezET lorsque la condition est incluse entre parenthèses.

� Les opérateurs COMME, EN et ENSEMBLE ne sont pas utilisés dans lesfiltres, mais les opérateurs CEJOUR et BLANC sont autorisés.

� Les opérateurs qui modifient les données ne fonctionnent pas dans lesfiltres.

� Les sélections ne sont pas utilisées dans les filtres et les enregistrementssont affichés comme si une SélectionPlus était définie sur chacun deschamps.

� Bien que les filtres ne puissent pas comporter plusieurs lignes comme lesrequêtes, l�utilisation du mot-clé OU revient à insérer des lignesmultiples.

110 Paradox 9 : Chapitre 3

� L�opérateur % (équivalent à mod) est pris en charge dans les filtres maispas dans les requêtes. Cet opérateur ne fonctionne que sur les tablesSQL.

� La priorité des opérateurs diffère légèrement dans les filtres et lesrequêtes.

Hormis les exceptions citées ci-dessus, les types d�expressions que vouspouvez utiliser dans les filtres sont les mêmes que ceux que vous utilisezdans les requêtes.

� Le filtrage d�une table vous donne une nouvelle vue de la table mais cetteopération ne crée pas une nouvelle table. À l�inverse, une requête créeune table Réponse que vous pouvez renommer et enregistrer.

Filtrage d�une tableLorsque vous créez une table, vous n�avez en général pas besoin de l�afficherdans son intégralité en permanence. Paradox vous permet de définir lesenregistrements que vous voulez visualiser. Vous pouvez afficher la tableentière dans un ordre différent en sélectionnant un ordre d�affichage basé surun index secondaire ou encore sélectionner des enregistrements spécifiquesen définissant un ou plusieurs champs. Vous pouvez ausi définir unefourchette de valeurs.

Pour filtrer l�affichage des données d�une table

1 Ouvrez une table.

2 Cliquez sur Format, Filtre.

3 Cochez la case Ordre suivant pour trier les enregistrements selon l�indexsélectionné.

4 Sélectionnez l�index en fonction duquel le filtre doit effectuer le tri desdonnées.

Un astérisque (*) précède l�index primaire. Si la table est indexée oucomporte des index secondaires, vous pouvez choisir l�index que Paradoxutilise pour trier les données.

5 Entrez les conditions se rapportant aux enregistrements que vous voulezafficher dans la case correspondant à chacun des champs répertoriés de lazone Filtres sur les champs.

Tables 111

Pour définir une fourchette de valeurs lors du filtrage desdonnées d�une table

1 Suivez les étapes 1 à 5 ci-dessus.

2 Dans la boîte de dialogue Filtre sur les tables, cliquez sur Étendue.

3 Dans la boîte de dialogue Définition de l�étendue de l�index, effectuezl�une des opérations suivantes :

� Pour indiquer une correspondance exacte, entrez la valeur que vousvoulez trouver dans la zone Valeurs du champ. Notez que vous pouvezuniquement filtrer les enregistrements en fonction des valeurs deschamps clés de l�index sélectionné à l�étape 3 ci-dessus.

� Pour indiquer une étendue de valeurs, cochez la case Définir l�étendue.

4 Entrez les valeurs de début et de fin de l�étendue (le cas échéant) dans lazone Valeurs du champ.

5 Cliquez sur OK.

Par exemple, l�étendue de filtre suivante affichera tous les enregistrementsdont le No de commande est compris entre 1000.00 et 1020.00 :

Pour supprimer le filtre sur une table

1 Ouvrez une table.

2 Cliquez sur Format, Filtre.

3 Dans la boîte de dialogue Filtre sur les tables, supprimez le texte de lacondition du filtre.

112 Paradox 9 : Chapitre 3

Filtrage par caractères spéciaux

Si vous utilisez des caractères spéciaux, vous devez faire précéder d�unebarre oblique inverse (\) le nombre ou la valeur littérale qui peut êtreinterprétée comme un opérateur (tel que � , /, \, -, +, =, etc.). Dans laméthode OPAL setgenfilter(), le critère de filtrage est mis dans une chaîneet analysé pour sélectionner les nombres et opérateurs à utiliser pour lescalculs. Pour être interprété littéralement, le nombre ou l�opérateur du filtredoit être précédé d�une barre oblique inverse (\).

Par exemple, pour filtrer une table contenant les enregistrements suivants :

� 1ère base,

� 1ère fois,

� 2ème base,

� 3ème base,

et retirer uniquement ceux qui commencent par 1ère, le filtre se présenteraitcomme suit :

filtre = \\1ère..

Une barre oblique pour le nombre et une deuxième barre oblique pourindiquer que la première n�est pas une séquence d�échappement.

� Vous pouvez uniquement indiquer une fourchette de valeurs basée sur leou les champs définis dans l�index primaire ou secondaire que vous avezsélectionné. Si vous choisissez un index composite, vous pouvez définirdes étendues pour plusieurs champs dans l�index. Pour plusd�informations, reportez-vous à la rubrique Définition d�étendues sur unindex composite à la page 116.

� Cochez la case Définir l�étendue de la boîte de dialogue Définition del�étendue de l�index pour filtrer une partie des valeurs des champsalphanumériques (enregistrements de clients dont le nom commence parA à J). Vous pouvez entrer A comme début de l�étendue et J comme fin del�étendue. Si vous cochez la case Définir l�étendue sans placer le pointd�insertion dans une zone de texte au préalable, Paradox sélectionneautomatiquement le dernier champ pour lequel vous avez indiqué unevaleur comme étant le champ pour lequel vous voulez définir l�étendue devaleurs.

Tables 113

� Lorsque vous filtrez une table, les données qu�elle contient ne sont pasperdues ; vous modifiez simplement l�affichage des données de la table.Lorsque vous supprimez la condition du filtre, Paradox affiche de nouveautous les enregistrements de la table.

Création et suppression d�un filtre sur un champTout comme vous filtrez certains enregistrements d�une table, vous pouvezfiltrer des champs individuels afin d�afficher uniquement les enregistrementscontenus dans ces champs. Une fois les données affichées, vous pouvezsupprimer le filtre.

Pour filtrer un champ

1 Cliquez avec le bouton droit de la souris sur le champ que vous voulezfiltrer dans une fenêtre Conception de table, de fiche ou d�état puis cliquezsur Filtre.

2 Dans la boîte de dialogue Filtre sur champ, entrez la valeur à afficher.

Paradox affiche uniquement les enregistrements pour lesquels le champsélectionné contient la valeur spécifiée.

Pour supprimer un filtre portant sur un seul champ

1 Cliquez avec le bouton droit de la souris sur le champ que vous voulezfiltrer dans une fenêtre Conception de table, de fiche ou d�état puis cliquezsur Filtre.

2 Supprimez le texte situé dans la boîte de dialogue Filtre sur champ.

Définition de conditions soit/soit dans les filtres de tablesVous pouvez utiliser les conditions soit/soit pour filtrer les données d�unetable. Supposons que vous vouliez visualiser les clients se trouvant enFloride et aux Bahamas. Si vous entrez Bahamas dans la zone Pays et FLdans la zone État/Prov, Paradox affiche touts les clients qui se trouvent à lafois en Floride et aux Bahamas (Ceci est équivalent à une requête ET). Étantdonné qu�aucun enregistrement ne répond à cette condition, Paradox n�inclusaucun enregistrement lorsqu�il affiche les enregistrements filtrés. Pourindiquer à Paradox que vous voulez afficher les clients se trouvant soit enFloride soit aux Bahamas, vous devez indiquer des conditions OU sur leschamps. Pour ce faire, vous pouvez faire référence à un champ à partir de lazone de texte d�un autre champ.

114 Paradox 9 : Chapitre 3

Pour définir des conditions soit/soit

1 Ouvrez une table.

2 Cliquez sur Format, Filtre.

3 Dans le champ approprié, entrez la condition soit/soit.

Ainsi, pour afficher les clients se trouvant soit en Floride soit auxBahamas, entrez FL ou Pays=Bahamas dans la zone de texte État/Prov.

� Lorsque vous faites référence à un nom de champ qui contient un espaceou des caractères spéciaux, tels que ceux répertoriés dans la rubriqueFiltrage des tables à la page 108, vous devez placer le nom du champ entredes crochets. Par exemple, la condition Ville = Venise ou [N° Client] =1560 est valide, mais la condition Ville = Venise ou N° Client = 1560 nel�est pas. De même, la condition [Vente%] < 20 est valide, mais lacondition Vente% < 20 ne l�est pas.

� Le choix de la zone de texte utilisée pour indiquer des conditions de filtren�est pas déterminant. Vous pouvez entrer Bahamas ou [État/Prov] = FLdans la zone Pays, mais aussi [État/Prov] = FL ou Pays = Bahamas dansla zone de texte Nom (ou toute autre zone de texte).

Affichage d�une table triée en fonction d�un index secondairePour afficher une table Paradox indexée dans un ordre autre que celui indiquépar l�index primaire, vous pouvez utiliser la commande Filtre pour accéder àla table et la trier d�après des index secondaires que vous avez définis pour latable.

Pour utiliser la commande Filtre afin d�effectuer un tri basé surun index secondaire

1 Ouvrez une table, une fiche ou un état.

2 Cliquez sur Format, Filtre.

3 Dans la boîte de dialogue Filtre sur les tables, cochez la case Ordresuivant.

4 Cliquez sur un index dans la liste située sous cette case.

Paradox crée une vue des données triées en fonction des valeurs del�index secondaire sélectionné.

Tables 115

Définition d�étendues sur un index compositeLorsque vous filtrez une table, vous pouvez uniquement spécifier unefourchette de valeurs basée sur les champs définis dans l�index primaire ousecondaire que vous avez sélectionné. Si vous sélectionnez un indexcomposite, vous pouvez définir des fourchettes pour plusieurs champs dansl�index. L�index composite détermine l�ordre des champs répertoriés dans laboîte de dialogue Définition de l�étendue de l�index (dans laquelle vousdéfinissez l�étendue des données que vous voulez afficher).

Lorsque vous définissez des étendues sur un index composite, vous devezsélectionner un seul jeu d�enregistrements continu sur l�index choisi. Il n�estpas nécessaire de définir une étendue pour chaque champ de l�index, maisvous ne pouvez pas omettre de champ.

Pour définir un jeu d�étendues sur un index composite

1 Ouvrez une table.

2 Cliquez sur Format, Filtre.

3 Sélectionnez l�index composite en fonction duquel vous voulez filtrer latable.

4 Cliquez sur le bouton Étendue.

5 Entrez la valeur dans le champ Valeurs de champ pour chacun deschamps. Ou, si vous voulez définir une étendue, respectez les règlessuivantes :

� Si votre index se compose de trois champs, vous pouvez définir uneétendue sur le premier champ, et pas sur le second ni le troisième ;

� Vous pouvez définir une étendue sur les premier et second champs, etpas sur le troisième ;

� Par contre, vous ne pouvez pas définir une étendue sur les premier ettroisième champs, en omettant le second.

� Vous ne pouvez pas définir une étendue en utilisant un index compositesur une table dBASE. Vous pouvez cependant utiliser un indexd�expression. Vous pouvez définir une correspondance exacte, unecorrespondance inexacte ou une étendue partielle sur un indexd�expression. Pour plus d�informations, reportez-vous à la rubriqueCréation d�un index d�expression dBASE dans la section Référence del�aide en ligne.

116 Paradox 9 : Chapitre 3

� Vous pouvez indiquer des correspondances exactes et descorrespondances d�étendues sur un même index composite, mais unecorrespondance d�étendue ne peut être utilisée que pour le dernier deschamps pour lesquels vous définissez une correspondance. Si l�on reprendl�exemple de l�index à trois champs, vous devez suivre les règlessuivantes :

� Vous pouvez définir une correspondance exacte sur les premier etsecond champs et une correspondance d�étendue sur le troisième.

� Vous pouvez définir une correspondance exacte sur le premier champ,une correspondance d�étendue sur le second et laisser le troisièmevide.

� Vous pouvez définir une correspondance d�étendue sur le premierchamp et ne pas définir de correspondance pour le second ou letroisième champ.

� Vous ne pouvez pas définir une correspondance d�étendue sur lepremier champ et une correspondance exacte sur le second ou letroisième champ.

Définition d�étendues ou de filtres sur une fiche immédiateSupposons que vous définissiez une étendue ou un filtre à partir de la fenêtreTable puis que vous créiez une fiche. Même si vous avez défini une étendueou un filtre différent à utiliser sur la fiche, Paradox utilise le paramètre de latable dans les deux fenêtres car la table a été ouverte la première.

De la même façon, si vous ouvrez d�abord une fiche, puis cliquez surAffichage, Vue table pour ouvrir une fenêtre Table, la table utilise leparamètre de la fiche. En effet, Paradox utilise le paramètre de la premièrefenêtre ouverte.

Pour enregistrer un paramètre de filtre ou d�étendue avec unefiche ou un état

1 La table étant ouverte, cliquez sur Outils, Conception immédiate, Ficheimmédiate (ou État immédiat).

2 Cliquez sur Enregistrement, Filtre.

3 Cliquez sur le bouton Étendue.

4 Cochez la case Définir l�étendue.

5 Entrez les valeurs appropriées pour l�étendue puis cliquez sur OK.

6 Cliquez sur OK.

Tables 117

7 Cliquez sur Affichage, Concevoir la fiche.

8 Cliquez sur Fichier, Enregistrer sous.

9 Entrez le nom de la fiche ou de l�état dans la zone correspondante, puiscliquez sur Enregistrer.

� Il n�est pas possible d�enregistrer un paramètre d�étendue dans une table.

Affichage de tables SQL indexées dans un ordre différentVous pouvez utiliser la commande Filtre pour trier une table SQL indexée, enutilisant l�un des index que vous avez définis pour cette table.

Pour afficher une table SQL indexée dans un ordre différent

1 Ouvrez une table, une fiche ou un état.

2 Cliquez sur Format, Filtre.

3 Dans la boîte de dialogue Filtre sur les tables, cochez la case Ordresuivant.

4 Cliquez sur un index dans la liste située sous cette case.

Paradox affiche alors les données de la table d�après les critères de tridéfinis dans l�index.

� Pour spécifier un ordre d�affichage respectant la casse, vous devez d�aborddéfinir l�index avec les spécifications souhaitées.

Tri des tablesLe tri des tables constitue une fonctionnalité importante des bases dedonnées. Paradox vous permet de trier les tables de nombreuses façons. Bienqu�un index primaire définisse le champ utilisé pour le tri, Paradox vouspermet de conserver cet index (à des fins de liaison) et d�effectuer le tri surun autre champ en l�insérant dans la zone de liste Ordre de tri.

Lorsque vous triez une table, Paradox affiche cette table selon les critères detri que vous avez spécifiés. Paradox ne peut pas effectuer de tri sur les typesde champs suivants :

� BLOB, DCB, logique ou octets, dans les tables Paradox,

� mémo, binaire, OLE et logique, dans les tables dBASE.

118 Paradox 9 : Chapitre 3

Ces champs sont affichés dans la zone de liste Champs, mais sont grisés etne peuvent être sélectionnés pour être placés dans la zone de liste Ordre detri.

Tri de tables indexées

Par définition, l�index détermine l�emplacement physique desenregistrements de la table. Si une table est indexée, Paradox vous permetde trier cette table de deux façons. La première consiste à créer un indexsecondaire maintenu qui affiche les enregistrements selon des critères de tridifférents, sans modifier l�emplacement physique des enregistrements dansla table. La seconde, qui modifie l�emplacement physique desenregistrements dans la table, consiste à trier la table indexée pour obtenirune nouvelle table non indexée, la table d�origine restant inchangée.

Tri de tables non indexées

Si une table n�est pas indexée, les enregistrements apparaissent dans la tabledans l�ordre dans lequel vous les avez saisis. Lorsque vous triez une tablenon indexée, vous modifiez l�emplacement des enregistrements dans la table.Vous pouvez trier une table non indexée dans cette même table, ou créer unenouvelle table triée, en conservant la table originale intacte. Dans les tablesdBASE, l�ordre par défaut des enregistrements est chronologique tandis quedans les tables Paradox, il dépend de la position à laquelle ils ont été saisis.

Tri sur un réseau

Lorsque vous triez une table dans un environnement multi-utilisateur,Paradox place automatiquement un verrou sur la table que vous triez. Lesautres utilisateurs ne peuvent alors modifier ni son contenu ni sa structure.Si un autre utilisateur a placé un verrou sur la table, vous ne pouvez pascommencer à la trier tant que cet utilisateur n�a pas fini de travailler sur latable. Lorsque vous triez une table dans une nouvelle table, Paradox placeautomatiquement un verrou sur cette table ainsi que sur la table d�originependant la durée du tri.

� Vous ne pouvez pas trier les tables SQL.

Tri d�une tableParadox trie une table en fonction des critères de tri que vous avez spécifiés.

Lorsque vous cochez la case Trier sur champs sélectionnés, Paradoxn�effectue un tri que sur les champs qui apparaissent dans la zone de listeOrdre de tri. Tous les champs de la table source sont inclus dans la table triée

Tables 119

résultante, mais le tri ne s�effectue pas au-delà des champs répertoriés dansla zone de liste Ordre de tri. Ainsi, si deux enregistrements ou plus ont desvaleurs identiques dans ces champs, Paradox ne peut pas trier cesenregistrements et il les place dans la table comme un groupe, mais non triésau sein de ce groupe.

Si cette option n�est pas activée, Paradox effectue d�abord le tri sur leschamps figurant dans la zone de liste Ordre de tri, puis si deuxenregistrements ou plus ont des valeurs identiques dans leurs champs triés,sur les champs restant de la zone de liste Champs (dans l�ordre dans lequelils apparaissent).

Pour trier une table

1 Ouvrez une table.

2 Cliquez sur Format, Trier.

3 Cliquez sur le premier champ sur lequel vous voulez effectuer le tri de latable dans la zone Champs.

4 Cliquez sur la flèche droite.

5 Cliquez sur le bouton Basculer pour sélectionner un ordre de tri croissant(+) ou décroissant (-).

6 Exécutez ensuite l�une des actions suivantes :

� Si la table est indexée, une clé est affichée dans la zone Table triée etl�option Même table est grisée. Entrez le nom de la nouvelle table dansla zone correspondante.

� Si la table n�est pas indexée, cochez la case Même table pour trier latable selon les nouveaux critères de tri, ou entrez le nom de la nouvelletable dans la zone Nouvelle table. Paradox crée alors une nouvelle tableselon les critères de tri sans modifier la table d�origine.

7 Cochez la case Trier sur champs sélectionnés si vous voulez que Paradoxn�effectue un tri que sur les champs répertoriés dans la zone de listeOrdre de tri.

8 Si vous voulez que Paradox affiche automatiquement la table triée, cochezla case Afficher la table triée.

120 Paradox 9 : Chapitre 3

� Il n�est pas nécessaire de placer tous les champs figurant dans la listeChamps dans la liste Ordre de tri. Paradox ajoute les champs que vous nemettez pas explicitement dans la liste Ordre de tri à la fin de cette listeavant d�effectuer le tri (sauf si vous activez l�option Trier sur les champssélectionnés). Paradox inclut tous les champs dans le résultat (que cerésultat soit la même table ou une nouvelle table).

� Si vous n�ajoutez aucun champ dans la zone de liste Ordre de tri, Paradoxtrie la table en utilisant l�ordre des champs de la zone de liste Champs. Sivous avez activé l�option Trier sur champs sélectionnés, vous devez placerau moins un champ dans la zone de liste Ordre de tri.

Tri d�une table RéponseVous pouvez trier les tables Réponse des requêtes.

Pour trier une table Réponse

1 Cliquez sur la fenêtre Requête pour l�activer.

2 Cliquez sur Requête, Propriétés.

3 Cliquez sur l�onglet Tri.

4 Utilisez le bouton fléché (vers la droite) pour déplacer les champs de lazone de liste Champs réponse vers la zone de liste Ordre de tri, dansl�ordre voulu pour le tri.

Lorsque vous exécutez la requête, la table Réponse est triée dans l�ordre quevous avez spécifié.

� Pour plus d�informations, reportez-vous à la rubrique Interrogation devotre base de données à la page 351.

Restructuration des tablesVous pouvez modifier tout aspect d�une table à n�importe quel moment.Avant de restructurer une table, assurez-vous qu�aucune fiche ni aucun étatutilisant la table dans leur modèle relationnel n�est ouvert. Si vous, ou toutautre utilisateur (dans un environnement multi-utilisateur) avez ouvert undocument de ce type, vous ne serez pas en mesure de restructurer la table.

Lors de la restructuration d�une table, vous pouvez :

� ajouter, supprimer ou renommer des champs,

Tables 121

� ajouter ou supprimer des champs clés,

� créer ou supprimer des contrôles de validité,

� créer ou modifier des relations d�intégrité référentielle,

� modifier le type des champs,

� reconstruire les tables endommagées,

� établir des index secondaires,

� ajouter ou supprimer des mots de passe,

� ajouter ou supprimer des références de table,

� visualiser les tables dépendantes.

Lorsque des champs sont supprimés d�une table lors de sa restructuration,tous les objets champs correspondants d�une fiche ou d�un état deviennentnon définis. Lorsque vous revenez à la fiche ou à l�état, vous pouveznéanmoins les redéfinir.

Restructuration sur un réseau

Lorsque vous restructurez une table en réseau ou avec plusieurs sessionsParadox ouvertes en même temps, Paradox place automatiquement unverrou sur la table. Ainsi, les autres utilisateurs sont dans l�impossibilitéd�accéder à la table durant la restructuration.

Si une autre application a commencé une opération utilisant la table que vousvoulez restructurer, vous devrez attendre que l�application ait fini d�utiliser latable avant de pouvoir effectuer la restructuration.

Avertissements durant la restructuration

Lorsque vous restructurez une table, vos modifications risquent d�entraînerune perte de données. Certaines modifications telles que la réduction de lataille des champs, la création de contrôles de validité ou la modification dutype des champs, peuvent rendre incorrectes des données existantes. Dansce cas, une boîte de dialogue Avertissement pour la restructuration s�affichelorsque vous quittez la boîte de dialogue Restructuration de la table.

Tables temporaires créées durant la restructuration

La restructuration entraîne parfois la création de tables temporaires, tellesque la table PROBLEME, dans laquelle Paradox place les enregistrementsincompatibles avec la nouvelle structure.

122 Paradox 9 : Chapitre 3

Paradox numérote ces tables temporaires en ordre consécutif (jusqu�à 99) etles enregistre dans votre répertoire privé. Par exemple, si vous procédez àdeux restructurations et que les deux opérations entraînent des pertes dedonnées, vous serez en présence de deux tables : PROBLEME etPROBLEME1.

Les tables temporaires sont supprimées en fin de session. Si vous voulezempêcher la suppression d�une table temporaire, vous devez la renommer.Toutes les tables temporaires se trouvent dans votre répertoire privé(:PRIV:).

Tables DOUBLONS.DB

Si vous ajoutez une clé primaire à une table qui n�était pas indexée aupréalable ou qui avait des clés différentes, vous risquez de provoquer desviolations de clé. Vous pouvez également réorganiser les champs de tellefaçon que les champs clés ne soient plus les premiers champs consécutifs dela table. Cela signifie que les données déjà saisies dans la table violent lesrègles établies par la clé.

Paradox supprime les enregistrements non conformes de votre table et lesplace dans une table temporaire, appelée DOUBLONS.DB, située dans votrerépertoire privé. Vous pouvez modifier les enregistrements figurant danscette table pour qu�ils soient conformes aux contraintes de la clé puis lesreplacer dans la table d�origine en sélectionnant Outils, Utilitaires, Ajouter.Pour plus d�informations sur l�ajout d�enregistrements, reportez-vous à lasection Ajout d�enregistrements à la page 153.

� Vous ne pouvez pas modifier le type d�une table. Par exemple, vous nepouvez pas transformer une table Paradox en table dBASE lors de larestructuration. Vous pouvez cliquer sur Outils, Utilitaires, Copier pourcopier une table d�un type vers une table d�un autre type. Pour plusd�informations, reportez-vous à la rubrique Copie des tables à la page 160.

� Si vous restructurez une table créée dans Paradox pour DOS de tellesorte que Paradox doive la convertir en table Paradox pour Windows, laboîte de dialogue Avertissement pour la restructuration vous prévient dela conversion et vous demande de la confirmer.

Tables 123

Création et suppression d�une clé dans une table existanteDans une base de données relationnelle, toute table liée à d�autres tablesrequiert une clé. Vous pouvez ajouter une clé à une table que vous avez déjàcréée, tout comme vous pouvez supprimer une clé existante.

Pour définir un champ d�une table existante comme champ clé

1 Ouvrez une table.

2 Cliquez sur Format, Restructurer la table.

3 Si le champ pour lequel vous voulez définir la clé n�est pas le premier de latable, cliquez dessus et faites-le glisser en haut de la description deschamps (utilisez la ligne en surbrillance pour vous aider à positionner lechamp). Dans le cas contraire, passez à l�étape 4.

4 Cliquez sur la colonne clé à gauche du champ pour lequel vous voulezdéfinir la clé. Une clé s�affiche dans la colonne.

Pour supprimer un index d�un champ ou d�un groupe de champs

1 Suivez les étapes 1 et 2 ci-dessus.

2 Cliquez sur l�icône de clé pour la supprimer.

� Si vous supprimez une clé, vous devez également supprimer tous lesindex secondaires ou les convertir en index non maintenus.

Ajout, suppression et modification de nom d�un champLorsque vous ajoutez, supprimez ou renommez les champs d�une tableexistante, vous modifiez les fiches, états ou requêtes qui lui sont associés.

Si vous modifiez le nom d�un champ dans une table existante et que ce nomde champ apparaisse sur des documents de conception associés, Paradox faitle rapprochement la prochaine fois que vous ouvrez un document deconception. Si le champ possède un libellé dans le document de conception,le libellé du champ ne prend pas le nouveau nom. Si des champs calculés dudocument de conception comportent le nom du champ d�origine, ils sontsupprimés du document de conception lorsque vous renommez le champ.

Pour ajouter un champ à une table

1 Ouvrez une table.

2 Cliquez sur Format, Restructurer la table.

124 Paradox 9 : Chapitre 3

3 Cliquez sur le No de colonne d�un champ existant pour mettre la ligne ensurbrillance.

4 Appuyez sur la touche INSÉRER pour insérer un nouveau champau-dessus du champ courant.

5 Entrez le nom du champ dans la colonne Nom de champ de la Descriptiondes champs.

6 Cliquez sur la colonne Type et sélectionnez un type de champ dans la zonede liste correspondante.

7 Entrez une taille appropriée pour le champ (si nécessaire) dans la colonneTaille.

Pour supprimer un champ

1 Suivez les étapes 1 et 2 ci-dessus.

2 Cliquez sur le champ à supprimer et appuyez sur CTRL + SUPPR.

3 Cliquez sur Enregistrer.

Lorsque vous supprimez un champ d�une table existante, le champ sedélie des fiches et des états précédemment créés. La suppression d�unchamp pouvant entraîner la perte de données, Paradox vous demande deconfirmer ou d�annuler l�opération.

4 Cliquez sur OK pour confirmer la suppression du champ ou sur Annulerpour abandonner l�opération.

Pour renommer un champ

1 Suivez les étapes 1 et 2 de la procédure à suivre Pour ajouter un champ àune table.

2 Cliquez deux fois sur la colonne du nom du champ que vous voulezrenommer et entrez le nouveau nom.

� Si vous ajoutez un nouveau champ pour lequel il existe un contrôle devalidité par défaut et que vous choisissiez d�appliquer ce contrôle devalidité sur les données existantes, Paradox crée le nouveau champ etplace la valeur par défaut dans chaque enregistrement de la table. Si vousdéfinissez un contrôle de validité par défaut sur un champ existant quicontient des données, Paradox ne remplace pas les données existantes parla nouvelle valeur par défaut.

� Paradox n�ajoute pas automatiquement ces champs aux fiches, états ourequêtes associés à la table, vous devez les ajouter explicitement.

Tables 125

Compactage d�une tableLe compactage d�une table Paradox permet de récupérer l�espace disquequ�occupaient les enregistrements supprimés. Le compactage d�une tabledBASE supprime de la table les enregistrements sélectionnés pour lasuppression. Vous pouvez supprimer définitivement ces enregistrements lorsde la restructuration de la table.

Pour compacter une table

1 Ouvrez une table.

2 Cliquez sur Format, Restructurer la table.

3 Cochez la case Compactage.

Restructuration et intégrité référentielleLors de la restructuration de la table parent d�une relation d�intégritéréférentielle, certaines opérations de restructuration risquent de vous êtreinterdites. Rappelez vous de la règle de base à respecter lors de larestructuration d�une table parent : vous ne pouvez effectuer aucuneopération pouvant entraîner la suppression des enregistrements de la table.Si vous supprimez des enregistrements de la table parent, vous risquez derendre orphelins les enregistrements de la table enfant. Cela va à l�encontredes règles de l�intégrité référentielle. À chaque enregistrement de la tableenfant doit correspondre un enregistrement correct dans la table parent.

Vous pouvez également restructurer les tables et définir l�intégritéréférentielle à l�aide du Concepteur de base de données visuel. Pour plusd�informations, reportez-vous à la rubrique Concepteur de base de donnéesvisuel à la page 96.

Respectez les règles suivantes lorsque vous restructurez des tablesliées par l�intégrité référentielle :

� Si vous modifiez la taille d�un champ de la table parent, vous devez choisirde tronquer les données qui ne respectent pas la nouvelle taille de champplutôt que de les enregistrer dans la table PROBLEME.

� Vous pouvez modifier le nom mais pas le type ni la taille des champs quifont partie de la définition de l�intégrité référentielle.

� Vous pouvez ajouter un contrôle de validité à n�importe quelle table maisvous ne devez pas l�appliquer aux données existantes. Utilisez la boîte dedialogue Avertissement pour la restructuration pour confirmer cetteopération. La seule exception à cette règle est la création d�un contrôle devalidité par défaut sur un nouveau champ de la table.

126 Paradox 9 : Chapitre 3

� Pour qu�une table parent puisse devenir l�enfant d�une autre table, cettetable et toutes ses tables enfant existantes doivent être vides. Ainsi, si latable COMMANDES.DB est la table parent de STOCK.DB,COMMANDES.DB ne peut pas devenir l�enfant de CLIENT.DB tant queles tables COMMANDES.DB et STOCK.DB ne sont pas toutes les deuxvides.

� Lorsque vous travaillez avec des tables contenant des données et quevous liez plus de deux tables par intégrité référentielle, vous devez établirle premier lien avec la table qui n�a pas de parent. Par exemple, pourdéfinir une intégrité référentielle entre les tables CLIENT.DB,COMMANDES.DB, LIGNES.DB, et STOCK.DB, vous devez :

� créer un lien de la table COMMANDES.DB vers CLIENT.DB,

� créer un lien de la table LIGNE.DB vers la table COMMANDES.DB,

� créer un lien de la table STOCK.DB vers la table LIGNE.DB.

� Pour créer une relation d�intégrité référentielle circulaire (dans laquelle laTable A fait référence à la Table B, laquelle fait référence à la Table C, quielle-même fait référence à la Table A), toutes les tables doivent être vides.

Affichage des tables dépendantesSi la table que vous restructurez est une table parent, vous ne serezpeut-être pas en mesure de manipuler certaines données liées à une tableenfant. La boîte de dialogue Restructuration de la table vous permet dedéterminer les tables qui dépendent de la table courante dans une relationd�intégrité référentielle.

Pour afficher les tables dépendantes d�une base de données

1 Ouvrez une table.

2 Cliquez sur Format, Restructurer la table.

3 Cliquez sur l�onglet Intégrité référentielle.

4 La zone Tables dépendantes répertorie toutes les tables dépendantes dela base de données.

Tables 127

� Vous pouvez également cliquer avec le bouton droit de la souris sur unlien dans le Concepteur de base de données visuel puis sélectionnerPropriétés du lien. La boîte de dialogue Propriétés du lien affiche lesChamps clés et les Champs enfant de la table parent, indiquant la tableparent dans la relation d�intégrité référentielle.

Changement de type de champVous pouvez convertir un type de champ à tout moment. Toutefois, si la tablecontient des données, certains formats de données risquent d�êtreincompatibles. Reportez-vous à la rubrique Types de champs compatiblesParadox dans la section Référence de l�aide en ligne pour savoir si lesdonnées existantes sont compatibles avec le nouveau type de champ.

Conversion en champ alphanumérique

Lorsque vous convertissez un champ d�un autre type en champalphanumérique, le résultat varie. Vous perdez le formatage et toutes lesautres définitions associés au type de champ initial.

Lors de la conversion d�un champ d�un autre type en champ alphanumérique,vous devez spécifier la taille du champ. Si certaines des données figurant déjàdans le champ comportent plus de caractères que la longueur nouvellementchoisie ne le permet, vous pouvez tronquer les données ou transférer cesenregistrements dans la table PROBLEME.

Si la conversion porte sur un champ date, numérique, entier court oumonétaire, vérifiez que les paramètres du Panneau de configuration deWindows correspondent à ceux de IDAPI.CFG.

Conversion en champ numérique, monétaire, entier court ou entierlong

Dans une table Paradox, vous pouvez convertir un champ de type monétaire,entier long, DCB, incrémentation automatique ou entier court en champnumérique .En fait, vous pouvez effectuer une conversion de l�un de cestypes de champs à l�autre sans perdre de données, sauf lorsqu�une valeur esttrop longue pour un champ court ou qu�elle comporte des décimales. Dans cecas, vous pouvez soit tronquer lesdites valeurs, soit les transférer dans latable temporaire PROBLEME.

Vous pouvez convertir un champ alphanumérique en champ numérique àcondition qu�il ne comporte aucune donnée incompatible avec un nombre. Sile champ contient des données incompatibles avec un champ numérique,vous pouvez, au choix :

� Transférer les enregistrements dans la table PROBLEME,

128 Paradox 9 : Chapitre 3

� Supprimer les données incompatibles puis effectuer la conversion,

� Insérez un nouveau champ et supprimez le champ d�origine (vous perdezalors toutes les données).

Conversion en champ à incrémentation automatique

Un champ numérique, entier court et entier long existant peut être convertien champ à incrémentation automatique sans perte de données uniquementsi le champ en question est l�index (clé) primaire mono-champ de la table. Eneffet, cela garantit que les données à convertir pour le champ àincrémentation automatique respectent les exigences requises, à savoir ellessont uniques et triées en ordre croissant.

Conversion en champ date

Vous pouvez convertir des champs de type alphanumérique et date/heure enchamps de type date. Toutes les données incorrectes seront inscrites dansune table PROBLEME. Si un enregistrement contient, dans ce champ, desdonnées qu�il est impossible d�interpréter comme une date, Paradoxsupprime l�enregistrement et le place dans la table temporaire PROBLEME.

Voici quelques chaînes alphanumériques pouvant ou ne pouvant pas êtreconverties :

Conversion possible Conversion impossible

11-Nov-18 Fête de l�armistice

1.01.2000 Jour de l�an, an 2000

13.06.80 29ème anniversaire d�Henri

7/04/1776 4 juillet 1776

25-Dec-1066 Jour de Noël, 1066

3/30/91 le 30 mars 1991

Si vous personnalisez le format de date à l�aide de l�Administrateur BDE, lesvaleurs des dates sont converties en fonction de vos choix.

Modification d�un type de champVous pouvez choisir d�insérer les données d�une table dans un champ de typedifférent, plus approprié aux données. Assurez-vous tout d�abord que le typede champ choisi est compatible avec le type de champ dans lequel figurentactuellement les données.

Tables 129

Pour modifier le type de champ

1 Ouvrez une table.

2 Cliquez sur Format, Restructurer la table.

3 Dans la page Description des champs, cliquez sur la colonne Type duchamp à modifier puis sélectionnez un type différent dans la liste quis�affiche.

� Si la modification entraîne une perte de données, vous êtes invité à laconfirmer. Si vous confirmez l�opération, les enregistrements dont lesdonnées n�ont pas pu être converties s�inscrivent dans une tabletemporaire PROBLEME.

� Vous pouvez modifier les enregistrements de la table PROBLEME desorte qu�ils respectent la nouvelle structure puis les réintégrer dans latable en sélectionnant Outils, Utilitaires, Ajouter. Pour plusd�informations, reportez-vous à la rubrique Ajout d�enregistrements à lapage 153.

� Pour plus d�informations, reportez-vous à la rubrique Types de champscompatibles Paradox dans la section Référence de l�aide en ligne.

Récupération des tablesMême lorsque vous prenez toutes vos précautions lors de la création de vostables, celles-ci peuvent malgré tout être endommagées ; ainsi, une panne decourant peut entraîner une perte de données. Paradox contient un utilitairede récupération des tables, mais selon la gravité des dommages, celui-ci peuts�avérer insuffisant. Il est recommandé de toujours effectuer des copies desauvegarde de vos données importantes.

Violations

Lors de la reconstruction d�une table, vous pouvez rencontrer des problèmeslorsque vous tentez d�enregistrer la table réparée. Certaines donnéespeuvent en effet ne pas respecter les contrôles de validité en vigueur ou desvaleurs dupliquées peuvent violer la clé de la table reconstruite.

Dans ce cas, Paradox procède comme suit :

� Si des enregistrements ne peuvent pas être enregistrés à cause deviolations de données, ils sont transférés dans l�une des tables auxiliairesrépertoriées sur la page Options de récupération.

� La table des doublons contient les enregistrements que Paradox ne peutpas enregistrer dans la table récupérée à cause de valeurs dupliquées dans

130 Paradox 9 : Chapitre 3

la clé de la table. Dans ce cas, la première occurrence est stockée dans latable récupérée et tous les doublons sont stockés dans la table desdoublons.

� Les enregistrements qui ne passent pas les contrôles de validité et toutesles autres violations de données sont stockés dans la table PROBLEME.Vous pouvez visualiser ces deux tables en sélectionnant Afficher les tablesd�erreurs sur la page Options de récupération.

� L�opération de récupération des tables ne s�applique qu�aux tables. Elle nepeut pas être effectuée sur d�autres objets, tels des fiches ou des états.

Récupération d�une tableVous pouvez réparer une table endommagée, par exemple, à la suite d�unepanne de courant ou du système. Avant d�entreprendre la récupération d�unetable, assurez-vous que toutes les fenêtres sont fermées sur le bureauParadox.

Les tables récupérées sont toujours converties au format sélectionné sur lapage Informations de Table.

Pour vérifier l�intégrité d�une table

1 Cliquez sur Outils, Récupération de table pour ouvrir la boîte de dialogueUtilitaire de récupération de table.

2 Dans la zone Nom de la table sélectionnée, entrez le nom de la table àréparer ou recherchez et sélectionnez celle-ci à l�aide du bouton Parcourir.

Si l�en-tête de la table n�est pas endommagé, ses informationsapparaissent.

3 Sélectionnez Vérifier. Si des erreurs sont détectées, un message del�utilitaire de récupération de table vous invite à indiquer si vous voulezles afficher ou non. Si oui, il affiche la table des erreurs de récupération.

Si des erreurs sont trouvées, vous pouvez sélectionner Reconstruire pourreconstruire la table.

Pour reconstruire une table

1 Suivez les étapes 1 et 2 ci-dessus.

Si l�en-tête de la table est endommagé, cliquez sur Modifier et entrez lastructure de la table (ou choisissez Reprendre pour copier la structured�une table intacte).

Tables 131

2 Entrez les informations se rapportant au format du fichier et à la taille desblocs (si elles ne s�affichent pas automatiquement).

Vous pouvez modifier les valeurs affichées ici, si nécessaire.

3 Cliquez sur l�onglet Options de récupération et modifiez le nom de lacopie de sauvegarde de la table, si nécessaire.

Par défaut, l�utilitaire de récupération nomme la copie de sauvegarde de latable « Copie de » suivi du nom de la table d�origine. Si la table estprotégée par un mot de passe, indiquez ce mot de passe.

4 Cliquez sur le bouton Reconstruire.

� Si vous rencontrez des problèmes au moment de l�enregistrement de lanouvelle table, ceci peut être dû à des contrôles de validité ou à desviolations de clé.

Modification de l�aspect des tablesLa vue par défaut d�une table correspond à son apparence initiale lorsquevous l�ouvrez. Cette vue par défaut dépend d�un certain nombre de facteurs :les couleurs de votre écran Windows, les propriétés du bureau que vous avezdéfinies à l�aide des options Édition, Préférences et la structure de la table.Paradox vous permet néanmoins de modifier l�aspect de la table et deparamétrer l�affichage des données.

Vous pouvez modifier directement :

� l�ordre des colonnes,

� la largeur des colonnes,

� la hauteur des titres,

� l�espacement entre les enregistrements (la hauteur des lignes),

� le positionnement d�un arrêt du défilement sur une colonne.

En paramétrant les propriétés d�un champ, vous pouvez également modifier :

� l�alignement du texte et des données,

� la couleur des données ou de l�arrière-plan,

� la police des données et des titres,

� la couleur et le style du quadrillage de la table et du marqueurd�enregistrement,

� la couleur et autres propriétés de fourchettes de données spécifiques.

132 Paradox 9 : Chapitre 3

Les propriétés d�un champ varient en fonction du type de données qu�ilcontient. Par exemple, les propriétés d�un champ alphanumérique sontdifférentes de celles d�un champ numérique, ces dernières étant à leur tourdifférentes de celles d�un champ de date. La modification des propriétés d�unchamp ne modifie pas les données, ni la façon dont elles sont stockées.

Réorganisation des champs, colonnes et lignesVous pouvez redimensionner et déplacer des champs, colonnes et lignes encliquant sur ceux-ci et en les faisant glisser à l�aide de la souris.

Le pointeur de la souris change de forme lorsqu�il se trouve sur des élémentsde la table pouvant être déplacés ou redimensionnés.

Pointeur et propriété Manipulation

Hauteur du titre Faites glisser la ligne située au-dessus du premier numérod�enregistrement, vers le haut ou vers le bas.

Hauteur de la ligne Faites glisser la ligne située en dessous du premier numérod�enregistrement dans la fenêtre, vers le haut ou vers le bas.

Arrêt du défilement Faites glisser l�icône en forme de flèche à deux têtes affichée en bas, àhorizontal gauche de la fenêtre Table, vers la droite.

Largeur de la colonne Faites glisser le haut de la ligne de quadrillage à droite de la colonne versla gauche ou la droite.

Ordre des colonnes Faites glisser le titre de la colonne vers un nouvel emplacement.

Réorganisation des champsVous pouvez réorganiser l�ordre des champs d�une table à partir de la boîte dedialogue Restructuration de la table. Ainsi, vous pouvez placer un champ :

� entre les champs existants,

� au-dessus du premier champ,

� au-dessous du dernier champ.

Pour modifier l�ordre des champs

1 Ouvrez une table.

2 Cliquez sur Format, Restructurer.

Tables 133

3 Dans la page Description des champs, cliquez sur le numéro du champ quevous voulez déplacer.

4 Faites glisser le champ vers un nouvel emplacement puis relâchez lebouton de la souris.

� Lorsque vous visualisez les données de votre table dans un autre format(par exemple, une fiche ou un état), les paramètres de propriétés que vousavez choisis dans la fenêtre Table ne sont pas appliqués. Vous pouvezpersonnaliser la fiche ou l�état de manière individuelle pour obtenirl�apparence souhaitée.

� Vous ne pouvez pas déplacer les champs lorsque ce déplacement provoqueune violation des champs clés. Par exemple, un champ défini commechamp clé doit demeurer le premier champ de la table.

Déplacement, redimensionnement et rotation des colonnesVous pouvez déplacer, redimensionner ou effectuer une rotation des colonnesde n�importe quelle table ouverte.

Pour déplacer une colonne

� Cliquez sur le titre de la colonne et faites-la glisser vers sa nouvelleposition.

Pour redimensionner une colonne

� Cliquez sur la ligne de quadrillage à droite de la colonne et faites-la glisservers la droite ou la gauche pour augmenter ou réduire la largeur de lacolonne, respectivement.

Pour effectuer une rotation des colonnes

� Cliquez sur un enregistrement dans la colonne à déplacer et appuyez surles touches CTRL + R.

Paradox place la colonne en dernière position à l�extrémité droite de latable et décale toutes les autres colonnes d�une position vers la gauche.

Redimensionnement des lignesVous pouvez redimensionner les lignes d�une table en fonction de la quantitéd�informations affichées dans les champs. Cette option est utile si vousvoulez afficher une plus grande partie d�un champ mémo ou graphique enVue table.

134 Paradox 9 : Chapitre 3

Pour changer la hauteur des lignes d�une table

� Cliquez sur la ligne de quadrillage en dessous d�un enregistrement etfaites-la glisser vers le haut ou le bas.

Toutes les lignes sont redimensionnées pour coïncider avec la hauteur deligne que vous avez définie.

Modification des propriétés d�une tableParadox vous permet de modifier la présentation des tables en remplaçant lesattributs standard de champs individuels par des propriétés spécifiques.

Paradox vous permet de modifier les propriétés suivantes :

� Couleur : de l�arrière-plan d�une table, de cellules individuelles, des lignesdu quadrillage et du texte,

� Alignement : des données d�une colonne et du texte d�un titre de colonne,

� Texte : de la police écran du titre ou des données,

� Quadrillage : permet de modifier les paramètres par défaut de la grille :arrière-plan, lignes de quadrillage et marqueur d�enregistrement courant.La grille est constituée d�un ensemble de lignes qui apparaissent entre lescolonnes de la table (et, de manière facultative, entre les lignes). Lemarqueur d�enregistrement est la ligne horizontale qui apparaît sousl�enregistrement courant.

Vous pouvez également modifier les propriétés de toutes les données d�unchamp répondant à certaines conditions. Supposons que dans le champ Qtéde la table exemple LIGNE.DB, vous vouliez afficher toutes les quantitésinférieures à cinq sur un fond blanc. Pour cela, vous pouvez utiliser lapropriété Dépendant des données et spécifier une fourchette supérieure,égale ou inférieure à une valeur donnée. Vous pouvez également combinerplusieurs fourchettes et définir des propriétés distinctes pour chaquefourchette de valeurs.

Tables 135

Les types de champs alphanumérique, numérique, court, entier court, date,heure, date/heure, logique, incrémentation automatique et monétaire (ainsique les types de champs caractère dBASE, numérique, numérique flottant,date et logique) disposent tous de la propriété Dépendant des données quevous pouvez utiliser pour établir une fourchette de valeurs pour lesquellesl�affichage du champ sera différent.

� Pour accéder à la boîte de dialogue Propriétés, cliquez avec le bouton droitde la souris sur l�objet que vous voulez modifier. Si vous voulez modifierles propriétés de tous les champs, maintenez la touche MAJ enfoncéetandis que vous cliquez avec le bouton droit de la souris sur un champ,puis sélectionnez Propriétés. Pour modifier les propriétés de tous lestitres de colonnes, maintenez la touche MAJ enfoncée tandis que vouscliquez sur un titre, puis sélectionnez Propriétés.

� Vous pouvez modifier de nombreuses propriétés de la table dans la fenêtreTable. Cependant, certaines propriétés peuvent uniquement êtremodifiées dans un modèle relationnel. Pour plus d�informations,reportez-vous à la rubrique Affichage des propriétés d�une table dans laboîte de dialogue Modèle relationnel à la page 209.

Création de nouvelles propriétés de table par défautSupposons que vous souhaitiez généralement afficher les champsnumériques au format Général, ou les champs de date alignés à gauche ouencore le texte en bleu. Paradox vous permet de définir des propriétés pardéfaut pour chaque type de champ, et de les enregistrer dans un fichier pardéfaut dénommé DEFAUT.TV (Paradox) ou DEFAUT.TVF (dBASE).

Vous pouvez créer un fichier de propriétés par défaut en créant une nouvelletable ou en copiant une table existante personnalisée avec les paramètresque vous voulez utiliser comme paramètres par défaut.

Pour créer des propriétés par défaut dans une nouvelle table

1 Créez une nouvelle table comportant chacun des types de champsdisponibles dans votre répertoire privé et enregistrez-la sous le nomDEFAUT.DB.

2 Cliquez sur Fichier, Ouvrir, Table.

3 Cliquez deux fois sur la table DEFAUT.DB dans la liste de tables affichée.

4 Appuyez sur F9 pour passer en mode Édition.

5 Cliquez avec le bouton droit de la souris sur chacun des champs afin dedéfinir les propriétés de chaque type de champ.

136 Paradox 9 : Chapitre 3

6 Cliquez sur Format, Propriétés, Enregistrer pour enregistrer lesparamètres de propriétés dans le fichier DEFAUT.TV.

Lorsque vous travaillez sur une table qui ne dispose pas de son proprefichier .TV, Paradox lui applique les paramètres du fichier DEFAUT.TV. Lefichier .TV appartenant à une table donnée a priorité sur les paramètresdu fichier DEFAUT.TV.

Pour créer des propriétés par défaut en copiant les paramètresd�une table

1 Personnalisez une table en lui affectant les paramètres de propriétés pardéfaut voulus.

2 Cliquez sur Format, Propriétés, Enregistrer pour enregistrer lesparamètres par défaut.

3 Copiez la table dans le fichier DEFAUT.DB dans votre répertoire privé.

Paradox copie le fichier .TV de la table ainsi que le fichier .DB, et utilisece fichier .TV pour les paramètres de propriétés par défaut.

� Pour plus d�informations, reportez-vous à la rubrique Création de tables àla page 64.

Pensez à vous servir de l�utilitaire de copie Paradox lorsque vous copiezdes tables. Pour plus d�informations, reportez-vous à la rubrique Copiedes tables à la page 160.

� Si votre espace disque est limité, vous pouvez, à l�aide de l�ExplorateurWindows, effacer le fichier DEFAUT.DB et tous les autres fichiersDEFAUT (par exemple, les fichiers .PX et .VAL) copiés avec la table. Leseul fichier dont vous avez besoin est DEFAUT.TV.

Enregistrement, restauration et suppression des propriétés d�unetable

Le fait d�enregistrer les propriétés de table enregistre l�apparence de la tableune fois que vous l�avez modifiée. Paradox enregistre les propriétés que vousdéfinissez dans un fichier doté de l�extension .TV (les propriétés des tablesdBASE sont enregistrées dans un fichier .TVF). Par exemple, les propriétésque vous définissez pour la table CLIENT.DB sont enregistrées dans lefichier CLIENT.TV. Si vous essayez de fermer une fenêtre Table sansenregistrer les modifications de propriétés, Paradox vous invite à lesenregistrer.

Tables 137

Si vous modifiez les propriétés d�une table puis décidez de ne pas conservervos modifications, vous pouvez restaurer les anciens paramètres.

Lorsque vous supprimez le fichier de propriétés (.TV ou .TVF) appartenant àune table, Paradox utilise les paramètres de propriétés par défaut.

Pour enregistrer les propriétés d�une table

� Cliquez sur Format, Propriétés, Enregistrer pour enregistrer toutes lesmodifications de propriétés que vous avez effectuées dans une fenêtreTable, y compris les modifications de propriétés apportées à des champsindividuels.

Pour restaurer les propriétés d�une table

� Cliquez sur Format, Propriétés, Restaurer.

Paradox rétablit toutes les propriétés en vigueur lors de l�ouverture (ou dela dernière sauvegarde) des propriétés de la table.

Pour supprimer les propriétés d�une table

� Cliquez sur Format, Propriétés, Supprimer.

Modification des propriétés de la grille et du marqueurd�enregistrement

En utilisant la boîte de dialogue Propriétés de la grille, vous pouvez modifierla couleur et le style des lignes ainsi que l�espacement entre les lignes duquadrillage d�une table. Vous pouvez également choisir de masquer oud�afficher les lignes de quadrillage du titre, des colonnes (verticales) et deslignes (horizontales). Par défaut, Paradox n�affiche pas ces lignes dequadrillage.

Le marqueur d�enregistrement courant est une ligne horizontale qui apparaîtsous l�enregistrement courant d�une table. Par défaut, il n�est pas affiché.

Pour formater les lignes de quadrillage

1 Cliquez sur Format, Propriétés, Grille.

2 Cliquez sur l�onglet Quadrillage.

3 Activez ou désactivez l�une des cases suivantes :

� Lignes de titre : pour afficher ou masquer la ligne de quadrillageau-dessous du titre de la table,

� Lignes verticales : pour afficher ou masquer les lignes de quadrillageentre les colonnes de la table,

138 Paradox 9 : Chapitre 3

� Lignes horizontales : pour afficher ou masquer les lignes de quadrillageentre les lignes de la table.

4 Pour modifier la couleur des lignes de quadrillage, cliquez sur une couleurde la palette.

5 Pour modifier le style des lignes, cliquez sur un style de ligne différentdans la zone Style de ligne.

6 Pour modifier l�interligne des lignes de quadrillage, cliquez sur une optiond�interligne dans la zone Interligne.

7 Cochez la case Aspect requête pour placer la ligne de titre derrière letexte, en non au-dessous de celui-ci.

8 Cliquez sur Appliquer.

Pour formater le marqueur d�enregistrement courant

1 Cliquez sur Format, Propriétés, Grille.

2 Cliquez sur l�onglet Marqueur d�enregistrement.

3 Activez ou désactivez la case à cocher Afficher marqueur selon que vousvoulez afficher ou masquer le marqueur de l�enregistrement courant.

4 Pour modifier la couleur de la ligne, cliquez sur une couleur de la paletteCouleur de ligne.

5 Pour modifier le style de la ligne, choisissez un style dans la zone Style deligne.

6 Cliquez sur Appliquer.

Pour modifier la couleur d�arrière-plan de la grille

1 Cliquez sur Format, Propriétés, Grille.

2 Sur la page Général de la boîte de dialogue Propriétés de la grille, cliquezsur une couleur de la palette.

3 Cliquez sur le bouton Appliquer.

Pour savoir comment créer une couleur personnalisée, reportez-vous à larubrique Modification des couleurs d�arrière-plan à la page 140.

Tables 139

� Vous ne pouvez pas définir des propriétés distinctes pour le titre, lescolonnes ou les lignes. Les paramètres s�appliquent à toutes les lignes dequadrillage. Pour modifier l�apparence de votre table, faites plusieursessais en affichant ou en masquant différentes lignes du quadrillage unefois que vous avez défini les propriétés de la grille.

� Si vous définissez l�espacement des lignes de quadrillage sur Aucun, vousne verrez pas les lignes de quadrillage.

Modification des couleurs d�arrière-planVous pouvez modifier la couleur de l�arrière-plan de n�importe quel champd�une table. Vous pouvez également créer des couleurs personnalisées.

Par exemple, vous pouvez sélectionner un arrière-plan bleu pour une cellulelorsque sa valeur est supérieure à 50 mais inférieure ou égale à 100 et unarrière-plan rouge lorsqu�elle est supérieure à 100.

Pour modifier la couleur d�arrière-plan d�un champ

1 Cliquez avec le bouton droit de la souris sur le champ à modifier puiscliquez sur Propriétés.

2 Sur la page Général, cliquez sur la nouvelle couleur souhaitée pourl�arrière-plan dans la palette.

3 Cliquez sur le bouton Appliquer.

Pour créer une couleur personnalisée

1 Sur la page Général, cliquez sur l�une des cellules situées dans la colonnede droite de la palette.

2 Cliquez sur le bouton Ajouter une couleur.

3 Dans la boîte de dialogue Personnalisation des couleurs, activez le boutoncorrespondant au modèle de couleurs souhaité.

4 Déplacez la réglette ou entrez les valeurs requises pour obtenir la couleurvoulue.

5 Cliquez sur OK pour revenir à la boîte de dialogue Propriétés.

6 Cliquez sur le bouton Appliquer.

140 Paradox 9 : Chapitre 3

� Vous pouvez modifier la couleur d�arrière-plan de toutes les colonnessimultanément en appuyant sur les touches MAJ+F6. Cliquez sur lacouleur voulue puis sur Appliquer. La couleur est appliquée à toutes lescolonnes.

Définition et personnalisation de fourchettes de champs spécifiquesSupposons que vous ayez créé une table recensant toutes les personnesayant versé des dons à une �uvre de charité. Vous voulez pouvoir identifierrapidement les dons inférieurs à 100 FF, ceux compris entre 100 FF et500 FF et ceux supérieurs à 500 FF. Pour ce faire, Paradox vous permet dedéfinir des fourchettes de champs puis de leur appliquer des couleurspersonnalisées.

Pour définir une fourchette dépendante des données pour unchamp

1 Cliquez avec le bouton droit de la souris sur un champ puis cliquez surDépendant des données.

2 Dans la boîte de dialogue Propriétés liées aux données, cliquez surNouvelle fourchette.

3 Dans la zone La fourchette inclut les valeurs, procédez de l�une desmanières suivantes :

� Entrez la valeur la plus basse de la fourchette et sélectionnez unopérateur de comparaison,

� Entrez la valeur la plus élevée de la fourchette et sélectionnez unopérateur de comparaison.

Vous pouvez également définir les propriétés de cette fourchette devaleurs.

4 Cliquez sur Définir propriétés dans la boîte de dialogue Propriétés liéesaux données.

5 Dans la boîte de dialogue Propriétés, définissez la couleur de l�arrière-planet la police, le style, les effets, la taille et la couleur du texte pour cettefourchette de valeurs.

6 Cliquez sur OK pour revenir à la boîte de dialogue Propriétés liées auxdonnées.

La zone Exemple affiche un exemple de la couleur de l�arrière-plan et dela police que vous avez choisies pour cette étendue de valeurs.

7 Cliquez sur Appliquer les modifications.

Tables 141

8 Répétez les étapes 2 à 8 pour définir les propriétés d�autres fourchettes devaleurs.

Paradox modifie l�apparence des cellules faisant partie de la fourchette devaleurs indiquée.

Pour supprimer une fourchette de valeurs dépendantes desdonnées

1 Cliquez avec le bouton droit de la souris sur un champ puis cliquez surDépendant des données.

2 Dans la boîte de dialogue Propriétés liées aux données, sélectionnez lafourchette à supprimer.

3 Cliquez sur Retirer.

� Les propriétés d�une fourchette liée aux données ont priorité sur cellesque vous avez pu définir pour une colonne. Ainsi, si vous avez choisi unarrière-plan bleu pour une colonne, tous les enregistrements faisant partied�une fourchette liée aux données que vous avez définie ne sont pasaffectés. Ces enregistrements continuent d�utiliser la couleurd�arrière-plan définie pour la fourchette, plutôt que celle définie pour lacolonne.

Modification de la police système par défautParadox utilise toujours la police système par défaut pour le texte denouvelles tables et de nouveaux documents de conception. Elle peuttoutefois être modifiée à tout moment. Lorsque vous modifiez la policesystème par défaut, le texte de toutes les tables adopte la nouvelle policesauf dans les champs mémo formatés existants et dans les tables danslesquelles vous avez déjà personnalisé la police.

Fonctionnement de la police système par défaut dans les fiches etles états

Les paramètres de la feuille de style d�une fiche ou d�un état ont toujourspriorité sur la police système par défaut. Cependant, si la feuille de style nespécifie pas de police pour un objet de conception donné, Paradox utilise lapolice système par défaut pour les nouveaux objets de ce type que vouscréez. Ainsi, si vous créez un nouvel objet champ et que la feuille de style nespécifie aucune police pour la zone d�édition, Paradox utilise la policesystème par défaut pour le texte de la zone d�édition lorsque vous exécutezla fiche ou l�état.

142 Paradox 9 : Chapitre 3

Pour modifier la police système par défaut

1 Cliquez sur Outils, Paramètres, Préférences.

2 Dans la zone Police système par défaut de la page Général de la boîte dedialogue Préférences, cliquez sur le bouton Changer.

3 Choisissez une autre police dans la boîte de dialogue Modification de lapolice puis cliquez sur OK.

4 Quittez puis relancez Paradox.

� Si vous voulez que Paradox utilise la police système par défaut pour toutle texte d�une table existante, sélectionnez Format, Propriétés, Supprimer.Paradox supprime également toutes les propriétés d�affichagepersonnalisées que vous avez définies.

Formatage du texteVous pouvez définir la police, le style, la taille et la couleur du texte d�un titrede colonne ou d�un champ dans une table. Vous pouvez également créer etutiliser des couleurs personnalisées.

Pour formater le texte d�une table

1 Ouvrez une table.

2 Cliquez avec le bouton droit de la souris sur le titre ou le champ dont vousvoulez formater le texte puis cliquez sur Propriétés.

3 Dans la boîte de dialogue Propriétés, cliquez sur l�onglet Police.

4 Sélectionnez la police, le style, la taille, le script, les effets et la couleurvoulus.

5 Cliquez sur le bouton Appliquer.

Pour créer une couleur personnalisée

1 Suivez les étapes 1 et 2 ci-dessus.

2 Dans la boîte de dialogue Propriétés, cliquez sur l�onglet Général.

3 Cliquez sur une des cellules situées dans la colonne de droite de la paletteCouleur.

4 Cliquez sur le bouton Ajouter une couleur.

5 Activez l�une des cases à cocher suivantes :

Tables 143

� RVB : permet de modifier la quantité de rouge, de vert et de bleu dansvotre couleur personnalisée,

� NSB : permet de modifier la nuance, la saturation et la valeur de lanouvelle couleur,

� CMJ : permet de modifier la quantité de cyan, de magenta et de jaunedans la nouvelle couleur.

6 Créez la couleur en vous servant des réglettes et des zones de valeur.

7 Répétez les étapes 5 et 6 jusqu�à ce que vous obteniez la couleur voulue.

8 Cliquez sur OK.

Modification d�un champ mémo formatéLorsque vous avez entré du texte dans un champ de type mémo formaté,vous voudrez peut-être modifier certaines propriétés du formatage.

Pour formater le texte d�un champ mémo formaté

1 Cliquez sur un enregistrement du champ avec le bouton droit de la souriset sélectionnez Propriétés.

2 Cliquez sur l�onglet Police.

3 Modifiez la police, le style, la taille et la couleur du texte à votreconvenance.

4 Cliquez sur le bouton Appliquer pour voir l�effet de vos modifications sansfermer la boîte de dialogue Propriétés.

Alignement du texte d�un champ mémo formaté

Pour aligner le texte d�un champ mémo formaté

1 Ouvrez une table.

2 Cliquez deux fois sur le champ mémo formaté pour afficher le texte dumémo.

3 Appuyez sur F9 pour passer en mode Édition.

4 Sélectionnez le texte ou les paragraphes que vous voulez aligner, cliquezle bouton droit de la souris puis sélectionnez Propriétés.

5 Cliquez sur l�onglet Texte.

6 Activez l�un des boutons suivants :

� Gauche pour aligner le texte sur le bord gauche de la fenêtre,

144 Paradox 9 : Chapitre 3

� Centré pour centrer le texte,

� Droite pour aligner le texte sur le bord droit de la fenêtre,

� Justifié pour aligner le texte sur les bords droit et gauche de la fenêtre.

7 Activez le bouton correspondant à l�interligne souhaité.

8 Cliquez sur le bouton Appliquer.

� Les modifications d�alignement des champs mémo formatés ne sontappliquées qu�aux mémos individuels. En outre, tout paragraphe que voussélectionnez peut avoir ses propres paramètres d�alignement.

Modification de l�alignement des données ou d�un titreL�alignement se rapporte au positionnement des données d�un champ ou dutexte d�un titre. Le texte et les données peuvent être alignéshorizontalement sur la droite, au centre, ou sur la gauche d�une colonne (voirillustration) ou verticalement en haut, au centre ou au bas d�une ligne. Enoutre, vous pouvez les aligner verticalement, par rapport au haut, au milieuou au bas d�une ligne.

Pour modifier l�alignement du texte d�un titre ou des donnéesd�une colonne

1 Cliquez avec le bouton droit de la souris sur le champ à aligner puiscliquez sur Propriétés.

2 Cliquez sur l�onglet Alignement.

3 Activez l�un des boutons suivants :

� Gauche pour aligner les données sur le bord gauche de la colonne,

� Centré pour centrer les données horizontalement dans la colonne,

� Droite pour aligner les données sur le bord droit de la colonne.

4 Activez l�un des boutons suivants :

Tables 145

� Haut pour aligner les données sur le bord supérieur de la ligne,

� Milieu pour centrer les données verticalement sur la ligne,

� Bas pour aligner les données sur le bord inférieur de la ligne.

Pour aligner le texte d�un champ mémo formaté

1 Ouvrez une table.

2 Cliquez sur le champ du mémo formaté à aligner.

3 Cliquez deux fois sur le champ mémo formaté pour afficher le texte dumémo.

4 Appuyez sur F9 pour passer en mode Édition.

5 Sélectionnez le texte ou les paragraphes à aligner, cliquez le bouton droitde la souris puis sélectionnez Propriétés.

6 Cliquez sur l�onglet Texte.

7 Activez l�un des boutons suivants :

� Gauche pour aligner le texte sur le bord gauche de la fenêtre,

� Centré pour centrer le texte,

� Droite pour aligner le texte sur le bord droit de la fenêtre,

� Justifié pour aligner le texte sur les bords droit et gauche de la fenêtre.

8 Activez le bouton correspondant à l�interligne souhaité.

9 Cliquez sur le bouton Appliquer.

� Les modifications d�alignement des champs mémo formatés ne sontappliquées qu�aux mémos individuels. En outre, tout paragraphe que voussélectionnez peut avoir ses propres paramètres d�alignement.

Formats de donnéesLes paramètres régionaux du Panneau de configuration de Windows vouspermettent de spécifier votre langue de travail et de définir l�affichage desnombres, des valeurs monétaires, de l�heure et de la date dans vosapplications Windows. Ces paramètres sont adoptés par Paradox. Ilsdeviennent le format de données prédéfini utilisé par votre base de données,contrôlant l�affichage des données de vos tables, fiches et états.

146 Paradox 9 : Chapitre 3

Paradox fournit quelques formats de données standard mais vous pouvezaussi définir des formats personnalisés pour les champs de type numérique,monétaire, date, heure, date/heure et logique de vos tables. Lorsque vousdéfinissez un format de données personnalisé, celui-ci affecte uniquementl�affichage du type de données ; il n�affecte ni les données elles-mêmes ni lafaçon dont Paradox les stocke.

Ainsi, vous voudrez peut-être que vos nombres comportent plusieursdécimales ou que les nombres négatifs soient précédés du signe moins. Sivous traitez avec une compagnie étrangère, vous devrez peut-être changer lesymbole monétaire utilisé. De la même façon, vous pouvez afficher la datesous le format année/mois/jour plutôt que mois/jour/année, ou encore l�écrireen toutes lettres.

Paradox fournit des formats prédéfinis pour les types de champs suivants :

� monétaire

� numérique

� date

� heure

� date/heure

� logique

� Les formats peuvent également être spécifiés dans l�Administrateur BDE.

Formats monétaires et numériques prédéfinisLes différents formats prédéfinis pour les champs numériques ou monétairessont les suivants :

Format Description

Win. Monnaie Utilise le symbole et le format monétaire que vous avez définis dans le Panneau deconfiguration de Windows.

Win. Numérique Format par défaut utilisé dans les champs numériques Paradox. Il s�agit du formatspécifié dans le Panneau de configuration.

Virgule US Affiche les valeurs numériques avec deux chiffres après la virgule. Les zéros à droite sontaffichés. Les séparateurs de milliers ne sont pas utilisés. Les nombres négatifs sontprécédés d�un signe moins (-).

Tables 147

Scientifique Affiche les valeurs numériques en notation exponentielle (avec quatre chiffres après lavirgule), sous la forme d�un nombre de 1 à 10 à la puissance 10. Les nombres négatifssont précédés d�un signe moins (-). Tous les formats numériques utilisent la notationscientifique pour afficher les nombres trop grands pour rentrer dans les champs. Leformat Scientifique utilise toujours la notation scientifique.

Général Affiche les valeurs numériques avec jusqu�à deux chiffres après la virgule si ellescomprennent une valeur décimale. Les zéros à droite et les séparateurs de milliers nesont pas affichés. Les nombres négatifs sont précédés d�un signe moins (-).

Numérique Affiche les valeurs numériques avec deux chiffres après la virgule. Les zéros à droite sontaffichés. Les séparateurs de milliers sont utilisés et affichés sous la forme d�un point. Lesnombres négatifs sont affichés entre parenthèses.

Pourcentage Affiche les nombres suivis d�un signe de pourcentage (%). Par exemple, la valeur 0,5 estaffichée sous la forme 50,0 %. Les séparateurs de milliers ne sont pas utilisés. Lesnombres négatifs sont précédés d�un signe moins (-).

Entier Affiche uniquement les nombres entiers. Les valeurs décimales sont arrondies lors de laconversion au format Entier. Si vous convertissez la valeur à un format qui affiche lesdécimales, elles sont renvoyées. Les séparateurs de milliers ne sont pas utilisés. Lesnombres négatifs sont précédés d�un signe moins (-).

DBNumeric Utilise les paramètres de format numérique de vos paramètres de configuration BDE.

� Pour savoir comment créer des formats numériques ou monétairespersonnalisés, reportez-vous à la rubrique Création d�un format dedonnées personnalisé à la page 151.

Formats de date, heure, date/heure et logiques prédéfinisCette rubrique répertorie les différents formats de données prédéfinis, ainsique leur mode d�affichage respectif. Vous pouvez également créer desformats de date personnalisés. Pour plus d�informations, reportez-vous à larubrique Création d�un format de données personnalisé à la page 151.

Formats de date prédéfinis

Les différents formats prédéfinis pour les champs de date sont les suivants :

Format Description

DBDate Utilise les paramètres de format de date de vos paramètres deconfiguration BDE. Un chiffre de 1 à 9 est utilisé pour les mois et lesjours et deux chiffres pour l�année dans le format mois/jour/année (parexemple, 1/5/58).

148 Paradox 9 : Chapitre 3

Date ISO (Acronyme de International Organization for Standardization.) Afficheles dates en utilisant un nombre à quatre chiffres pour la date, suivi d�unnombre à deux chiffres pour le mois et le jour, chaque nombre étantséparé par un point (par exemple, 1958.01.05).

mm/jj/aa Affiche les dates en utilisant un nombre à deux chiffres pour le mois, lejour et l�année, respectivement, chaque nombre étant séparé par unebarre oblique (par exemple, 01/05/58).

Windows Long Utilise le format de date longue défini dans la boîte de dialoguePropriétés des Paramètres régionaux du Panneau de configurationWindows (par exemple, dimanche 5 janvier 1958).

Windows Court Utilise le format de date courte défini dans la boîte de dialoguePropriétés des Paramètres régionaux du Panneau de configurationWindows (par exemple, 5/1/58).

Pour chaque format, une valeur à deux chiffres aa, comprise entre 00 et 50,est supposée appartenir au vingt et unième siècle (2000-2050). Les datescomprises entre 51 et 99 sont supposées appartenir au vingtième siècle(1951 à 1999). Pour outrepasser cette interprétation par défaut de la date,spécifiez les quatre chiffres de l�année. Pour tous les autres siècles, vousdevez indiquer les quatre chiffres.

Formats d�heure prédéfinis

Les différents formats prédéfinis pour les champs d�heure sont les suivants.

Format Description

Windows Heure Utilise le format d�heure défini dans la boîte de dialogue Propriétés desParamètres régionaux du Panneau de configuration Windows.

hh:mm:ss am Affiche deux chiffres pour les heures, les minutes et les secondes, séparéspar des signes deux-points et suivis de AM ou de PM.

DBTime Utilise les paramètres de format d�heure de vos paramètres deconfiguration BDE.

Formats de date/heure prédéfinis

Les différents formats prédéfinis pour les champs de date/heure sont lessuivants :

Format Description

Win. DateStamp Utilise les formats de date/heure que vous avez définis dans la boîte dedialogue Propriétés des Paramètres régionaux du Panneau deconfiguration Windows.

Tables 149

hh:mm:ss am mm/jj/aa Affiche les heures, les minutes et les secondes (2 chiffres chacun,respectivement), ces éléments étant séparés par des signes deux-points etsont suivis de AM ou de PM, et du mois, du jour et de l�année.

DBTimestamp Utilise les paramètres de format date/heure de vos paramètres deconfiguration BDE.

Formats logiques prédéfinis

Les différents formats prédéfinis d�un champ logique sont répertoriésci-dessous. Ces formats vous permettent de choisir quelles valeurs acceptercomme vraies et fausses dans un champ logique.

� Homme/Femme

� Vrai/Faux

� Oui/Non

Définition du format de données numériquesParadox permet à l�utilisateur de définir comment les données numériquessont affichées dans les champs d�une table.

Pour définir le format d�affichage d�un champ numérique,monétaire, de date, d�heure, de date/heure ou logique

1 Cliquez avec le bouton droit de la souris sur un champ numérique puissélectionnez Propriétés.

2 Cliquez sur l�onglet Format.

3 Sélectionnez l�un des formats répertoriés dans la zone de liste Format.

Pour créer un nouveau format

1 Suivez les étapes 1 et 2 ci-dessus.

2 Cliquez sur le bouton Créer un nouveau format.

3 Cliquez sur le bouton Créer.

4 Entrez le nom du nouveau format dans la zone Nom.

5 Dans la zone Format numérique, définissez le nouveau format.

6 Cliquez sur OK.

� Pour plus d�informations, reportez-vous à la rubrique Création d�un formatde données personnalisé à la page 151.

150 Paradox 9 : Chapitre 3

Création d�un format de données personnaliséVous pouvez définir des formats personnalisés pour les champs de typenumérique, monétaire, date, heure, date/heure et logique. Lorsque vousdéfinissez un format de données personnalisé, celui-ci affecte uniquementl�affichage du type de données ; il n�affecte ni les données elles-mêmes ni lafaçon dont Paradox les stocke.

La procédure est similaire à celle décrite ci-dessous, quel que soit le type dedonnées.

Pour créer un format de données personnalisé

1 Cliquez avec le bouton droit de la souris sur un champ (de l�un des typesrépertoriés ci-dessus) dans une table ouverte puis cliquez sur Propriétés.

2 Dans la boîte de dialogue Propriétés du champ sélectionné, cliquez surl�onglet Format.

3 Cliquez sur le bouton Créer un nouveau format.

4 Dans le volet Formats existants de la boîte de dialogue Sélection d�unformat numérique, cliquez sur un format existant pour l�utiliser commebase du nouveau format.

5 Cliquez ensuite sur le bouton Créer.

6 Dans la zone de texte Nom, entrez le nom du nouveau format.

Vous devez affecter un nom unique à chaque format, quel que soit le typede données auquel il se rapporte. Par exemple, vous ne pouvez donner lemême nom à un format numérique et à un format de date.

7 Dans le volet Format numérique, sélectionnez les propriétés du format.Pour obtenir des informations sur les paramètres disponibles, cliquez surle bouton Aide de la boîte de dialogue.

Si vous voulez utiliser un format par défaut du Panneau de configurationde Windows pour une option donnée, cliquez avec le bouton droit de lasouris sur la zone de texte de cette option. Un menu des formats pardéfaut disponibles s�affiche alors.

8 Cliquez sur le bouton Ajouter un format pour ajouter le nouveau format àla liste des formats existants.

� Définissez les formats numériques et monétaires Windows à partir desParamètres régionaux du Panneau de configuration de Windows.

Tables 151

Modification et suppression d�un format de données personnaliséVous pouvez modifier les formats de données personnalisés, mais non ceuxfournis par Paradox.

La procédure à suivre pour modifier ou supprimer un format de donnéespersonnalisé est la même, qu�il s�agisse d�un champ numérique, monétaire,date, heure, date/heure ou logique.

Pour modifier un format personnalisé

1 Cliquez avec le bouton droit de la souris sur un champ (de l�un des typesrépertoriés ci-dessus) dans une table ouverte puis cliquez sur Propriétés.

2 Cliquez sur l�onglet Format.

3 Cliquez sur le bouton Créer un nouveau format.

4 Dans le volet Formats existants, cliquez sur le format que vous voulezmodifier.

5 Cliquez sur le bouton Modifier.

6 Si vous voulez modifier le nom du format, entrez le nouveau nom dans lazone Nom.

7 Dans le volet Format numérique, sélectionnez les propriétés du format.Pour obtenir des informations sur les paramètres disponibles, cliquez surle bouton Aide de la boîte de dialogue.

Si vous voulez utiliser un format par défaut du Panneau de configurationde Windows pour une option donnée, cliquez avec le bouton droit de lasouris sur la zone de texte de cette option. Un menu des formats pardéfaut disponibles s�affiche alors.

8 Cliquez sur le bouton Accepter pour confirmer les modificationseffectuées.

Pour supprimer un format personnalisé

1 Cliquez avec le bouton droit de la souris sur un champ (de l�un des typesrépertoriés ci-dessus) dans une table ouverte puis cliquez sur Propriétés.

2 Cliquez sur l�onglet Format.

3 Cliquez sur le bouton Créer un nouveau format.

4 Dans le volet Formats existants, cliquez sur le format à supprimer.

5 Cliquez sur le bouton Supprimer.

152 Paradox 9 : Chapitre 3

Ajout, déplacement et suppression d�enregistrementsdans une table

Paradox contient plusieurs utilitaires vous permettant de manipuler vosenregistrements. Ainsi, vous pouvez ajouter (copier) tous lesenregistrements d�une table dans une autre table dotée de la mêmestructure. Vous pouvez également déplacer des enregistrements dépendantsou les réaffecter à une nouvelle table parent ou maître. Par ailleurs, vouspouvez supprimer des enregistrements sans devoir les rechercher aupréalable, en créant une table de soustraction correspondant exactement auxtables dans lesquelles vous voulez supprimer lesdits enregistrements(lorsque vous insérez un enregistrement dans une table de soustraction, ilest automatiquement supprimé de la table). Enfin, vous pouvez vider unetable de tous ses enregistrements, en conservant la structure et les contrôlesde validité de la table.

Ajout d�enregistrementsVous pouvez utiliser la commande Ajouter pour ajouter une copie desenregistrements d�une table dans une autre, si toutefois les deux tables ont lamême structure. La commande Ajouter vous permet également d�ajouter denouveaux enregistrements, de mettre à jour des enregistrements existants,ou d�effectuer ces deux opérations.

Windows vous permet d�ouvrir plusieurs instances d�une même table à lafois, et vous pourriez donc être considéré comme un autre utilisateur de latable, ce qui vous empêcherait d�ajouter des enregistrements. Vous nepouvez ajouter des enregistrements à une table ouverte que si vousvisualisez cette table. Vous ne pouvez pas ajouter d�enregistrements à unetable ouverte en mode Édition.

Certaines conversions de types de champs peuvent entraîner la copied�enregistrements non valides dans la table temporaire PROBLEME. Dansce cas, modifiez ces enregistrements dans la table PROBLEME puisajoutez-les de nouveau. Cette table n�est pas générée pour les tables SQL(les enregistrements non valides sont supprimés).

Tables 153

Lorsque vous ajoutez des enregistrements à l�aide de la commande Ajouter,Paradox place un verrou en lecture sur la table source et un verrou enécriture sur la table à laquelle vous ajoutez des enregistrements. Tant que lesenregistrements ne sont pas ajoutés, les autres utilisateurs ne peuvent pasmodifier le contenu ou la structure de l�une de ces tables, ni effectuer touteopération exigeant un verrou en écriture ou un verrou exclusif sur la tablecible. Si un autre utilisateur a déjà placé un verrou en écriture ou un verrouexclusif sur l�une des deux tables, vous devez attendre que ce verrou soitsupprimé pour pouvoir utiliser la commande Ajouter.

Règles applicables à l�ajout d�enregistrements d�une autre table

� La table à laquelle vous ajoutez des enregistrements peut contenir plus dechamps que la table source. II faut cependant que les premiers champs dela table cible soient compatibles avec tous les champs de la table source(types de champs compatibles et utilisant le même ordre). Paradox placeles valeurs nulles dans des champs supplémentaires.

� La table source peut contenir plus de champs que la table cible. Il fautcependant que les champs de la table à laquelle vous ajoutez desenregistrements soient compatibles avec les premiers champs de la tablesource (types de champs compatibles et utilisant le même ordre). Paradoxignore les champs supplémentaires.

� Si la table à laquelle vous ajoutez des enregistrements est indexée, lesenregistrements ajoutés doivent être conformes aux règles de l�index.Paradox place les enregistrements incompatibles dans la table temporaireDOUBLONS.DB dans votre répertoire privé. La table source n�est jamaismodifiée pendant une opération d�ajout, qu�elle soit indexée ou pas.

Ajout d�enregistrements à une table d�un type différent

Les deux tables que vous utilisez dans une opération d�ajout doiventcomporter des types de champs compatibles (mais pas nécessairementidentiques) et suivant le même ordre. Pour que des champs soientcompatibles, Paradox doit pouvoir passer du type de champ existant aunouveau type de champ au cours d�une opération de restructuration. Parexemple, les champs numériques (N) et monétaires ($) de Paradox sontcompatibles, mais ses champs numériques (N) et graphiques (G) ne le sontpas.

� Pour plus d�informations, reportez-vous à la rubrique Types de champscompatibles Paradox dans la section Référence de l�aide en ligne.

� Pour plus d�informations sur les types de champs compatibles des tablesSQL, consultez votre documentation Liens SQL.

154 Paradox 9 : Chapitre 3

Ajout d�enregistrements d�une autre tablePour ajouter rapidement de nombreux enregistrements à une table, vouspouvez fusionner les enregistrements d�une autre table ayant la mêmestructure. Les deux tables peuvent être de types différents, mais leurschamps doivent être compatibles. Vous pouvez effectuer une opérationd�ajout sur plusieurs répertoires.

Pour ajouter les enregistrements d�une autre table

1 Cliquez sur Outils, Utilitaires, Ajouter.

2 Dans la boîte de dialogue Ajout des enregistrements, sélectionnez la tabledont vous voulez ajouter les enregistrements.

3 Cliquez sur OK.

4 Dans la boîte de dialogue Ajout des enregistrements qui s�affiche,sélectionnez la table dans laquelle les enregistrements doivent êtreajoutés.

5 Activez l�un des boutons suivants :

� Ajouter pour ajouter les enregistrements dans la table cible, sansaffecter les enregistrements existants.

� Mettre à jour pour mettre à jour les enregistrements existants de latable cible. Les enregistrements de la source qui ne figurent pas dansla table cible ne sont pas ajoutés.

� Ajouter et mettre à jour pour écraser les enregistrements figurant déjàdans la table cible et ajouter les nouveaux enregistrements.

� Pour vérifier que les tables source et cible conviennent pour cetteprocédure, reportez-vous à la rubrique Ajout d�enregistrements à la page153.

Déplacement d�enregistrementsDans certains cas, un enregistrement d�une table peut correspondre à unenregistrement d�une autre table. Ceci peut se produire dans une relationd�intégrité référentielle, lorsqu�un enregistrement d�une table parent est lié àun ou plusieurs enregistrements d�une table enfant. Ceci peut également seproduire dans une fiche contenant plusieurs tables, lorsqu�un enregistrementde la table maître est lié à un ou plusieurs enregistrements de la table détail.

Par exemple, vous utilisez une table répertoriant vos représentantscommerciaux. Cette table, la table parent, a une table enfant appelée Clients

Tables 155

(l�intégrité référentielle sera définie via un champ ID Représentant communaux deux tables). Plusieurs clients peuvent être affectés à un mêmereprésentant mais un seul représentant est affecté à chaque client. Cecis�appelle une relation un-à-plusieurs. Supposons que cinquante clients soientaffectés à un représentant nommé Jones. Dans la table CLIENT.DB, Jonesest donc le représentant commercial de cinquante clients. Si Jones quitte lasociété, ses cinquantes clients seront réaffectés à un autre représentant.Ceci correspond à un déplacement d�enregistrements dépendants.

Vous pouvez utiliser la commande Aide au déplacement pour déplacer ouréaffecter un enregistrement dépendant d�un enregistrement maître à unautre.

Déplacement d�enregistrements dépendantsParadox vous permet de déplacer et de réaffecter des enregistrementsdépendants.

Pour déplacer des enregistrements dépendants

1 Ouvrez la table dépendante (enfant).

2 Appuyez sur F9 pour passer en mode Édition.

3 Sélectionnez l�enregistrement à déplacer ou à réaffecter en cliquant sur lechamp de l�enregistrement correspondant au premier champ de la tablemaître dans une relation d�intégrité référentielle. Vous pouvez cliquer surn�importe quel champ d�une table détail.

4 Cliquez sur Enregistrement, Référence, Aide au déplacement.

5 Dans la boîte de dialogue Aide au déplacement, cliquez sur le nouvelenregistrement maître.

156 Paradox 9 : Chapitre 3

Soustraction d�enregistrementsLa commande Soustraire vous permet de supprimer d�une table lesenregistrements correspondants aux enregistrements d�une autre table(appelée table de soustraction). Toutefois, vous pouvez soustraireuniquement les enregistrements d�une table indexée. Lors d�une opérationde soustraction, Paradox supprime tout enregistrement dont l�index contientune valeur qui correspond exactement aux champs correspondants d�unenregistrement de la table de soustraction.

Supposons que vous vouliez réduire vos enregistrements clients pourn�inclure que ceux ayant répondu à votre dernière opération de publipostage.La commande Soustraire vous permet de supprimer de la table desinformations clients tous les enregistrements correspondant auxenregistrements d�une autre table (appelée table de soustraction).

Pour ce faire, vous commencez par créer une table contenant les noms de tousles clients n�ayant pas répondu à votre opération de publipostage. Lorsquevous utilisez la commande Soustraire, Paradox compare la liste des noms desclients n�ayant pas répondu à votre opération de publipostage avec les nomsfigurant dans la table des informations clients, et supprime ensuite lesenregistrements correspondants. Vous obtenez ainsi une table de clientsréduite ne contenant que les noms des clients ayant répondu à la dernièreopération de publipostage. Paradox supprime tous les autres enregistrements.

Règles applicables à la soustraction d�enregistrements

� La table à laquelle vous soustrayez des enregistrements doit être indexée.

� Les deux tables utilisées lors de l�opération de soustraction doivent avoirdes structures compatibles, c�est-à-dire des champs compatibles etsuivant le même ordre. Pour ce faire, il vous suffit de reprendre lastructure de la table d�origine.

� Si la table à laquelle vous soustrayez des enregistrements est la tableparent dans une relation d�intégrité référentielle, l�opération soustrairauniquement les enregistrements n�existant pas dans la table enfant. Vousdevez d�abord supprimer l�intégrité référentielle (en restructurant la tableenfant) ou supprimer l�enregistrement lié dans la table enfant.

� Windows vous permet d�ouvrir plusieurs instances de la même table à lafois, et vous pourriez donc être considéré comme un autre utilisateur de latable, ce qui empêcherait la soustraction d�enregistrements. Vous nepouvez soustraire des enregistrements d�une table ouverte que si vousvisualisez la table. Vous ne pouvez pas soustraire des enregistrementsd�une table ouverte en mode Édition.

Tables 157

Soustraction d�enregistrements sur un réseau

Lorsque vous utilisez la commande Soustraire pour soustraire desenregistrements, Paradox doit placer un verrou en lecture sur la table quicontient les enregistrements que vous soustrayez et un verrou en écrituresur la table dont vous soustrayez des enregistrements. Cela signifie que tantque les enregistrements ne sont pas soustraits, les autres utilisateurs nepeuvent ni modifier le contenu ou la structure des tables ni effectuer touteopération exigeant un verrou en écriture ou un verrou exclusif sur ces tables.

Si un autre utilisateur a déjà placé un verrou en écriture ou un verrouexclusif sur l�une des tables, vous devez attendre que le verrou soit supprimépour pouvoir utiliser la commande Soustraire.

� La commande Soustraire n�opère pas de la même façon qu�une requête.Lorsque vous soustrayez des enregistrements d�une table, vous effacezles enregistrements correspondants.

� Les tables dBASE et SQL ne prennent pas en charge les index Paradox etvous ne pouvez donc pas soustraire des enregistrements de ces tables.Pour cela, vous pouvez utiliser une requête DELETE. Vous ne pouvez pasutiliser une table SQL comme source d�une opération de soustraction.

Soustraction d�un enregistrementUne fois que vous avez créé une table de soustraction contenant lesenregistrements que vous voulez supprimer, la commande Soustraire vouspermet de soustraire d�une table tous les enregistrements correspondant àceux figurant dans la table de soustraction. Pour vérifier que les deux tablesrépondent aux conditions requises par la commande Soustraire,reportez-vous à la rubrique Soustraction d�enregistrements à la page 157.

Avertissement

� La commande Soustraire n�opère pas de la même façon qu�une requête.Lorsque vous soustrayez des enregistrements d�une table, vous effacezles enregistrements correspondants dans les autres tables.

Pour soustraire les enregistrements d�une table

1 Cliquez sur Outils, Utilitaires, Soustraire.

2 Dans la boîte de dialogue Soustraction des enregistrements de,sélectionnez la table contenant les enregistrements à rechercher. Ce seravotre table de soustraction.

158 Paradox 9 : Chapitre 3

3 Cliquez sur OK.

4 Dans la boîte de dialogue Soustraction des enregistrements dans,sélectionnez la table de laquelle soustraire les enregistrements.

Copie, vidage, suppression et modification du nomdes tables

Une fois que vous avez créé puis personnalisé une table, vous pouvez lacopier, la renommer ou encore la supprimer.

Copie des tables

Paradox vous permet de copier des tables, des fiches, des états, desrequêtes, des scripts, des fichiers SQL, des bibliothèques, des modèlesrelationnels, des feuilles de style et des fichiers texte.

Pour de meilleurs résultats, utilisez toujours l�utilitaire de copie de Paradoxpour copier des tables Paradox ou dBASE, ainsi que tous vos autres objetsParadox. En effet, l�utilisation de la commande DOS COPY ou de l�ExplorateurWindows risque de ne pas copier la totalité des fichiers liés à une table (parexemple, les fichiers contenant l�index primaire, les index secondaires, lescontrôles de validité ou les données BLOB de la table). La commande Copierde Paradox permet de copier correctement la totalité des fichiers.

Lorsque vous copiez une table, Paradox copie à la fois sa structure et lesdonnées qu�elle contient. Paradox copie également les éléments suivants dela table :

� la clé (index primaire),

� les index secondaires (à l�exception des fichiers .NDX des tables dBASE),

� les contrôles de validité,

� l�intégrité référentielle,

� les propriétés de la table (telles que définies dans la fenêtre Table).

Modification du nom d�une table

Si les activités de votre société ou encore vos projets changent, vous voudrezpeut-être renommer vos tables. Ceci peut se faire très aisément dansParadox.

Suppression des tables

Vous pouvez supprimer des tables, des fiches, des états, des requêtes, desscripts, des fichiers SQL, des bibliothèques, des modèles relationnels et desfeuilles de style dans Paradox.

Tables 159

� Windows vous permet d�ouvrir plusieurs instances d�une même table à lafois, et vous pourriez donc être considéré comme un autre utilisateur de latable, ce qui empêcherait la soustraction d�enregistrements. Assurez-vousque vous avez fermé la fenêtre Table ainsi que toutes les fenêtres dedocument associées avant d�utiliser la commande Copier.

Copie des tablesParadox vous permet de copier des tables, tout en conservant leur structureintacte.

1 Cliquez sur Outils, Utilitaires, Copier.

2 Sélectionnez la table à copier puis cliquez sur OK.

3 Entrez le nom de la nouvelle table.

Copie de tables sur réseau

Lorsque vous copiez une table, Paradox doit placer un verrou en lecture surla table d�origine et un verrou exclusif sur la copie. Aucun utilisateur ne peutalors modifier le contenu ou la structure de la table que vous copiez à l�aidede la fonction Copier. Si vous copiez une table existante, aucun verrou ne doitêtre activé sur cette table. S�il existe un verrou enregistrement, un verrou enécriture ou un verrou exclusif sur la table que vous copiez, aucune copie nesera possible tant que ce verrou est activé.

� Ces éléments sont copiés uniquement si vous copiez la table dans uneautre table du même type. En d�autres termes, la copie peut uniquementavoir lieu si vous copiez une table Paradox dans une autre table Paradoxou une table dBASE dans une autre table dBASE.

Modification du nom d�une tablePour renommer une table, Paradox doit placer un verrou exclusif sur celle-ci.Lorsqu�un verrou exclusif existe sur une table :

� aucun utilisateur ne peut accéder à la table,

� si un verrou quelconque est activé sur la table, vous devez attendre sadésactivation pour être en mesure de la renommer,

� si vous renommez un objet en utilisant le nom d�un objet existant, Paradoxsupprime ce dernier.

160 Paradox 9 : Chapitre 3

Pour renommer une table ouverte

1 Cliquez sur Outils, Utilitaires, Renommer.

2 Entrez le nouveau nom de la table dans la boîte de dialogue Renommer.

Paradox renomme la table et la totalité des fiches et des états ouverts quilui sont associés.

� Faites attention lorsque vous renommez vos tables. Les documentsassociés à une table ne peuvent plus accéder à celle-ci une fois que vousavez modifié son nom. Les fiches, états ou requêtes se référant à la tablesous un nom spécifique ne seront plus liés à la table au nom modifié.Lorsque vous ouvrez un objet ayant perdu sa connexion, Paradox vousdemande d�indiquer le nom de la table à laquelle rattacher cet objet.

� Vous ne pouvez pas renommer une table pour modifier son type. Unetable Paradox doit être renommée en tant que table Paradox et de lamême façon, une table dBASE doit être renommée en tant que tabledBASE.

� Vous ne pouvez pas renommer une table identifiée comme table parentdans une relation d�intégrité référentielle. Vous devez d�abord supprimerl�intégrité référentielle (en restructurant la table enfant) ou supprimer latable enfant.

� Pour éviter que le problème ne se pose, laissez les fiches et les étatsassociés ouverts dans leur fenêtre de conception lorsque vous renommezla table. Paradox met alors automatiquement à jour le nom de la table dansceux-ci (vous devez enregistrer les fiches et les états pour rendre lamodification effective).

� Lorsque vous renommez un objet, vous pouvez saisir le chemin d�accèscomplet de l�objet lorsque vous entrez son nouveau nom. Cette opérationpermet à la fois de renommer l�objet et de le déplacer.

Vidage des tablesVous pouvez utiliser la commande Vider pour supprimer tous lesenregistrements d�une table, tout en maintenant intacte la structure de latable (y compris les clés, index et contrôles de validité). Il peut s�agir d�unetable Paradox, dBASE ou SQL. Lorsque vous videz une table dBASE, tousles enregistrements de cette table sont marqués comme supprimés.

Tables 161

Lorsque vous utilisez la commande Vider, Paradox doit placer un verrouexclusif sur la table. De cette façon, aucun utilisateur ne peut accéder à latable de quelque façon que ce soit. Si un verrou de n�importe quel type estplacé sur la table, vous devez attendre que ce verrou soit retiré avant depouvoir utiliser la commande Vider.

Pour vider une table

1 Cliquez sur Outils, Utilitaires, Vider.

2 Dans la boîte de dialogue Vider, sélectionnez la table à vider.

� Vous ne pouvez pas vider une table identifiée comme table parent dansune relation d�intégrité référentielle. Vous devez d�abord supprimerl�intégrité référentielle (à partir de la table enfant) ou supprimer la tableenfant.

Suppression des tablesParadox organise vos données dans des tables. Une table Paradox peutparfois comporter plusieurs fichiers DOS. Utilisez toujours la commandeSupprimer de Paradox pour supprimer vos tables Paradox. En effet,l�utilisation de la commande DOS DELETE ou de l�Explorateur Windowsrisque de ne pas supprimer la totalité des fichiers liés à une table (parexemple, les fichiers contenant l�index primaire, les index secondaires, lescontrôles de validité, l�intégrité référentielle ou les données BLOB de latable). La commande Supprimer de Paradox supprime correctement latotalité des fichiers.

Suppression de tables sur un réseau

Lorsque vous utilisez la commande Supprimer pour supprimer une table,Paradox doit placer un verrou exclusif sur la table. Lorsqu�un verrou exclusifexiste sur une table :

� aucun utilisateur ne peut accéder à la table,

� si un verrou quelconque est activé sur la table, vous devez attendre sadésactivation avant de pouvoir utiliser l�utilitaire de suppression. Vous nepouvez donc pas supprimer une table ouverte sur votre bureau.

Windows vous permet d�ouvrir simultanément plusieurs instances de lamême table à la fois et vous pourriez donc être considéré comme un autreutilisateur de la table, ce qui empêcherait la suppression d�enregistrements.Assurez-vous que vous avez fermé la fenêtre Table et toutes les fenêtres dedocuments associées avant d�utiliser la commande Supprimer.

162 Paradox 9 : Chapitre 3

Pour supprimer une table

1 Cliquez sur Outils, Utilitaires, Supprimer.

2 Dans la boîte de dialogue Suppression, sélectionnez la table à supprimer.

� Faites très attention lorsque vous supprimez des objets. En effet, unesuppression ne peut pas être annulée. Avant de supprimer une table,vérifiez que celle-ci n�est pas utilisée par des fiches, des états ou desrequêtes. Lorsque vous supprimez une table, les fiches, les états ou lesrequêtes dépendant de la table ne sont pas supprimés.

� Vous ne pouvez pas supprimer une table identifiée en tant que parent dansune relation d�intégrité référentielle. Vous devez d�abord supprimerl�intégrité référentielle (à partir de la table enfant) et vider la table enfant,ou supprimer cette dernière.

Verrouillage des tablesIl existe plusieurs sortes de verrous dans un environnementmulti-utilisateur. Par exemple, lorsque vous modifiez une valeur, le message« L�enregistrement est maintenant verrouillé » apparaît dans la barre d�état.Les verrous interdisent à deux utilisateurs de modifier le mêmeenregistrement au même moment. Dès que vous quittez le champ, Paradoxdéverrouille automatiquement l�enregistrement.

Vous pouvez également verrouiller et déverrouiller les tables manuellement,à l�aide de la commande Verrouiller. Les verrous contrôlés par la commandeVerrouiller :

� verrouillent la totalité d�une table,

� offrent différents niveaux de protection,

� doivent être explicitement placés et retirés.

Le tableau ci-dessous détaille les droits des utilisateurs selon les différentsverrous placés à partir du bureau à l�aide de la commande Verrouiller. Lesniveaux de verrouillage sont répertoriés dans l�ordre croissant, en fonctionde leur puissance.

Tables 163

Niveau de verrouillage Droits des autres utilisateurs et verrouset vos droits pouvant être placés par ceux-ci

Aucun, Aucun Tous, Tous*

Ouverture, Lecture (Écriture si aucun Lecture/Écriture, Tous excepté Exclusif si aucun verrou Enregistrementautre utilisateur ne dispose n�est placé. Dans le cas contraire, Ouverture uniquement.d�un verrou Lecture)

Lecture, Lecture (Écriture si aucun ) Lecture, Ouverture/Lectureautre utilisateur ne disposed�un verrou Lecture

Écriture, Lecture/Écriture Lecture, Ouverture

Exclusif, Tous Aucun, Aucun

Image Les autres utilisateurs partageant la table ne pourront pas modifier sespropriétés.

* Aucun signifie que vous n�avez placé aucun verrou au niveau du bureau. Siun autre type de verrou est en place (un verrou Enregistrement ou un verrouOuverture), vous ne pouvez pas obtenir de verrou Exclusif.

� Paradox maintient un verrou au niveau du bureau jusqu�à ce que vousquittiez le programme ou supprimiez ce verrou (en choisissant Aucun).

Affichage des verrous d�une tableVous pouvez afficher les types de verrous placés sur les tables, ainsi que lenom des utilisateurs les ayant placés.

Pour afficher les verrous d�une table

1 Cliquez sur Outils, Sécurité, Afficher les verrous.

2 Dans la boîte de dialogue Sélection d�un fichier, sélectionnez la table dontvous voulez afficher les verrous.

3 Cliquez sur Ouvrir.

Paradox affiche les verrous placés sur la table ainsi que le nom desutilisateurs les ayant placés.

La colonne Indique

Type Le type de verrou placé sur la table.

Nom d�utilisateur Le nom de la personne qui a placé le verrou.

164 Paradox 9 : Chapitre 3

Session réseau Le numéro de session de la personne qui a placé le verrou.

Notre session 1 signifie que vous avez placé ce verrou. 0 signifie qu�il a été placé par unautre utilisateur.

N° enregistrement L�enregistrement qui est verrouillé (si le verrou est un verroud�enregistrement, et non un verrou de table).

� La table de verrous comporte toujours un verrou que vous avez placé.Paradox place automatiquement ce verrou sur la table lorsqu�il vérifie lesverrous. Il le supprime dès qu�il a réuni les informations relatives auxverrous de la table. Lorsque vous voyez ce verrou dans la table deverrous, il a en fait déjà été supprimé.

Verrouillage d�une tableVous pouvez verrouiller des tables pour interdire à d�autres utilisateurs deles ouvrir et de les modifier.

Pour verrouiller une table

1 Cliquez sur Outils, Sécurité, Verrouiller.

2 Dans la boîte de dialogue Verrous de table, sélectionnez la table àverrouiller. Par défaut, la zone de liste Nom de table affiche les tablesfigurant dans votre répertoire de travail.

3 Activez l�une des boutons suivants :

� Lecture seule pour interdire aux autres utilisateurs d�écrire desdonnées dans la table et de placer un verrou sur la table, ce qui vousempêcherait de la lire. Vos droits de lecture sont ainsi garantis.

� Écriture pour pouvoir lire et écrire dans la table tout en empêchant lesautres utilisateurs d�écrire dans la table.

� Exclusif pour empêcher les autres utilisateurs de lire la table etd�écrire des données dans celle-ci.

� Aucun pour supprimer un verrou placé sur la table.

� Ouverture pour empêcher les autres utilisateurs de placer un verrouexclusif sur la table.

Tables 165

Saisie et modification des données d�une table 167

SAISIE ET MODIFICATION DESDONNÉES D�UNE TABLE 4Dès que vous créez une table, vous pouvez commencer à saisir les données.Paradox permet de saisir et de modifier les données de plusieurs manières.Selon la tâche à exécuter, les différentes commandes proposées par Paradoxseront les plus utiles et les plus commodes. Par exemple, si vous ajoutez oumettez à jour des enregistrements qui existent dans une autre table, vouspouvez utiliser la commande Ajouter pour insérer et mettre à jour lesenregistrements de la table. Si vous modifiez des valeurs spécifiques d�unchamp, vous pouvez utiliser la commande Rechercher et remplacer. Lorsquevous travaillez avec un seul enregistrement ou un seul champ, Paradox met àvotre disposition un ensemble complet de commandes d�édition standardtelles que Couper, Copier, Coller et Annuler. Pour empêcher les autresutilisateurs de modifier les données, Paradox verrouille automatiquement unenregistrement dès que vous commencez à le modifier et le déverrouille dèsque vous le quittez.

Paradox enregistre automatiquement les données dès que vous quittez unenregistrement ; inutile donc d�utiliser les commandes Enregistrer ouEnregistrer sous pour enregistrer les données de la table.

Vous pouvez saisir les données directement dans les tables ou passer par lestables de référence ou les fiches de conception pour saisir les données dansune ou plusieurs tables. Pour saisir ou modifier les données, vous devez êtreen mode Édition. Une fois en mode Édition, vous pouvez placer le pointd�insertion dans l�un des champs de la table (ou de la fiche), puis commencerla saisie.

Notions fondamentales de la saisie des donnéesParadox offre plusieurs cadres de travail pour la saisie et la modification desdonnées. Vous pouvez supprimer immédiatement des champs entiers oupasser par la Vue champ pour valider vos modifications. Vous avez égalementla possibilité d�utiliser la Vue mémo pour modifier le texte dans unenvironnement de traitement de texte. Pour simplifier le processus demodification, Paradox propose des outils et des raccourcis. Vous pouveznotamment sélectionner Couper et Coller pour déplacer les données ouencore appuyer sur ORIGINE pour placer le curseur dans le premier champd�un enregistrement.

Modification des donnéesLorsque vous ouvrez une table pour la première fois, vous vous trouvez enmode Affichage. Pour pouvoir saisir des données dans votre table, vous devezpasser en mode Édition. Puisque Paradox met en surbrillance l�ensemble duchamp, vous avez le choix entre supprimer toutes les données en une fois oupasser en Vue champ pour modifier les données de façon sélective.

Pour passer en mode Édition

� Appuyez sur F9.

Pour revenir en mode Affichage, appuyez sur F9.

Pour modifier le contenu d�un champ

1 En mode Édition, cliquez sur un champ.

2 Pour supprimer le contenu intégral du champ, appuyez sur SUPPR.

3 Pour supprimer un mot ou un nombre du champ, cliquez deux fois surl�élément pour le mettre en surbrillance et appuyez sur SUPPR.

4 Saisissez les nouvelles informations.

Pour modifier une partie d�un champ à l�aide de la Vue champ

1 Ouvrez une table.

2 Appuyez sur F9 pour passer en mode Édition.

3 Cliquez sur le champ à modifier.

4 Cliquez sur Affichage, Vue champ.

5 Modifiez la valeur du champ.

168 Paradox 9 : Chapitre 4

Si les modifications apportées ne vous satisfont pas, appuyez sur ÉCHAPavant de quitter le champ. Vous supprimerez ainsi les données.

Dès que vous déplacez le curseur vers un autre champ, Paradox quitte laVue champ (mais vous restez en mode Édition). Si vous voulez passerd�un champ à l�autre tout en restant dans la Vue champ, cliquez surAffichage, Vue champ persistante. Pour quitter la Vue champ persistante,cliquez sur Affichage, Vue champ persistante.

� Si vous passez en Vue champ dans un champ mémo, mémo formaté,graphique ou OLE, la valeur du champ sélectionné vient automatiquementse placer en haut de la table. C�est ce qui s�appelle la Vue mémo. Ellepermet de faire un plus grand usage du clavier.

Commandes d�éditionLorsque vous ouvrez une table ou une fiche en mode Édition, vous pouvezutiliser les commandes suivantes. Pour accéder à ces commandes, il suffit decliquer sur Édition dans la barre de menus.

Choisissez Pour

Annuler Annuler toutes les modifications dans l�enregistrement courant. Cettecommande n�annule pas les modifications déjà validées. Vous devez lasélectionner avant de quitter l�enregistrement.

Couper Supprimer la valeur d�un ou de plusieurs champs sélectionnés dans unetable (ou une fiche) et les placer dans le Presse-papiers de Windows.

Copier Copier une valeur d�un ou de plusieurs champs sélectionnés dans unetable (ou une fiche) et les placer dans le Presse-papiers de Windows.Dans une fenêtre Table, vous pouvez copier plusieurs champs à la fois.Lorsque vous effectuez votre sélection, des lignes apparaissent autour desdonnées sélectionnées.

Coller Coller le contenu du Presse-papiers de Windows dans le champsélectionné.

Collage spécial Établir un lien à l�aide de l�échange dynamique de données (DDE) entreune autre application Windows et votre table.

Copier vers Copier la sélection courante vers un fichier externe.

Coller depuis Coller dans le champ sélectionné une valeur provenant d�un fichierexterne.

Saisie et modification des données d�une table 169

Supprimer Supprimer la valeur. Paradox ne la place pas dans le Presse-papiers deWindows.Remarque : vous pouvez supprimer un enregistrement entier à l�aide dela commande Supprimer, mais pas avec la commande Couper.

Tout sélectionner Sélectionner tous les champs d�une table (la table entière). Un cadre seplace autour de la table.

� Vous ne pouvez coller qu�une valeur correcte dans un champ. Il est, parexemple, impossible de coller une valeur graphique dans un champalphanumérique.

� Outre les commandes habituelles du menu Édition, vous pouvez appuyersur les touches CTRL+D dans n�importe quel champ pour copier unevaleur de champ issu de l�enregistrement précédent.

� Pour insérer la date du jour dans un champ date, appuyez trois fois sur labarre d�espacement. Paradox ajoute les trois éléments d�une dateséparément.

Utilisation de la Vue mémo pour saisir et modifier le texte d�un champmémo ou mémo formaté.

La saisie des données dans un champ mémo ou mémo formaté se fait de lamême manière que dans un champ alphanumérique. Toutefois, en cas dechamps mémo et mémo formaté, Paradox ne fixe aucune limite quant à laquantité de données saisies. Lorsque vous modifiez un champ mémo oumémo formaté, vous pouvez utiliser la Vue mémo. Vous bénéficiez alors decertaines fonctions de traitement de texte et pouvez faire un plus grandusage du clavier que dans la Vue champ.

Vous pouvez saisir autant de données que nécessaire dans un champ mémoou mémo formaté. Le texte passe automatiquement à la ligne dès qu�il atteintle bord droit de la fenêtre. Si vous changez la taille de la fenêtre, le retour à laligne change en conséquence. Pour plus d�informations sur le retour à laligne, reportez-vous à la rubrique Utilisation de la fonction Texte continu à lapage 512.

170 Paradox 9 : Chapitre 4

Pour afficher et saisir les données d�un champ mémo

1 Ouvrez une table ou une fiche.

2 Cliquez sur un champ mémo pour le sélectionner.

3 Appuyez sur F9 pour passer en mode Édition.

4 Cliquez sur Affichage, Vue mémo.

5 Saisissez et modifiez le texte du mémo comme bon vous semble.

Pour obtenir la liste complète des touches disponibles dans la Vue mémo,reportez-vous à la rubrique Touches de Vue mémo de la sectionRéférence de l�aide en ligne.

6 Dès que vous avez fini de modifier le mémo, appuyez sur MAJ+F2 pourfermer la Vue mémo.

Paradox enregistre les données du champ mémo dès que vous quittez laVue mémo. Lorsque vous revenez à la table, la quantité visible de texte dumémo dépend de la largeur de la colonne et de la taille du champ mémo.Pour plus d�informations sur le redimensionnement des colonnes et deslignes, reportez-vous aux rubriques Déplacement, redimensionnement ourotation des colonnes à la page 134 et Redimensionnement des lignes à lapage 134.

Pour modifier les propriétés d�un texte mémo formaté

1 Cliquez sur un champ mémo pour le sélectionner.

2 Cliquez sur Affichage, Vue mémo.

3 Sélectionnez le texte à modifier.

4 Cliquez avec le bouton droit de la souris et choisissez Propriétés.

5 Cliquez sur la page Police.

6 Choisissez la police, la couleur et la taille du texte.

7 Cliquez sur la page Texte.

8 Choisissez l�alignement et l�interligne du texte.

9 Cliquez sur Appliquer.

Saisie et modification des données d�une table 171

� Lorsque vous saisissez des données dans un champ mémo à l�aide d�unefiche, vous ne pouvez pas modifier la taille du champ. Si telle est votreintention, vous devez cliquer sur le bouton Conception de la barre d�outilspour ouvrir la fenêtre Conception de fiche. Dans la fenêtre Conception defiche, vous pouvez placer des barres de défilement horizontale ouverticale sur le champ. De cette façon, vous pouvez maintenir le champ àune taille réduite et voir la totalité de son contenu.

� Lorsque vous consultez une fiche, Paradox n�affiche pas le contenu d�unchamp mémo ou mémo formaté dans une fenêtre spéciale. Ces champsapparaissent toujours selon la taille et la forme définies dans la fenêtreConception de fiche.

Raccourcis de saisie des donnéesLes raccourcis répertoriés ci-dessous permettent d�accélérer la saisie desdonnées. Il est également possible d�utiliser les boutons de navigationproposés dans la barre d�outils.

Appuyez sur Pour

ORIGINE Placer le curseur dans le premier champ de la table tout en restant surl�enregistrement sélectionné.

CTRL+ORIGINE Placer le curseur dans le premier champ du premier enregistrement de latable.

FIN Placer le curseur dans le dernier champ de la table tout en restant dansl�enregistrement sélectionné.

CTRL+FIN Placer le curseur dans le dernier champ du dernier enregistrement de latable.

CTRL+RETOUR ARRIÈRE Supprimer le mot situé à gauche du point insertion.Remarque : la combinaison de touches CTRL+RETOUR ARRIÈREfonctionne uniquement en Vue champ et sans texte sélectionné.

CTRL+D Dupliquer dans le champ sélectionné les informations de l�enregistrementsitué immédiatement au-dessus.

ÉCHAP Annuler la modification effectuée dans un champ d�édition (vous devezappuyer sur ÉCHAP avant de quitter le champ).

BARRE D�ESPACEMENT Entrer la date et/ou l�heure courante(s) dans les champs date, heure oudate/heure. Vous devez appuyer sur la barre d�espacement pour chaquepartie du format du champ.

172 Paradox 9 : Chapitre 4

Pourquoi ne suis-je pas en mesure de quitter un champ ?La ligne d�état située en bas du bureau indique la cause du problème. Si cetteligne est invisible, agrandissez la fenêtre Paradox.

Plusieurs circonstances peuvent vous empêcher de quitter un champ : lavaleur entrée (ou l�absence de valeur) viole les contrôles de validité, la tablede référence ou encore les relations ou la clé de l�intégrité référentielle. Parailleurs, vous avez peut-être essayé de saisir des données incompatibles avecle type du champ. Pour connaître le type des valeurs qu�il faut saisir,consultez la structure de la table et étudiez les règles définies pour le champ.

Pour sortir d�un champ où une valeur incorrecte a été saisie

� Supprimez la valeur du champ en appuyant sur CTRL+RETOURARRIÈRE

Pour consulter les règles de saisie des données appliquées à unchamp

1 Cliquez sur Affichage, Structure de la table.

2 Dans la boîte de dialogue Information structure de table, cliquez sur lechamp où le curseur est bloqué.

3 Effectuez ensuite une ou plusieurs des actions suivantes à partir de laliste Propriétés de la table :

� Choisissez Contrôles de validité pour consulter les contrôles devalidité.

� Choisissez Table de référence pour consulter toute information relativeà la table de référence.

� Choisissez Intégrité référentielle pour consulter toutes les tables mère(auxquelles vous pouvez vous référer pour connaître les valeurscorrectes du champ concerné).

4 Dès que vous connaissez le type de valeur à entrer dans le champ, cliquezsur Terminé.

Insertion, validation et suppression desenregistrements

Paradox facilite l�insertion des enregistrements dans des tables existantes.Dès que vous avez inséré un enregistrement et saisi les données, il suffit dequitter le champ pour sauvegarder votre enregistrement. Rien ne vousempêche par ailleurs d�enregistrer les données sans quitter l�enregistrement.

Saisie et modification des données d�une table 173

C�est ce qui s�appelle la validation d�un enregistrement. Si vous n�avez plusbesoin de l�enregistrement, vous pouvez le supprimer.

Insertion d�un enregistrementVous serez souvent amené à insérer de nouveaux enregistrements dans vostables, par exemple, un nouveau client, un nouveau produit ou un nouveaufournisseur. Avec Paradox, rien de plus simple et de plus rapide.

Pour insérer un enregistrement

1 Ouvrez une table ou une fiche.

2 Appuyez sur F9 pour passer en mode Édition.

3 Placez le point d�insertion à l�endroit où vous souhaitez insérerl�enregistrement.

4 Appuyez sur la touche INSÉR. Paradox ouvre un nouvel enregistrementvide là où se trouve le point d�insertion.

Vous pouvez aussi insérer un nouvel enregistrement vide en positionnantle curseur après le dernier enregistrement de la table.

5 Saisissez vos données.

L�enregistrement est validé dès que vous le quittez.

� Si vous insérez un enregistrement dans une vue de table filtrée ou dansune vue de requête directe alors qu�il ne répond pas aux critères établispar le filtre ou par la requête, l�enregistrement devient invisible aumoment de sa validation.

� Dans le cas d�une fiche mono-enregistrement, l�insertion d�unenregistrement semble être équivalent à l�insertion d�un écran vide.Lorsque que vous appuyez sur la touche INSÉR ou que vous cliquez surles commandes Enregistrement, Insérer, les valeurs de l�enregistrementapparaissent vides. Paradox a tout simplement inséré un enregistrementvide et s�est placé sur celui-ci.

� Pour ajouter des enregistrements issus d�une autre table, vous pouvezutiliser la commande Ajouter. Pour plus d�informations, reportez-vous à larubrique Ajout d�enregistrements d�une autre table à la page 155.

174 Paradox 9 : Chapitre 4

Validation d�un enregistrementLe fait d�enregistrer un enregistrement est souvent appelé valider ouaccepter un enregistrement. Dans un environnement multi-utilisateur, lesautres utilisateurs ne voient pas les modifications que vous avez apportéestant que vous ne les avez pas validées. Vous pouvez enregistrer un nouvelenregistrement sans le quitter. Si la table est indexée, l�enregistrement prendautomatiquement la place qu�il doit occuper dans la table. Dans le cascontraire, le nouvel enregistrement reste à l�endroit où vous l�avez ajouté.

Pour enregistrer un enregistrement sans le quitter

� Cliquez sur Enregistrement, Valider/Conserver le verrou.

� Dès que vous validez un enregistrement dans une table indexée, il prendautomatiquement la place qu�il doit occuper dans la table. Si cette positionest en dehors de l�écran, l�enregistrement peut sembler disparaître lors desa validation. Mais d�après le nombre d�enregistrements inscrit dans labarre d�état, vous constatez qu�il a bien été ajouté. Lors de la validation del�enregistrement, il se peut que la vue de la table ne change pas, mais lepoint d�insertion reste là où il se trouvait lorsque vous avez appuyé sur latouche INSÉR.

Suppression des champs et des enregistrementsVous serez souvent amené à supprimer les données de champs individuels encas d�inexactitude des informations. Vous voudrez, par exemple, supprimerles enregistrements correspondant à un client perdu ou à un produit devenuobsolète.

Avertissement

Si vous supprimez accidentellement un champ, cliquez immédiatement surÉdition, Annuler.

Pour supprimer les données d�un champ

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez sur le champ que vous souhaitez supprimer.

3 Cliquez sur Édition, Supprimer.

Si vous souhaitez uniquement supprimer une partie d�un champ, appuyezsur F9 pour passer en mode Édition, puis cliquez sur Affichage, Vuechamp. Sélectionnez les données que vous souhaitez supprimer et cliquezsur Édition, Supprimer.

Saisie et modification des données d�une table 175

Pour supprimer un enregistrement

1 Ouvrez une table ou une fiche.

2 Appuyez sur F9 pour passer en mode Édition.

3 Cliquez sur un champ de l�enregistrement à supprimer.

4 Appuyez sur CTRL+SUPPR pour supprimer l�enregistrement.

� Une fois les enregistrements supprimés des tables Paradox, il estimpossible de les récupérer. En revanche, dans une table dBASE, lasuppression d�un enregistrement n�est pas définitive. La commandeAfficher enregistrements effacés permet de visualiser les enregistrementssupprimés des tables dBASE.

� Vous pouvez également utiliser la commande Couper pour supprimer lesdonnées et les stocker dans le Presse-papiers.

� Le fait de supprimer des enregistrements ne permet pas de récupérer del�espace disque. Pour supprimer tous les enregistrements et récupérer del�espace disque, cliquez sur Outils, Utilitaires et Vider.

Couper, copier et coller des donnéesOutre la saisie de valeurs dans les champs, vous pouvez également couper oucopier les données d�un champ et les coller dans un autre champ ou une autreapplication. Les données que vous coupez ou copiez restent dans lePresse-papiers Windows jusqu�à ce que vous les modifiiez, les supprimiez ouque vous quittiez Windows.

Rappels à propos de la fonction Coller

� Lorsque vous effectuez un collage, le contenu du Presse-papiers n�est passupprimé. Vous pouvez donc effectuer autant de collages que vous ledésirez.

� Vous ne pouvez pas coller plusieurs valeurs de champ dans une table.Rien ne vous empêche, en revanche, de coller ces valeurs dans une autreapplication qui autorise cette opération (Quattro® Pro, par exemple).

176 Paradox 9 : Chapitre 4

� La commande Édition, Coller depuis vous permet de coller des donnéesextraites de fichiers externes. Pour plus d�informations, reportez-vous à larubrique Coller depuis un fichier à la page 180.

� Vous pouvez utiliser la commande Édition, Collage spécial pour créer desliens DDE et OLE. Pour plus d�informations, reportez-vous aux rubriquesInsertion d�un objet OLE lié à une partie d�un fichier à la page 543 etUtilisation de Paradox en tant que serveur DDE à la page 549.

Couper et coller des donnéesSi vous envisagez de déplacer le contenu d�un champ, une partie d�un champ,plusieurs champs, l�ensemble d�une colonne ou d�une ligne de données, voiretous les champs de votre table, vous pouvez couper les données et les collerdans un autre emplacement.

Pour couper et coller un champ entier

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez sur le champ pour le sélectionner.

3 Cliquez sur Édition, Couper.

Le champ coupé disparaît de la zone de travail mais reste à la dispositionde Paradox dans le Presse-papiers.

4 Allez vers l�emplacement où vous voulez placer les données coupées.

5 Cliquez sur Édition, Coller.

Pour couper et coller plusieurs champs

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez et faites glisser la souris en diagonale jusqu�à ce que le cadre tracéenglobe tous les champs à couper.

3 Suivez les étapes 3 à 5 de la procédure précédente.

Pour couper et coller l�ensemble d�une colonne de données

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez deux fois sur l�en-tête de la colonne pour la sélectionner.

3 Suivez les étapes 3 à 5 de la procédure Pour couper et coller un champentier (ci-dessus).

Saisie et modification des données d�une table 177

Pour couper et coller l�ensemble d�une ligne (enregistrement)

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez deux fois sur un numéro d�enregistrement non sélectionné (si lenuméro d�enregistrement est sélectionné lors du double clic, vous passezen Vue champ).

3 Suivez les étapes 3 à 5 de la procédure Pour couper et coller un champentier (ci-dessus).

Pour couper et coller tous les champs d�une table

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez sur Édition, Tout sélectionner.

3 Suivez les étapes 3 à 5 de la procédure Pour couper et coller un champentier (ci-dessus).

Pour couper et coller une partie des données d�un champ en VueChamp

1 Appuyez sur F9 pour passer en mode Édition, puis cliquez sur Affichage,Vue champ.

2 Sélectionnez la partie du champ à couper.

3 Cliquez sur Édition, Couper pour couper la portion choisie.

4 Allez vers l�emplacement où vous voulez placer les données coupées.

5 Cliquez sur Édition, Coller.

� Vous pouvez couper, copier et coller des données vers et depuis desfichiers.

Copier et coller des donnéesSi vous envisagez de copier le contenu d�un champ, une partie d�un champ,plusieurs champs, l�ensemble d�une colonne ou d�une ligne de données, voiretous les champs de votre table (en laissant l�original intact), vous pouvezcopier les données et les coller dans un autre emplacement.

Pour copier et coller un champ entier

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez sur le champ pour le sélectionner.

178 Paradox 9 : Chapitre 4

3 Cliquez sur Édition, Copier.

Le champ copié reste intact.

4 Allez vers l�emplacement où vous voulez placer les données copiées.

5 Cliquez sur Édition, Coller.

Pour copier et coller plusieurs champs

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez et faites glisser la souris en diagonale jusqu�à ce que le cadre tracéenglobe tous les champs à copier.

3 Suivez les étapes 3 à 5 de la procédure Pour copier et coller un champentier (ci-dessus).

Pour copier et coller l�ensemble d�une colonne de données

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez deux fois sur l�en-tête de la colonne pour la sélectionner.

3 Suivez les étapes 3 à 5 de la procédure Pour copier et coller un champentier (ci-dessus).

Pour copier et coller l�ensemble d�une ligne (enregistrement)

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez deux fois sur un numéro d�enregistrement non sélectionné (si lenuméro d�enregistrement est sélectionné lors du double clic, vous passezen Vue champ).

3 Suivez les étapes 3 à 5 de la procédure Pour copier et coller un champentier (ci-dessus).

Pour copier et coller tous les champs d�une table

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez sur Édition, Tout sélectionner.

3 Suivez les étapes 3 à 5 de la procédure Pour copier et coller un champentier (ci-dessus).

Pour copier et coller une partie des données d�un champ en Vuechamp

1 Appuyez sur F9 pour passer en mode Édition, puis cliquez sur Affichage,Vue champ.

Saisie et modification des données d�une table 179

2 Sélectionnez la partie du champ à copier.

3 Cliquez sur Édition, Copier.

4 Allez vers l�emplacement où vous voulez placer les données copiées.

5 Cliquez sur Édition, Coller.

� Vous pouvez couper, copier et coller des données vers et depuis un autrefichier.

Copie vers un fichierLa commande Édition, Copier vers vous permet de copier des valeurs dechamp vers des fichiers externes. Vous pouvez copier des valeurs de champgraphique, binaire, mémo et mémo formaté, vers des fichiers non Paradox etce, sans utiliser la commande Exporter. Pour copier le texte sélectionné,vous devez avoir sélectionné la Vue champ ou la Vue mémo.

En cas d�utilisation d�une fiche, vous pouvez copier des valeurs extraites d�untype de champ quelconque vers un fichier non Paradox et ce, sans utiliser lacommande Exporter. Dans la Vue champ ou la Vue mémo, vous pouvez copierle texte sélectionné à l�intérieur du champ.

Paradox ne peut copier des fichiers graphiques que vers un fichier de format.BMP.

Lorsque vous travaillez avec un champ binaire d�une table, la commandeCopier vers vous permet de copier des valeurs de champ binaire vers unfichier non Paradox. L�extension de fichier que vous utilisez n�est pas limitée.

Pour copier une valeur de champ vers un fichier externe

1 Cliquez sur un champ pour le sélectionner.

2 Cliquez sur Édition, Copier vers.

3 Saisissez le nom du fichier (ainsi que le chemin d�accès complet sinécessaire) et l�extension dans la zone Nom de fichier.

Paradox crée un nouveau fichier portant le nom que vous avez indiqué etcontenant le champ sélectionné.

Collage depuis un fichierVous pouvez utiliser la commande Édition, Coller depuis pour coller desvaleurs depuis des fichiers non Paradox dans des champs et des objetsParadox. Vous pouvez coller du texte issu de fichiers .PXT, .TXT et .RTFdans des champs de type mémo ou mémo formaté. Si vous utilisez une fiche,

180 Paradox 9 : Chapitre 4

vous pouvez coller du texte dans tous les types de champ, à l�exception deschamps graphiques et OLE.

Pour coller une valeur extraite d�un fichier externe vers unchamp Paradox

1 Cliquez sur le champ où vous souhaitez coller les données.

2 Appuyez sur F9 pour passer en mode Édition.

3 Cliquez sur Affichage, Vue mémo si vous sélectionnez un champ mémo oumémo formaté. Dans le cas contraire, passez à l�étape 4.

4 Cliquez sur Édition, Coller depuis.

5 Saisissez le nom du fichier (ainsi que le chemin d�accès complet sinécessaire) et l�extension dans la zone Nom de fichier.

6 Cliquez sur Ouvrir.

Paradox place le contenu du fichier dans le champ sélectionné.

� Vous pouvez utiliser Édition, Insérer un objet pour coller des fichiers dansdes champs et des objets OLE.

Vérification orthographique des donnéesLes outils d�écriture peuvent vous aider à vérifier l�orthographe et le bonusage des mots lors de la modification des fiches ou des tables. Levérificateur orthographique vous permet de rechercher, dans les fiches ou lestables, les erreurs d�orthographe, les erreurs de majuscule ou les mots endouble. Lorsque le vérificateur détecte un terme mal orthographié, à vous dedécider de le remplacer avec le mot proposé, de le corriger manuellement, del�ignorer ou de l�inclure dans le dictionnaire pour qu�il soit validé comme motcorrect.

Personnalisation du vérificateur orthographique

Vous pouvez personnaliser la façon dont le vérificateur orthographiquerecherche les erreurs d�orthographe ou de majuscule. Vous pouvez, parexemple, décider que le vérificateur orthographique émettra un signal sonoredès qu�il rencontre une erreur éventuelle. Les options que vous activezrestent en vigueur pour toutes les sessions de vérification orthographiquetant que vous ne les changez pas.

Saisie et modification des données d�une table 181

Pour détecter les erreurs d�orthographe1 Cliquez sur le champ à vérifier.

2 Cliquez sur Outils, Vérification de l�orthographe.

3 Lorsque le vérificateur s�arrête sur un mot, choisissez l�une des optionsdisponibles ou modifiez le mot dans la zone Remplacer par.

� Pour pouvoir lancer le vérificateur orthographique, vous devez avoirouvert une table ou une fiche en mode Modification des données (cliquezsur Affichage, Modifier les données) et sélectionné un champ.

Pour remplacer un mot mal orthographié1 Cliquez sur le champ à vérifier.

2 Cliquez sur Outils, Vérification de l�orthographe.

3 Lorsque le vérificateur s�arrête sur un mot et qu�il propose une solutionde remplacement, choisissez le mot voulu dans la zone de listeSuggestions.

4 Cliquez sur Remplacer.

� Si le vérificateur ne suggère aucune alternative, cliquez sur Ignorer oumodifiez le texte manuellement dans la zone Remplacer par.

Pour ignorer les mots mal orthographiésVous pouvez demander au vérificateur orthographique d�ignorer une outoutes les occurrences d�un mot mal orthographié dans vos fiches et vostables.

Pour ignorer une occurrence d�un mot

1 Cliquez sur le champ à vérifier.

2 Cliquez sur Outils, Vérification de l�orthographe.

3 Lorsque le vérificateur s�arrête sur un mot, cliquez sur Ignorer.

Utilisez cette option chaque fois qu�il identifie une occurrence d�un motque vous voulez laisser tel quel. Le vérificateur orthographique ignorel�occurrence courante, mais signalera toutes les autres occurrences dumême mot.

182 Paradox 9 : Chapitre 4

Pour ignorer toutes les occurrences d�un mot

1 Cliquez sur le champ à vérifier.

2 Cliquez sur Outils, Orthographe.

3 Lorsque le vérificateur s�arrête sur un mot, cliquez sur Ignorer tout.

Le vérificateur ignore alors ce mot pendant tout le reste de la session devérification.

Pour modifier le texte manuellement au cours d�une vérificationorthographique

1 Cliquez sur le champ à vérifier.

2 Cliquez sur Outils, Orthographe.

3 Lorsque le vérificateur s�arrête sur un mot, cliquez sur la zone Remplacerpar et saisissez les modifications.

4 Cliquez ensuite sur Remplacer pour poursuivre la vérification.

Personnalisation des options du vérificateur orthographiqueÀ l�aide du bouton Options, vous pouvez configurer le vérificateurorthographique de façon à ce qu�il recherche les erreurs de majuscule etvérifie les mots comportant des lettres et des nombres.

Pour vérifier les mots contenant à la fois des lettres et desnombres

1 Cliquez sur le champ à vérifier.

2 Cliquez sur Outils, Orthographe.

3 Cliquez sur le bouton Options.

4 Activez l�option Vérifier mots et nombres.

5 Cliquez sur Démarrer.

Cette option risque de ne pas exister pour toutes les langues.

Pour vérifier les erreurs de majuscule

1 Cliquez sur le champ à vérifier.

2 Cliquez sur Outils, Orthographe.

3 Cliquez sur le bouton Options.

4 Activez l�option Vérifier les erreurs de majuscule.

Saisie et modification des données d�une table 183

5 Cliquez sur Démarrer.

Cette option vous permet de détecter les mots comportant desmajuscules ne se trouvant pas au début d�un mot (tel que dEs). Cetteoption risque de ne pas exister pour toutes les langues.

Pour émettre un signal sonore en cas de faute

1 Cliquez sur le champ à vérifier.

2 Cliquez sur Outils, Orthographe.

3 Cliquez sur le bouton Options.

4 Activez l�option Signal sonore en cas de faute.

5 Cliquez sur Démarrer.

Choix de la langue du vérificateur orthographiqueLe format de date, d�heure, de symbole monétaire et d�autre texte varie enfonction de chaque langue. Utilisez la fonction Langue pour vérifier lesconventions de formatage d�une autre langue.

Par exemple, vous pouvez demander au vérificateur orthographique deformater toutes les dates de votre fiche ou de votre table en fonction de lalangue choisie (12 avril 1998 en français, par exemple).

Aucun autre module de langue n�est nécessaire pour vérifier les conventionsde formatage d�une langue différente. Toutefois, si vous voulez vérifierl�orthographe ou la grammaire d�un champ dans une autre langue, il faudravous procurer un module de langue supplémentaire.

Pour choisir une langue

1 Cliquez sur Outils, Orthographe.

2 Cliquez sur Options, Langue.

3 Choisissez une langue dans la zone de liste et cliquez sur OK.

� Si vous voulez que cette langue soit la langue par défaut du vérificateurorthographique, activez l�option Enregistrer comme langue par défaut desoutils d�écriture.

184 Paradox 9 : Chapitre 4

Ajout de mots au dictionnaire du vérificateur orthographiqueLorsque le vérificateur orthographique détecte un mot inconnu tel qu�unterme technique ou un nom propre, il le considère comme une faute. Il suffit,dans ce cas, d�ajouter le terme au dictionnaire pour que le vérificateur nebute plus dessus par la suite.

Pour ajouter des termes au dictionnaire

1 Cliquez sur Outils, Orthographe.

2 Lorsque le vérificateur s�arrête sur un mot et que vous voulez ajouter cemot au dictionnaire, cliquez sur Ajouter.

Le vérificateur ne le détectera plus en tant que faute.

Utilisation des données graphiquesUn champ graphique peut contenir des données telles que des images ou desgraphiques de type image numérisée, mode trait ou fichier graphique créésdans une application graphique (peinture ou dessin).

Paradox vous offre deux moyens d�insérer un graphique dans un champ :

� à l�aide des commandes Couper, Copier et Coller ;

� à l�aide de la commande Coller depuis.

Pour coller un graphique dans un champ graphique, passez en mode Éditionet collez le graphique depuis le Presse-papiers ou un fichier.

� Il est impossible de modifier un graphique dans Paradox ; vous devez lemodifier dans son application source.

Insertion d�un graphique à l�aide des commandes Couper et Coller ouCopier et Coller

Paradox vous permet de rechercher un graphique dans une autre application,de le couper ou de le copier dans le Presse-papiers puis de le coller dans unchamp graphique Paradox.

Pour insérer un graphique dans un champ graphique depuis uneapplication Windows prenant en charge le Presse-papiers

1 Ouvrez le ficher graphique dans son application source.

2 Sélectionnez le graphique et coupez-le ou collez-le dans le Presse-papiers.

Saisie et modification des données d�une table 185

3 Ouvrez la table ou la fiche Paradox dans laquelle insérer le graphique.

4 Appuyez sur F9 pour passer en mode Édition.

5 Sélectionnez le champ dans lequel coller le graphique.

6 Cliquez sur Édition, Coller.

Paradox extrait le graphique du Presse-papiers et l�insère dans le champgraphique.

� Lorsque vous collez un graphique dans un champ graphique, Paradox leconvertit en fichier .BMP.

Insertion d�un graphique à l�aide de la commande Coller depuisParadox vous laisse insérer directement des fichiers de type .BMP, .PCX,.TIF, .GIF, JPG ou .EPS dans un champ graphique et ce, sans ouvrirl�application source du graphique. Il vous suffit d�utiliser la commandeÉdition, Coller depuis.

Pour insérer un graphique dans un fichier graphique sansl�intermédiaire du Presse-papiers

1 Cliquez sur le champ dans lequel insérer le graphique.

2 Appuyez sur F9 pour passer en mode Édition.

3 Cliquez sur Édition, Coller depuis.

4 Dans la boîte de dialogue Coller depuis, choisissez le fichier graphiquevoulu.

5 Cliquez sur Ouvrir.

Paradox insère le graphique dans le champ graphique.

� Lorsque vous collez un graphique dans un champ graphique, Paradox leconvertit en fichier .BMP.

186 Paradox 9 : Chapitre 4

Recherche et remplacement des donnéesLes commandes de recherche du menu Enregistrement vous permettentd�effectuer des recherches sur des enregistrements, des champs et desvaleurs d�une table ou d�une fiche.

Paradox vous propose deux façons de modifier rapidement des valeurs dechamp existantes en mode Édition ou Vue mémo :

� Utilisation de la commande Remplacer pour modifier la valeur d�un champ,

� Utilisation de la commande Rechercher et remplacer pour modifier unechaîne d�un champ mémo ou d�un objet texte.

Vous pouvez également utiliser les opérateurs COMME, SAUF,IDENTIQUE, ainsi que d�autres opérateurs de requête pour rechercher desdonnées à l�aide de requêtes. Vous pouvez aussi utiliser une requêteREMPLACERPAR pour remplacer des valeurs de champ.

Si vous travaillez dans un créateur SQL ou IDE, libre à vous d�utiliser lescommandes de recherche et de remplacement pour rechercher et remplacerdu texte dans des requêtes SQL ou dans des scripts ObjectPAL.

Utilisez les commandes de recherche du menu Enregistrement dans unetable ou dans une fenêtre de fiche en mode Exécution pour rechercher desenregistrements et des valeurs dans une table. Vous pouvez inclure descaractères génériques lors de la recherche.

Utilisation des caractères génériques lors de la recherche

Si vous ne vous souvenez pas de l�orthographe ou de la syntaxe exacte desdonnées que vous recherchez, faites appel aux caractères génériques. Ilsvous permettent de créer des modèles sur lesquels Paradox basera sarecherche. Pour plus d�informations, reportez-vous à la rubrique Caractèresgénériques à la page 191.

Recherche d�un numéro d�enregistrement, d�un champ ou d�unevaleur de champ

La commande Rechercher vous permet de rechercher un numérod�enregistrement, un champ ou une valeur de champ d�une table et d�yaccéder. Le numéro d�enregistrement d�une table Paradox estautomatiquement affecté par Paradox et ne peut pas être modifié. Ce numéroindique la position de l�enregistrement dans la table. Lors de la recherched�une valeur, Paradox se positionne sur la première occurrence de la valeurcorrespondant à vos critères de recherche. Vous pouvez alors utiliser lacommande Occurrence suivante pour passer aux occurrences suivantes.

Vous devez tout d�abord ouvrir la table adéquate afin de rechercher unenregistrement, un champ ou une valeur.

Saisie et modification des données d�une table 187

Pour rechercher un enregistrement d�une table

1 Cliquez sur Enregistrement, Rechercher, N° enregistrement.

2 Entrez le numéro d�enregistrement.

Pour rechercher un champ

1 Cliquez sur Enregistrement, Rechercher, Champ.

2 Choisissez le nom du champ.

Pour rechercher une valeur dans un champ

1 Cliquez sur Enregistrement, Rechercher, Valeur.

2 Choisissez le nom du champ.

3 Dans la zone Valeur, entrez la valeur recherchée en précisant lesopérateurs appropriés. Vous pouvez également activer l�une des optionssuivantes :

� La case à cocher Différence MAJ/min pour que Paradox rechercheuniquement les occurrences utilisant la même casse que la valeursaisie.

� Le bouton Correspondance exacte si vous n�utilisez aucun caractèregénérique dans votre recherche.

� Le bouton @ et .. si vous utilisez l�un de ces deux caractèresgénériques dans votre recherche.

� Le bouton Correspondance modèle avancé si vous utilisez un ouplusieurs des nombreux caractères génériques Paradox (autre que@ et ..) dans votre recherche.

Pour rechercher l�enregistrement suivant avec la valeur définie

� Cliquez sur Enregistrement, Occurrence suivante pour rechercherl�occurrence suivante de la valeur recherchée.

� Vous pouvez améliorer les performances si le champ utilisé comporte unindex et que le paramètre MAJ/min correspond à l�opération Rechercher.

188 Paradox 9 : Chapitre 4

Recherche et remplacement des valeurs d�un champCompte tenu du volume de données présentes dans votre base de données,la recherche d�une information particulière peut paraître une opérationcomplexe. Toutefois, Paradox vous permet de rechercher et de remplacer lesvaleurs d�un champ à moindre effort.

Pour rechercher et remplacer des valeurs d�un champ

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez sur Enregistrement, Rechercher, Remplacer.

3 Choisissez le champ recherché.

4 Dans la zone Valeur, entrez la valeur recherchée en précisant lesopérateurs appropriés.

5 Entrez la valeur de remplacement dans la zone Remplacer par.

Paradox recherche la première occurrence.

6 Vous pouvez également activer l�une des options suivantes :

� La case à cocher Différence MAJ/min pour que Paradox rechercheuniquement les occurrences utilisant la même casse que la valeursaisie.

� Le bouton Correspondance exacte si vous n�utilisez aucun caractèregénérique dans votre recherche.

� Le bouton @ et .. si vous utilisez l�un de ces deux caractèresgénériques dans votre recherche.

� Le bouton Correspondance modèle avancé si vous utilisez un ouplusieurs des nombreux caractères génériques Paradox (autre que @et ..) dans votre recherche.

Pour ignorer cette occurrence de la valeur et passer àl�occurrence suivante

� Cliquez sur le bouton Ignorer cette occurrence.

Pour remplacer cette occurrence de la valeur et rechercherl�occurrence suivante

� Cliquez sur le bouton Changer cette occurrence.

Pour remplacer toutes les occurrences de la valeur

� Cliquez sur le bouton Changer toutes les occurrences.

Saisie et modification des données d�une table 189

Recherche d�un enregistrement ou d�une valeur spécifique d�une ficheou d�une table

Si vous ne vous souvenez pas du champ qui contient la valeur recherchée,Paradox vous donne la possibilité d�effectuer une recherche par numérod�enregistrement, par valeur ou par champ. Rien ne vous empêche depréciser une valeur de remplacement.

Pour rechercher un enregistrement ou une valeur spécifiqued�une fiche ou d�une table

� Cliquez sur Enregistrement, Rechercher, puis choisissez l�un deséléments suivants du sous-menu :

Commande Action

Champ Place le curseur dans le champ spécifié. Cette commande n�est disponibleque dans les tables.

Numéro d�enregistrement Place le curseur sur le numéro d�enregistrement spécifié.

Valeur Place le curseur sur la valeur de champ spécifiée.

Remplacer Remplace la valeur spécifiée par une autre valeur définie.

Pour rechercher plusieurs occurrences d�un élément

� Cliquez sur Enregistrement, Occurrence suivante.

Recherche et remplacement de texte dans les champs mémo et lesobjets texte

Un champ mémo peut être très volumineux. Paradox vous permet derechercher et de remplacer un texte dans les champs mémo et les objetstexte contenus dans une table ou une fiche ouverte.

Pour rechercher et remplacer du texte dans un champ mémo, unchamp mémo formaté ou un objet texte

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez sur le champ mémo approprié pour le sélectionner.

3 Cliquez sur Affichage, Vue mémo.

4 Sélectionnez le texte que vous recherchez.

5 Cliquez sur Édition, Rechercher et remplacer.

6 Saisissez le texte recherché dans la zone Rechercher en utilisant lescaractères génériques voulus.

190 Paradox 9 : Chapitre 4

7 Saisissez le texte de remplacement dans la zone Remplacer par.

8 Vous pouvez également activer l�une des options suivantes :

� La case à cocher Différence MAJ/min pour rechercher exactement letexte saisi, en tenant compte des majuscules et des minusculesutilisées.

� La case à cocher Correspondance modèle avancé si vous avez utilisédes caractères génériques dans votre recherche.

Paradox localise la première occurrence du texte.

Pour remplacer cette occurrence

� Cliquez sur Remplacer.

Pour remplacer toutes les occurrences du texte :

� Cliquez sur Tout remplacer.

� Vous pouvez également utiliser la boîte de dialogue Recherche etremplacement pour effectuer une recherche sur des objets texte situésdans une fenêtre Conception de fiche ou Conception d�état.

Caractères génériquesSi vous ne vous souvenez pas exactement des données que vous recherchezdans votre table, vous pouvez utiliser des modèles ou des caractèresgénériques. Supposons, par exemple, que vous vouliez rechercher un clientnommé Elliot dans votre table de clients sans être certain de l�orthographe. Ilpeut s�agir de Elliott, Eliot ou Elliot. Paradox vous permet de spécifier lemodèle de recherche suivant : El..t.

Utilisation de caractères génériques dans des exemples de chaînesde recherche

Les caractères génériques s�avèrent particulièrement utiles lorsque vousvoulez rechercher des données sans savoir exactement quoi et où. Lesexemples suivants présentent des chaînes de recherche où figurent descaractères génériques, ainsi que le résultat de la recherche après activationde l�option Correspondance modèle avancé.

Saisie et modification des données d�une table 191

Chaîne de recherche Résultat

pi@e pile et pire, mais pas pie

m..er mouler, murer et muer

^ité ité, uniquement lorsque cette chaîne de caractères apparaît en tête deparagraphe (lorsque la case Différence MAJ/min est désactivée)

able$ able, uniquement lorsque cette chaîne de caractères apparaît en fin deparagraphe (et n�est pas suivie par un point)

(succinct) succinct

[succinct] s, u, c, i, n ou t

[^succinct] Tout caractère sauf s, u, c, i, n ou t

à|(au) à ou au (au est un groupe)

mains? main et mains (main avec ou sans s)

suc?è? Sue lorsque l�option Différence MAJ/min est désactivée. Le premieropérateur ? représente un c ou aucun et le second ? un s ou aucun.

suc*è* succès ou Sue (lorsque l�option Différence MAJ/min est activée). Lepremier opérateur * remplace un nombre quelconque de c ou aucun et lesecond * un nombre quelconque de s ou aucun.

suc+es+ success uniquement : le premier opérateur + remplace un ou plusieurs cet le second + un ou plusieurs s

4\^2 4^2 (lu « quatre au carré »). Sans la barre oblique inversée, seuls lesparagraphes se terminant par 4 suivis par un paragraphe commençantpar 2 seraient trouvés.

pommes\\poires pommes\poires

pommes\\\\poires pommes\\poires

� Vous pouvez utiliser les opérateurs ?, * ou + si vous n�êtes pas certain del�orthographe d�un terme.

Caractères génériques disponibles pour une recherche de valeursVous pouvez utiliser une gamme étendue de caractères génériques dans unechaîne de recherche lorsque vous activez l�option Correspondance modèleavancé dans les boîtes de dialogue de recherche et de remplacement.

192 Paradox 9 : Chapitre 4

Caractère générique Représente

.. Une valeur quelconque

^ Le début d�un champ

$ La fin d�un champ

* Aucune ou plusieurs occurrences de l�expression avant l�opérateur *

+ Une ou plusieurs occurrences de l�expression avant l�opérateur +

? Une ou aucune occurrence de l�expression avant l�opérateur ?

| Occurrence de caractères avant ou après la barre verticale

[abc] Occurrence de l�un des caractères contenus entre crochets

[^abc] Occurrence de l�un des caractères non contenu dans les crochets

(abc) Un groupe (une série de constantes)

\ Utilisez cet opérateur comme un caractère normal

\r Retour chariot

\n Changement de ligne

\t Tabulation

\f Saut de page

Pour obtenir quelques exemples, reportez-vous à la rubrique Caractèresgénériques à la page 191.

Saisie des données à l�aide des tables de référenceLa fonction Table de référence vous permet de consulter, dans une autretable, les valeurs que peut prendre un champ. Cette nouvelle table s�appellela table de référence. Une fois que vous connaissez la valeur correcte, vouspouvez la saisir dans le champ ou demander à Paradox de le faire à votreplace. Pour pouvoir utiliser les tables de référence, vous devez définir unetable de référence sur le champ dans lequel vous allez saisir les valeurs. Pourplus d�informations sur la définition et l�utilisation d�une table de référence,reportez-vous à la rubrique Tables de référence à la page 83.

Si vous saisissez des données dans une table et vous placez dans un champfaisant appel à une table de référence, vous pourrez consulter la table deréférence et choisir une valeur appropriée (si l�option Remplissage etaffichage a été sélectionnée) ou non (si l�option Remplissage a étésélectionnée). C�est un moyen de protéger les valeurs. Un utilisateur habilitéconnaîtra la valeur correcte.

Saisie et modification des données d�une table 193

Verrouillage des enregistrementsParadox verrouille automatiquement un enregistrement dès que vouscommencez à modifier ce dernier et le déverrouille lorsque vous le quittez.Un message apparaît dans la barre d�état pour vous signaler la présence deces verrous automatiques. Lorsque vous verrouillez un enregistrement, lesautres utilisateurs peuvent afficher cet enregistrement, mais toutemodification ou suppression leur sont interdites. Le verrouillage d�unenregistrement empêche, par ailleurs, tout autre utilisateur de placer unverrou en lecture ou en écriture sur la table et d�effectuer des opérationsdemandant un verrou de type lecture ou exclusif (par exemple, larestructuration de la table). Rien ne vous empêche de verrouillermanuellement un enregistrement.

Verrouillage et déverrouillage des enregistrementsParadox vous permet d�assurer la sécurité des données en vous laissantverrouiller un enregistrement. Vous pouvez déverrouiller l�enregistrementlorsque vous voulez le rendre accessible aux autres utilisateurs.

Pour verrouiller manuellement un enregistrement

1 Ouvrez une table et appuyez sur F9 pour passer en mode Édition.

2 Sélectionnez un enregistrement de la table.

3 Cliquez sur Enregistrement, Verrouiller.

La barre d�état vous indique que l�enregistrement est verrouillé.

Paradox déverrouille automatiquement un enregistrement lorsque vousquittez ce dernier ou lorsque vous passez du mode Édition au modeAffichage.

Pour déverrouiller un enregistrement

1 Sélectionnez un enregistrement verrouillé de la table.

2 Cliquez sur Enregistrement, Déverrouiller.

� Si vous avez verrouillé manuellement un enregistrement, vous devez ledéverrouiller pour que les autres utilisateurs puissent le modifier ou lesupprimer. Si vous tentez de modifier un enregistrement et découvrez quecet enregistrement a été verrouillé par un autre utilisateur, consultez labarre d�état pour connaître le nom de cet utilisateur.

194 Paradox 9 : Chapitre 4

� Vous pouvez également verrouiller un enregistrement en le sélectionnantet en appuyant sur F5 ou CTRL+L.

Validation d�un enregistrement sans le déverrouillerParadox enregistre (valide) automatiquement toutes les modificationseffectuées lorsque vous quittez l�enregistrement. Néanmoins, vous pouvezenregistrer vos modifications avant de quitter l�enregistrement.

Pour valider un enregistrement sans le déverrouiller

� Cliquez sur Enregistrement, Valider/Conserver le verrou.

� Lors de la validation, il peut arriver que Paradox déplace unenregistrement. Cela se produit si la table est indexée et que le nouvelenregistrement n�occupe pas la place adéquate dans la table. Paradox placealors l�enregistrement à l�endroit approprié. Lorsque vous cliquez surEnregistrement, Valider/Conserver le verrou, l�enregistrement déplacéreste actif et Paradox met à jour la vue de la table si nécessaire.

Saisie et modification des données d�une table 195

Fiches et états 197

FICHES ET ÉTATS 5Les fiches et états, également appelés documents de conception, permettentd�organiser et de présenter les données dans divers formats. Par exemple,vous pouvez créer des fiches et états qui :

� affichent un seul enregistrement à la fois,

� affichent plusieurs enregistrements à la fois,

� n�affichent que certains champs d�une table,

� contiennent des fonctionnalités de conception, telles que des lignes,cadres, graphiques, ombrages ou couleurs spéciales,

� réalisent des calculs directement à l�écran.

Les fiches et états peuvent également lier des tables de manière à ce que desinformations stockées dans des tables séparées apparaissent ensemble.

La principale différence entre les fiches et les états tient au fait que les fichesservent également d�outils d�édition. Elles vous permettent d�afficher et demodifier les données de vos tables. Toute modification effectuée dans unefiche se reflète dans la ou les tables correspondantes. Par exemple, vouspouvez créer des fiches qui ajoutent des données dans plusieurs tables à lafois.

Les états sont des outils d�impression. Ils vous permettent de formater etd�imprimer les données. Par exemple, ils vous permettent de créer desformulaires, des étiquettes de publipostage, des factures et desprésentations.

Création d�une fiche ou d�un état

La création d�une fiche ou d�un état implique normalement les étapesgénérales suivantes :

1 Création d�un modèle relationnel

2 Création d�une disposition

3 Placement d�un objet de conception dans un document

Création d�une fiche ou d�un état à l�aide des ExpertsLes Experts de Paradox permettent de créer des fiches, des états ou desétiquettes de publipostage. Certaines fonctions de Paradox, telles que lacréation d�étiquettes de publipostage, sont plus faciles à réaliser avec l�aidedes Experts. Pour d�autres, telle qu�une fusion de publipostage, l�utilisationdes Experts est indispensable.

Pour créer une fiche à l�aide d�un Expert

1 Cliquez sur Outils, Experts.

2 Cliquez deux fois sur l�icône Fiche.

3 Suivez les instructions affichées dans l�Expert de fiche.

Pour créer un état à l�aide d�un Expert

1 Cliquez sur Outils, Experts.

2 Cliquez deux fois sur l�icône État.

3 Suivez les instructions affichées dans l�Expert d�état.

Pour créer des étiquettes de publipostage à l�aide d�un Expert

1 Cliquez sur Outils, Experts.

2 Cliquez deux fois sur l�icône Étiquette de publipostage.

3 Suivez les instructions affichées dans l�Expert d�étiquettes.

� Si vous souhaitez que Paradox exécute l�Expert automatiquement chaquefois que vous créez une nouvelle fiche ou un nouvel état, cliquez surOutils, Paramètres, Préférences pour ouvrir la boîte de dialoguePréférences. Cliquez ensuite sur l�onglet Fiches/États et activez l�optionToujours l�Expert.

198 Paradox 9 : Chapitre 5

Création d�un modèle relationnelUn modèle relationnel est une représentation graphique des relations quipeuvent exister entre différentes tables. Vous disposez ainsi d�un moyensimple d�indiquer à Paradox quelles données de table il doit afficher oumanipuler et comment ces tables sont liées.

Il existe deux types de modèles relationnels :

� Les modèles relationnels associés à une fiche ou à un état. Lorsque vouscréez une fiche ou un état, vous devez indiquer à Paradox quelles tablesdoivent être utilisées et la façon dont ces tables sont liées entre elles (surquels champs). Si vous créez un modèle relationnel dans l�intention decréer une fiche ou un état, utilisez la boîte de dialogue Modèle relationnel.

� Les modèles relationnels indépendants. Vous pouvez créer un modèlerelationnel séparément sans créer de fiche ou d�état, à l�aide duConcepteur de modèle relationnel, en vue d�une utilisation ultérieure. Cesmodèles sont enregistrés avec l�extension .DM.

Un modèle relationnel peut être basé sur une ou plusieurs tables. Pourutiliser des données d�une fiche, d�un état ou d�une requête qui proviennentde plusieurs tables, vous devez créer un modèle relationnel multi-table. Vousdéfinissez les relations entre les tables en les liant entre elles.

Modèle relationnel mono-tableUn modèle relationnel mono-table est basé sur une seule table. Il sert à créerdes fiches et états pour lesquels vous n�avez besoin que des données d�uneseule table. Cependant, si l�intégrité référentielle a été déclarée entre cettetable et une autre non incluse dans le modèle relationnel, certainesmodifications risquent de violer cette intégrité.

Modèle relationnel multi-tableUn modèle relationnel multi-table est basé sur plusieurs tables. L�une d�ellesest définie comme table maître et peut être liée à une ou plusieurs tablesdétail. Ouvrez le Concepteur de modèle relationnel ou la boîte de dialogueModèle relationnel pour définir la relation entre les tables. À l�aide de lasouris, tracez une ligne entre les champs dans les tables. Si les champs necorrespondent pas, la boîte de dialogue Propriétés du lien s�affiche et vouspermet de sélectionner les champs que vous souhaitez lier.

� Si vous avez établi une intégrité référencielle entre les deux tables quevous liez, Paradox crée le lien automatiquement lorsque vous tirez le trait.Sinon vous devez créer le lien à partir de la boîte de dialogue Propriétésdu lien qui s�affiche dès que vous essayez de lier des champs nonconcordants. Pour plus d�informations, reportez-vous à la rubrique Liaisondes tables dans un modèle relationnel à la page 203.

Fiches et états 199

Le fait de tracer une ligne de la première table à la seconde fait de lapremière la table maître et de la seconde la table détail. Si vous tracez uneligne de la seconde table à la première, la seconde devient la table maître etla première la table détail. La flèche indique la direction du lien. Elle pointetoujours vers la table détail.

Le type de relation créé entre deux tables dépend de la correspondance entreles index de la table détail et la structure de fichier de la table maître :

� Une flèche double indique une relation multi-valeur (un-à-plusieurs).

� Une flèche simple indique une relation mono-valeur (un-à-un ouplusieurs-à-un).

Modèle relationnel complexe

Les modèles relationnels complexes peuvent inclure une combinaison derelations mono et multi-valeur. Vous pouvez lier les tables liées dans lemodèle relationnel existant jusqu�à obtention du résultat désiré. Tant quevous identifiez les index correctement, vous pouvez créer des modèlesrelationnels aussi complexes que nécessaires. Pour plus d�informationsreportez-vous aux rubriques Index à la page 70 et Définition d�un champ clé àla page 68.

Peut-être préférerez-vous lier les tables au fur et à mesure que vous lesajoutez au modèle relationnel au lieu de les ajouter d�abord et de les lierensuite. Cela vous évite de faire défiler toutes les tables dans le volet desmodèles relationnels. Pour plus d�informations, reportez-vous à la rubriqueCréation d�un lien à la page 205.

Modèle relationnel pour des états avec groupes

Lorsque vous créez des modèles relationnels pour des états avec bandes degroupe, vous avez la possibilité d�inverser la liaison des tables, en procédantde la table détail vers la table maître. Vous disposez ainsi d�un choix plusimportant de champs sur lesquels effectuer les regroupements, lorsque vousajoutez une bande de groupe dans l�état.

Supposons que vous créiez un état basé sur un modèle relationnel utilisantles tables Client, Commandes et Lignes. Si, lorsque vous ajoutez une bandede groupe à l�état, vous connectez ces tables de la manière habituelle, Client

Commandes Lignes (en créant une relation multi-valeur), laboîte de dialogue Définition du groupe ne mettra à votre disposition que leschamps de la table Client comme choix dans l�option Grouper par valeur duchamp.

200 Paradox 9 : Chapitre 5

Création et ouverture d�un modèle relationnelParadox propose deux méthodes pour la création de modèles relationnels : laboîte de dialogue Modèle relationnel et le Concepteur de modèle relationnel.Les fonctions de ces deux outils sont similaires. La principale différence estque la boîte de dialogue vous permet de créer un tel modèle relationnelconjointement avec une fiche ou un état, et le concepteur un modèlerelationnel séparé ou totalement nouveau. Si vous ouvrez un modèlerelationnel non associé à une fiche ou à un état spécifique, utilisez depréférence le Concepteur de modèle relationnel.

Le Concepteur de modèle relationnel et la boîte de dialogue Modèlerelationnel permettent de :

� modifier le modèle relationnel d�un document de conception,

� afficher un modèle relationnel indépendant ou (uniquement pour la boîtede dialogue) afficher celui de la fiche active ou de l�état actif.

En plus de ce que nous venons d�évoquer, le Concepteur de modèlerelationnel vous permet :

� de créer des modèles relationnels sans créer de fiche, d�état ou derequête,

� d�imprimer des modèles relationnels.

Création d�un modèle relationnel à l�aide de la boîte de dialogueModèle relationnel

Cette boîte de dialogue permet de créer des modèles relationnels basés surdes tables, des requêtes ou d�autres modèles relationnels créésprécédemment.

Lorsque vous placez une requête dans le panneau des modèles relationnelsde la boîte de dialogue correspondante, Paradox crée la fiche ou l�état basésur cette requête. Au lieu d�exécuter une requête et de construire uneconception à partir de la table Réponse obtenue, vous créez la conception surla base de la requête elle-même. Lorsque vous exécutez une fiche ou un étatbasé sur une requête, Paradox exécute la requête, puis affiche ou imprime ledocument.

Pour créer un modèle relationnel basé sur une ou plusieurstables

1 Ouvrez la boîte de dialogue Modèle relationnel et cliquez sur Format,Modèle relationnel.

2 Choisissez Tables dans la zone de liste.

3 Cliquez deux fois sur les tables pour les placer dans l�espace de travail.

Fiches et états 201

4 Déplacez les tables à l�aide de la souris pour les disposer dans l�espace detravail.

5 Liez les tables en faisant glisser un enregistrement de la table maître versla table détail. Pour plus d�informations, reportez-vous à la rubriqueCréation d�un lien à la page 205.

6 Pour enregistrer le modèle relationnel, cliquez sur OK.

7 Pour enregistrer le modèle relationnel dans le Concepteur de modèlerelationnel, cliquez sur Enregistrer.

Pour créer un document de conception basé sur une requête

1 Ouvrez la boîte de dialogue Modèle relationnel et cliquez sur Format,Modèle relationnel.

2 Choisissez Requêtes dans la zone de liste.

3 Cliquez deux fois sur les requêtes pour les placer dans l�espace de travail.

4 Pour enregistrer, cliquez sur OK.

Une requête doit être la table maître dans une conception multi-table.

� Les tables sont placées dans l�espace de travail les unes au-dessus desautres. Vous pouvez disposer les tables en fonction de vos besoins.Lorsque vous enregistrez le modèle relationnel, la disposition des tablesest également sauvegardée.

Création d�un modèle relationnel à l�aide du Concepteur de modèlerelationnel

Le Concepteur de modèle relationnel permet de créer et d�enregistrer unmodèle relationnel indépendamment des autres objets de la base de données.Servez-vous ensuite de ce modèle comme base pour la conception d�une basede données, y compris la disposition des fiches et des états.

Pour créer un modèle relationnel basé sur une ou plusieurstables

1 Ouvrez le Concepteur de modèle relationnel et cliquez sur Fichier,Nouveau, Modèle relationnel.

2 Sélectionnez Tables dans la zone de liste située au bas de la boîte dedialogue Ajout d�un objet.

3 Sélectionnez une table dans la liste et cliquez sur Ajouter.

202 Paradox 9 : Chapitre 5

4 Déplacez les tables à l�aide de la souris pour les disposer dans l�espace detravail.

5 Liez les tables comme vous le feriez dans la boîte de dialogue Modèlerelationnel. Pour plus d�informations, reportez-vous à la rubrique Créationd�un lien à la page 205.

6 Cliquez sur Fichier, Enregistrer ou sur Fichier, Enregistrer sous.

7 Entrez le nom choisi dans la zone de texte Nom du fichier.

� Lorsque vous enregistrez le modèle relationnel, la disposition des tablesest également sauvegardée.

Liaison de tables dans un modèle relationnelLes liens vous permettent d�établir un rapport entre les données de deuxtables ou plus dans un document de conception.

Pour comprendre comment Paradox lie les tables dans les fiches et états,voyons d�abord comment Paradox trie et localise les données en fonction desindex (clé et index secondaires) que vous indiquez. Pour plus d�informations,reportez-vous aux rubriques Définition d�un champ clé à la page 68 et Index àla page 70.

Vous créez des liens sur des champs communs. Par exemple, les tablesClient et Commandes ont chacune un champ No de client, sur lequel vouspouvez les lier. Dans les tables Paradox, le nom du champ ne doit pasobligatoirement être identique dans les deux tables, mais le type et la tailledoivent correspondre.

Supposons que vous créiez un modèle relationnel utilisant les tablesexemples Clients et Commandes, comportant toutes deux un champ No declient. Le champ No de client de la table Commandes contient des valeursqui correspondent à des enregistrements de la table Client. Il est plus simpleet plus efficace de conserver les informations de commande et de client dansdes tables séparées. Mais il est parfois nécessaire de voir les données desdeux tables en même temps. Dans ce cas vous devez les lier. Si vous liezClient et Commandes, Paradox regarde chaque valeur du champ No de clientde la table Client et, à l�aide des index, cherche les valeurs correspondantesdans le champ No de client de la table Commandes. Ainsi, vous savez quelclient a passé quelle commande.

Fiches et états 203

Paradox utilise un index pour se rappeler où les valeurs se trouvent. Si vouscréez un index secondaire sur un champ, Paradox regarde chaque valeur duchamp et crée un fichier dans lequel est noté l�emplacement de chaquevaleur (numéro d�enregistrement) dans la table. L�index permet à Paradox deretrouver facilement les enregistrements. Si vous créez un index maintenu,Paradox met à jour le fichier d�index à chaque mise à jour de la table.

Lorsque vous liez deux tables, Paradox évalue une valeur dans la table àpartir de laquelle vous établissez le lien (la table maître) et recherche toutesles valeurs correspondantes dans la table vers laquelle vous établissez le lien(la table détail). La table détail doit donc être indexée sur le champ sur lequelvous voulez établir le lien. La table détail peut avoir soit un index primaire(clé) soit un index secondaire maintenu sur le champ de liaison.

Vous pouvez, par exemple, lier la table Client avec la table Commandes sur lechamp No de client, à condition d�avoir un index sur ce champ dans la tabledétail. Il s�agit, dans ce cas, d�un lien un-à-plusieurs car, pour chaqueenregistrement de client, vous pouvez avoir zéro ou plusieursenregistrements correspondants dans la table Commandes. Vous pouvezégalement lier la table Commandes avec la table Client sur le champ No declient (l�index primaire de la table Client). Il s�agit, dans ce cas, d�un lienplusieurs-à-un car pour chaque commande il n�y a qu�un seul enregistrementdans la table Client.

Types de liens

Vous pouvez lier des tables via :

� une relation mono-valeur (un-à-un ou plusieurs-à-un),

� une relation multi-valeur (un-à-plusieurs).

� Lors de la création d�une base de données, toutes les tables doivent êtreenregistrées dans le même répertoire, y compris les tables de référence.Bien que le Concepteur de modèle relationnel vous permette de vousdéplacer d�un alias à l�autre, vous ne devez pas lier des tables provenantde bases de données différentes ni créer de références entre celles-ci.Une base de données relationnelle exige que seules les tables d�un mêmerépertoire soient liées.

� Dans les tables dBASE, vous ne pouvez lier que sur des types de champsemblables, à moins d�utiliser un index d�expression dans le lien.

204 Paradox 9 : Chapitre 5

Description des liens et index

Relation mono-valeur

Une relation mono-valeur signifie que, pour chaque enregistrement d�unemême table, il y a zéro ou un seul enregistrement dans la table à laquelle elleest liée. Par exemple, la relation entre les tables exemples Lignes et Stockest mono-valeur car chaque article commandé (chaque valeur unique dansLignes) est un élément de stock (une valeur unique dans Stock).

Lorsque les tables Paradox ont un lien mono-valeur, Paradox traite leschamps des deux tables comme s�ils provenaient de la même. Vous pouvezregrouper les objets sur les tables liées par une relation mono-valeur. Il estpossible de les afficher dans le même objet table ou multi-enregistrement.

Dans une relation plusieurs-à-un, plusieurs enregistrements de la tablemaître sont liés à une même valeur de la table détail. Par exemple, la tableLignes liste les éléments spécifiques commandés par un client. Plusieurséléments pouvant être commandés simultanément, plusieursenregistrements de Lignes peuvent pointer vers la même valeurCommandes.

Relation multi-valeur

Une relation multi-valeur signifie que, pour chaque enregistrement de latable maître, il y a zéro, un seul ou plusieurs enregistrements d�une autretable à laquelle elle est liée. Par exemple, un seul client (un seulenregistrement dans la table Client) peut placer zéro, une seule ou plusieurscommandes (enregistrements dans la table Commandes). Chaqueenregistrement de la table Client peut donc avoir plusieurs enregistrementscorrespondants dans la table Commandes.

� Deux tables contenant des champs clés identiques ont une relationun-à-un. Dans ce cas, il est prudent de combiner ces tables en une seule.

Création d�un lienVous pouvez lier les tables en créant un document de conception ou unmodèle relationnel. Le fait de lier des tables ajoute au document deconception des informations provenant de ces tables.

Fiches et états 205

Pour lier deux tables Paradox

1 Ouvrez le Concepteur de modèle relationnel ou la boîte de dialogueModèle relationnel.

2 Cliquez sur la table maître et faites glisser un champ vers la table détail.

Dans certains cas, Paradox crée le lien immédiatement. Paradox le faitlorsqu�il y a une intégrité référentielle entre les deux tables. Cliquez surOK pour accepter ce lien. À défaut d�intégrité référentielle, définissez lelien à l�aide de la boîte de dialogue Propriétés du lien.

3 Pour définir le lien, cliquez avec le bouton droit de la souris et choisissezPropriétés du lien. Si vous tentez de lier des champs sans avoirpréalablement créé un lien, la boîte de dialogue Propriétés du liens�affichera.

4 Cliquez sur le bouton Ajouter ou Retirer pour sélectionner le champ detable maître (champ parent) qui correspond à l�index enfant.

5 Cliquez sur OK pour accepter le lien et revenir dans la boîte de dialogueou dans le Concepteur de modèle relationnel.

� Vous ne pouvez pas créer un lien à l�aide de champs de type BLOB, octetou logique car il est impossible de créer un index sur ce type de champ.

Définition ou retrait d�un lienDans la boîte de dialogue Définition d�un lien, Paradox affiche tous leschamps de la table maître dans la liste Champs.

Pour définir un lien

1 Ouvrez un modèle relationnel.

2 Faites glisser le champ sur lequel vous voulez lier la table détail vers latable maître.

� Si Paradox trouve un index de la table détail qui correspond au nom etau type du champ choisi, il complétera le lien.

� S�il ne trouve aucune correspondance de nom et type, la boîte dedialogue Propriétés du lien s�ouvre et Paradox utilise le premier indexde la table détail dont le type et la longueur concordent. Vous pouvezchoisir un autre index pour remplacer le choix automatique.

3 Dans la liste des index, sélectionnez celui à utiliser pour la table détail.

206 Paradox 9 : Chapitre 5

� Si vous utilisez une clé ou un index composite sur la table détail,sélectionnez les champs dans la table maître qui correspondent àcertains ou à tous les champs de l�index.

� Si vous utilisez une clé ou un index composite et si tous ses champscorrespondent, Paradox crée un lien un-à-un. Dans le cas contraire, ilcrée un lien un-à-plusieurs.

Pour supprimer un lien existant entre les tables d�un modèlerelationnel

1 Cliquez avec le bouton droit de la souris sur le lien.

2 Cliquez sur Délier.

Modification d�un lienLorsque vous choisissez un champ correspondant dans la table maître et unindex dans la table détail de la boîte de dialogue Propriétés du lien, Paradoxcrée un lien entre les deux.

Pour lier des tables à l�aide d�un champ ou d�un index différent

1 Dans le Concepteur ou la boîte de dialogue Modèle relationnel, cliquezavec le bouton droit de la souris sur la flèche, puis sélectionnez Délier.

2 Faites glisser un champ ou un index de la table maître vers la table détail.

Le modèle relationnel affiche le type de lien qui existe entre les tables.

� Deux tables liées par une double flèche ont une relation multi-valeur.Le sens de la flèche indique la direction du lien (maître vers détail).

� Les tables liées par une flèche simple ont une relation mono-valeur.

Ajout ou retrait d�une table du modèle relationnelVous pouvez ajouter ou retirer des tables soit dans le modèle relationnelcourant via une fiche ou un état soit dans un modèle relationnel enregistré.Dans le premier cas, utilisez la boîte de dialogue Modèle relationnel et lesmodifications sont immédiatement reproduites dans la fiche ou l�état courant.Dans le second cas, utilisez le Concepteur de modèle relationnel pourmodifier le modèle relationnel enregistré, indépendamment d�un documentde conception spécifique.

Pour ajouter une table à un modèle relationnel à l�aide duConcepteur de modèle relationnel

1 Cliquez sur Fichier, Ouvrir, Modèle relationnel.

Fiches et états 207

2 Sélectionnez un fichier de modèle relationnel, puis cliquez sur le boutonOuvrir.

3 Cliquez sur Édition, Ajouter un objet.

4 Cliquez deux fois sur la ou les tables que vous désirez ajouter ousélectionnez une table et cliquez sur le bouton Ajouter, puis sur OK.

Pour ajouter une table à un modèle relationnel à l�aide de laboîte de dialogue Modèle relationnel

1 Ouvrez la boîte de dialogue Modèle relationnel et cliquez sur Format,Modèle relationnel.

2 Cliquez deux fois sur la ou les tables à ajouter.

Pour retirer une table du modèle relationnel

� Dans la boîte de dialogue Modèle relationnel ou dans le Concepteur demodèle relationnel, cliquez avec le bouton droit de la souris sur la table etsélectionnez la commande Retirer une table.

� Il est impossible de retirer des tables maître du modèle relationnel. Vousdevez d�abord les délier.

Affichage d�un modèle relationnelIl est possible d�afficher les modèles relationnels associés à la fiche ou à l�étatactuellement actif ainsi que ceux non associés à un document particulier.Utilisez pour cela soit le Concepteur soit la boîte de dialogue Modèlerelationnel.

Affichage d�un modèle relationnelVous pouvez afficher un modèle relationnel dans le Concepteur de modèlerelationnel ou en tant que partie d�une fiche ou d�un état actif.

Pour afficher un modèle relationnel dans le Concepteur demodèle relationnel

1 Cliquez sur Ouvrir, Modèle relationnel.

2 Dans la boîte de dialogue Ouvrir un modèle relationnel, sélectionnez lemodèle relationnel que vous désirez visualiser.

3 Cliquez sur le bouton Ouvrir.

208 Paradox 9 : Chapitre 5

Pour afficher le modèle relationnel d�une fiche ou d�un état actif

� Cliquez sur Format, Modèle relationnel.

� Les tables sont affichées les unes à côté des autres dans le Concepteur etla boîte de dialogue Modèle relationnel. Vous pouvez modifier leurdisposition en les déplaçant à l�aide de la souris. Lorsque vous enregistrezle modèle relationnel, la disposition des tables est également sauvegardée.

Affichage des propriétés d�une table dans la boîte de dialogue Modèlerelationnel

Durant la conception d�une fiche ou d�un état, vous pouvez afficher le nomd�une table ainsi que les noms de ses champs. Vous pouvez égalementafficher ou modifier les propriétés suivantes d�une fiche : alias de table,lecture seule, traduction exacte et ajout automatique. Vous pouvez afficher etmodifier la propriété de filtre pour les fiches ainsi que pour les états.

Alias de table

Ouvre une boîte de dialogue Nom de table qui vous permet d�indiquer unalias pour une table dans un modèle relationnel.

Filtre

Ouvre la boîte de dialogue Filtre sur les tables qui vous permet de définir unfiltre pour la table afin de n�afficher que les données qui correspondent à vosindications.

Lecture seule

Empêche de modifier la table dans cette fiche. Vous pouvez toujours modifierla table dans un autre document ou dans sa fenêtre Table.

Traduction exacte

Cette propriété limite les caractères que vous pouvez entrer dans une table àceux qui se trouvent réellement dans le jeu de caractères du pilote de languede la table. Elle est activée par défaut.

Ajout automatique

Cette propriété crée automatiquement un nouvel enregistrement vierge dèsque vous dépassez le dernier enregistrement de la table. Elle est activée pardéfaut.

Fiches et états 209

Pour afficher les propriétés d�une table dans la boîte de dialogueModèle relationnel

1 Ouvrez une fiche dans la fenêtre de conception.

2 Cliquez sur Format, Modèle relationnel.

3 Cliquez avec le bouton droit de la souris sur la table.

4 Choisissez une propriété.

� Lorsque vous enregistrez un modèle relationnel, Paradox enregistre lespropriétés que vous avez définies pour chaque table du modèle. Sinécessaire, vous pouvez enregistrer le même modèle avec des propriétésdifférentes.

Utilisation des alias de tableVous pouvez affecter un nom différent, appelé alias, à une table. Les alias detable présentent les avantages suivants :

� Si vous utilisez la même table à plusieurs reprises dans un modèlerelationnel, les alias permettent d�éviter les confusions.

� Les fiches et états sont plus faciles à transférer lorsque vous utilisez desalias de table.

� Vous pouvez modifier les alias de table pour les rendre conformes auxconventions de nom de votre serveur SQL lorsque vous mettez votreapplication à jour.

� Vous pouvez faire référence aux tables dans le code ObjectPAL enutilisant des alias. Vous pouvez donc modifier la table à laquelle le code seréfère sans qu�une rupture de code ou une modification de table ne soitnécessaire.

Utilisez un alias de table à la place d�un nom de table lorsque vous créez deschamps calculés. Ainsi, si vous devez changer de table, le fait d�affecter l�aliasà la nouvelle table permet de conserver les expressions des champs calculés.

Création ou retrait d�un alias de tableUn alias de table doit commencer par un caractère alphanumérique, ne doitpas contenir d�espace et peut comporter jusqu�à 32 caractères.

210 Paradox 9 : Chapitre 5

Pour créer un alias de table

1 Dans le Concepteur ou la boîte de dialogue Modèle relationnel, cliquezavec le bouton droit de la souris sur la table et sélectionnez Alias de table.

2 Entrez un alias pour la table dans la boîte de dialogue Nom de table.

Pour retirer un alias de table

1 Dans le Concepteur ou la boîte de dialogue Modèle relationnel, cliquezavec le bouton droit de la souris sur la table et sélectionnez Alias de table.

2 Dans la boîte de dialogue Nom de table, supprimez l�alias de table.

� Pour ajouter ou retirer un alias de table, vous devez être en modeConception.

Enregistrement et impression d�un modèle relationnelParadox permet d�enregistrer et d�imprimer un modèle relationnel, qu�ils�agisse d�un document autonome ou lié à la fiche ou à l�état actif. Vouspouvez enregistrer le modèle relationnel pour la fiche ou l�état actif (à l�aidede la boîte de dialogue Modèle relationnel), ou en tant que modèle relationnelséparé (à l�aide du Concepteur de modèle relationnel). Pour utiliser unmodèle déjà créé, modifiez-le et enregistrez-le sous un autre nom.

Application ou annulation des modifications apportées au modèlerelationnel de la fiche ou de l�état actif

Lorsque vous concevez une fiche ou un état, vous pouvez modifier le modèlerelationnel en ajoutant ou en retirant des tables, ou en créant ou retirant lesliens entre ces dernières. Vous pouvez ensuite appliquer ces modifications aumodèle relationnel ou les annuler si elles ne vous conviennent pas.

Pour appliquer les modifications au modèle relationnel de lafiche ou de l�état actif

� Dans le Concepteur ou la boîte de dialogue Modèle relationnel, cliquez surOK.

Pour annuler les modifications du modèle relationnel d�une ficheou d�un état

� Dans le Concepteur ou la boîte de dialogue Modèle relationnel, cliquez surAnnuler.

Fiches et états 211

Enregistrement des modifications dans le Concepteur de modèlerelationnel

Vous pouvez apporter des modifications dans le Concepteur de modèlerelationnel et modifier le modèle relationnel courant ou l�enregistrer sous unnouveau nom afin de l�utiliser séparément d�une fiche ou d�un état spécifique.

Pour enregistrer le modèle relationnel sous son nom courant

� Dans le Concepteur de modèle relationnel, cliquez sur Fichier,Enregistrer.

Pour renommer un modèle relationnel

1 Dans le Concepteur de modèle relationnel, cliquez sur Fichier, Enregistrersous.

2 Entrez le nom choisi dans la zone Nom du fichier.

Paradox enregistre le modèle relationnel avec l�extension .DM.

Impression d�un modèle relationnelPour imprimer un modèle relationnel vous devez utiliser le Concepteur demodèle relationnel. Pour imprimer un modèle associé à une fiche ou un état,enregistrez-le avec l�extension .DM dans la boîte de dialogue Modèlerelationnel, puis imprimez-le à partir du Concepteur de modèle relationnel.

Pour imprimer un modèle relationnel à l�aide du Concepteur demodèle relationnel

� Cliquez sur Fichier, Imprimer.

� Cliquez avec le bouton droit de la souris dans le modèle relationnel etsélectionnez la commande Aperçu avant impression pour visualiser lemodèle avant de l�imprimer.

Création d�une disposition de fiche et d�étatLorsque vous créez une disposition de fiche ou d�état, vous définissez lestyle des enregistrements maître et détail ainsi que les champs que voussouhaitez afficher dans le document. Vous choisissez ensuite une feuille destyle pour établir les propriétés par défaut des objets de conception.

212 Paradox 9 : Chapitre 5

La boîte de dialogue Conception sert à créer et à modifier les dispositions. Ellecomporte différentes options pour les documents avec tables liées et ceux avectables non liées. Le modèle relationnel du document détermine quelle boîte dedialogue Conception sera affichée. La plupart des options disponibles sontidentiques pour les fiches et les états. Les seules différences résident dans laprévisualisation et dans le choix des feuilles de style.

États

Les états utilisent des bandes pour séparer les différentes zones de ladisposition. Il y a des bandes pour les en-têtes et les bas des états et despages, des groupes de tri des données ainsi que le corps de l�état.

La boîte de dialogue Conception affiche des bandes d�état lorsque vousprévisualisez une disposition d�état. Paradox place le contenu du modèlerelationnel de l�état dans la bande d�enregistrements.

Fiches

Les fiches n�utilisent pas de bandes ; la zone de prévisualisation de la boîtede dialogue Conception d�une fiche est donc vide à l�exception du contenu dumodèle relationnel de la fiche.

Spécification d�une disposition initialeVous disposez de deux options principales pour créer un document deconception : les dispositions mono et multi-enregistrement. La disposition detable est multi-enregistrement : les données s�affichent sous forme detableau plutôt qu�en groupes de champs triés en fonction du champ clé.

Objets mono-enregistrement

Un objet mono-enregistrement affiche un seul enregistrement à la fois, ce quisignifie que chaque page d�une fiche ou d�un état ne contient que les donnéesd�une seule ligne ou d�un seul enregistrement de la table sur laquelle elle estbasée. Ce format est pratique lorsque les enregistrements de la table dumodèle relationnel contiennent une grande quantité d�informations (parexemple un champ mémo) ou un champ de grande taille (par exemple unobjet OLE ou un graphique).

Objets multi-enregistrement

Un objet multi-enregistrement affiche plusieurs enregistrements dans unedisposition de champ qui se répète horizontalement et verticalement sur lapage autant de fois que spécifié. Vous pouvez placer les champs de n�importequelle façon. Définissez la disposition des champs pour un seulenregistrement, puis précisez combien d�enregistrements horizontaux etverticaux vous souhaitez avoir.

Fiches et états 213

Une des utilisations courantes d�un objet multi-enregistrement est lacréation d�étiquettes de publipostage. Chaque étiquette est un groupe dechamps (par exemple, Nom, Adresse, Code postal, Ville et État) dans unecertaine disposition qui est répétée pour chaque enregistrement. La figuresuivante illustre la conception d�un état mult-enregistrement utilisant leschamps de la table Client.

� Dans la zone d�enregistrement maître, définissez les objets champ etarrangez-les dans une disposition de votre choix.

� Les zones grises indiquent l�endroit où Paradox placera lesenregistrements supplémentaires.

Lorsque vous imprimez ou prévisualisez cet état, Paradox reprend le modèlede ces champs dans la zone d�enregistrement maître pour chaqueenregistrement de la table Client.

� L�objet enregistrement à l�intérieur de l�objet multi-enregistrement sertde conteneur pour les enregistrements. S�il est trop petit, Paradox éliminedes champs dans la boîte de dialogue Définition d�un objetmulti-enregistrement (menu contextuel) pour faire entrerl�enregistrement dans le conteneur. Pour redimensionner lesenregistrements, sélectionnez la zone d�enregistrement maître et faitesglisser les poignées de sélection. Toutes les zones de l�objetmulti-enregistrement étant de la même taille, Paradox redimensionne leszones grises de répétition en même temps que la zone d�enregistrementmaître.

Ouverture de la boîte de dialogue ConceptionLa première étape pour spécifier la disposition initiale d�une fiche ou d�unétat est l�ouverture de la boîte de dialogue Conception. Pour l�afficher, vousdevez créer un modèle relationnel pour la fiche ou l�état. Cette boîte dedialogue est une aide appréciable pour élaborer la disposition d�uneconception, mais ce n�est qu�un point de départ. Vous pouvez modifier la

214 Paradox 9 : Chapitre 5

conception dans une fenêtre spécifique, mais vous devez d�abord fermer laboîte de dialogue Conception.

Pour ouvrir la boîte de dialogue Conception à partir de la boîtede dialogue Modèle relationnel

1 Cliquez sur Fichier, Nouveau, Fiche ou État.

2 Cliquez sur le bouton Modèle relationnel.

3 Utilisez la boîte de dialogue Modèle relationnel pour créer un modèlerelationnel.

Cliquez sur OK. Paradox ouvre la boîte de dialogue Conception.

Pour ouvrir la boîte de dialogue Conception à partir d�une ficheou d�un état vierge

1 Cliquez sur Fichier, Nouveau, Fiche ou État.

2 Cliquez sur le bouton Vierge pour ouvrir une fiche ou un état vierge.

3 Cliquez sur Format, Modèle relationnel.

4 Sélectionnez Modèle relationnel dans la zone de liste, au bas de la paletteTable.

5 Cliquez deux fois sur un modèle relationnel.

6 Cliquez sur OK.

7 Cliquez sur Format, Disposition.

Pour revenir à la boîte de dialogue Conception à partir d�unefenêtre de conception

� Cliquez sur Format, Disposition.

� Lorsque vous cliquez sur Fichier, Nouveau, la boîte de dialogue Nouvellefiche ou Nouvel état s�affiche en fonction des options sélectionnées dans lapage Fiches/États de la boîte de dialogue Préférences (Outils,Paramètres). Suivant vos préférences, la boîte de dialogue Modèlerelationnel peut s�afficher automatiquement ou vous devrez ouvrir unExpert ou un document vierge.

Fiches et états 215

Choix d�un style de dispositonSpécifiez la disposition initiale dans la boîte de dialogue Conception, puisaffinez-la dans la fenêtre de conception. Si vous travaillez avec uneconception multi-table, le style de disposition que vous choisissez sera celuide la table maître.

Pour choisir un style de disposition

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Cliquez sur Format, Disposition.

3 Dans la boîte de dialogue Conception, activez l�une des options suivantes :

� Mono-enregistrement : affiche un enregistrement à la fois dans unedisposition libre.

� Tabulaire : affiche des lignes et des colonnes comme si vous travailliezdans la table.

� Multi-enregistrement : affiche plusieurs enregistrements en mêmetemps.

� Vide : supprime tous les champs de la conception.

Sélection d�un champ à afficherLorsque vous créez un document de conception, Paradox inclut tous leschamps de toutes les tables que vous liez à la table maître du document (sauftout champ dupliqué entre tables maître et détail liées, qui n�apparaît qu�unefois dans la table maître).

Vous pouvez sélectionner les champs à afficher à l�aide de la page Champs dela boîte de dialogue Conception.

Pour retirer un champ de la conception

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Cliquez sur Format, Disposition.

3 Dans la boîte de dialogue Conception, cliquez sur l�onglet Champs.

4 Choisissez la table requise dans la zone Table.

5 Sélectionnez le champ que vous souhaitez retirer dans la liste des champssélectionnés.

6 Cliquez sur Retirer un champ.

216 Paradox 9 : Chapitre 5

Pour modifier l�ordre des champs dans la conception

1 Suivez les étapes 1 à 4 de la procédure précédente.

2 Sélectionnez le champ dont vous voulez changer la position.

3 Cliquez sur les touches fléchées pour faire monter ou descendre leschamps dans la liste.

Pour réinitialiser les champs

� Cliquez sur le bouton Réinitialiser champs de la page Champs de la boîtede dialogue Conception.

Paradox réaffiche tous les champs supprimés.

� Tous les changements effectués dans la boîte de dialogue Conceptionpeuvent être modifiés dans une fenêtre de conception. L�outil Champ vouspermet de réinsérer les champs retirés dans la fenêtre de conception.

� Paradox n�affiche que les champs de la table maître et ceux des tablesliées à celle-ci dans la boîte de dialogue Conception. L�outil Champ vouspermet d�ajouter dans la fenêtre de conception des champs provenant detables non liées.

� Pour les états, Paradox ajoute également des champs pour la date, lenuméro de page et le titre. La boîte de dialogue Conception ne permet pasde retirer ces champs ; utilisez plutôt la fenêtre Conception d�état.

Affichage des champs en colonnes ou en lignesIl est possible d�afficher les champs des dispositions mono oumulti-enregistrement sous forme de colonnes ou de lignes.

Pour afficher les champs en colonnes ou en lignes

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Cliquez sur Format, Disposition.

3 Dans la boîte de dialogue Conception, activez l�une des options suivantes :

� Mono-enregistrement : affiche un enregistrement de la table à la foisdans une disposition libre.

� Multi-enregistrement : affiche plusieurs enregistrements en mêmetemps.

4 Activez l�une des options suivantes :

Fiches et états 217

� En colonnes : affiche les champs de haut en bas dans une colonne àpartir du côté gauche de l�écran. Paradox crée le nombre de colonnesrequis jusqu�à ce que tous les champs soient affichés et il crée despages supplémentaires, si nécessaire.

� En lignes : affiche les champs les uns après les autres sur une ligne àpartir du haut de l�écran. Paradox crée le nombre de lignes requisjusqu�à ce que tous les champs soient affichés, puis il crée des pagessupplémentaires si nécessaire.

Masquage ou affichage d�un libellé de champVous pouvez préciser si vos fiches ou états ont des libellés de champ ou non.Un libellé de champ est un objet texte contenant un nom de champ.

Pour masquer ou afficher des libellés de champ

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Cliquez sur Format, Disposition.

3 Cochez ou non la case Champs libellés pour afficher ou masquer leslibellés de champ.

� Cette option n�est pas disponible dans une disposition tabulaire.

� Dans la boîte de dialogue Conception, précisez le type d�affichage pardéfaut des champs. Pour activer ou désactiver l�affichage des libellés dechamp, cliquez avec le bouton droit de la souris sur le champ désiré dansla fenêtre de conception.

Utilisation d�une feuille de styleLes feuilles de style vous permettent de donner une apparence homogène àvos fiches et états. Il est possible de créer une feuille de style pour définir lacouleur, la taille et le style de tous les objets de conception, tels que lesboutons, boîtes et champs que vous utilisez pour créer des fiches et desétats. Paradox met à votre disposition tout un choix de feuilles de style.

Pour choisir une feuille de style, utilisez la boîte de dialogue Conception.

Pour choisir une feuille de style

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

218 Paradox 9 : Chapitre 5

2 Cliquez sur Format, Disposition.

3 Dans la boîte de dialogue Conception, choisissez une feuille de style dansla zone de liste correspondante.

Outre celles proposées par Paradox, vous pouvez également créer vospropres feuilles de style. Lorsque vous avez créé une fiche ou un étatprésentant les caractéristiques que vous souhaitez utiliser pour vosdocuments futurs, enregistrez ces caractéristiques dans une feuille destyle.

Pour enregistrer une feuille de style que vous avez créée

1 Cliquez sur Format, Feuille de style.

2 Entrez le nom et le chemin de la feuille de style à enregistrer.

� Les feuilles de style destinées à l�écran ont l�extension .FT

� Les feuilles de style destinées à l�imprimante ont l�extension .FP

3 Cliquez sur Enregistrer.

Dispositions multi-tableLes modèles relationnels contenant plusieurs tables requièrent unedisposition multi-table. Paradox vous permet d�afficher les informations devos tables en format tableau ou champ et vous propose plusieurs optionspour la disposition des tables et/ou champs. Vous pouvez égalementimbriquer les enregistrements, afin de placer les enregistrements détail dansun objet multi-enregistrement.

Affichage d�un objet en colonnes ou en lignesSi vous utilisez une conception multi-table, vous avez la possibilité d�afficherles objets (champs, tables ou objets multi-enregistrement) en colonnes ou enlignes.

Pour afficher les objets en colonnes ou en lignes (conceptionmulti-table)

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Cliquez sur Format, Disposition.

3 Dans la boîte de dialogue Conception, activez l�une des options suivantes :

� Mono-enregistrement : affiche un enregistrement à la fois dans unedisposition libre.

� Multi-enregistrement : affiche plusieurs enregistrements en mêmetemps.

Fiches et états 219

4 Sélectionnez l�une des options suivantes :

� En colonnes : affiche les champs de haut en bas dans une colonne àpartir du côté gauche de l�écran. Paradox crée alors le nombre decolonnes requis jusqu�à ce que tous les champs soient affichés et créedes pages supplémentaires, si nécessaire.

� En lignes : affiche les champs l�un après l�autre dans une ligne à partirdu haut de l�écran. Paradox crée alors le nombre de lignes requisesjusqu�à ce que tous les champs soient affichés puis crée des pagessupplémentaires, si nécessaire.

Affichage d�enregistrements maître et détailVous spécifiez le style d�affichage des enregistrements maître et détail dansla boîte de dialogue Conception, puis affinez la disposition dans la fenêtre deconception. L�emplacement par défaut des enregistrements détail est avantcelui des enregistrements maître associés. Dans une conception multi-table,vous pouvez placer les enregistrements maître avant les tables détail nonimbriquées.

Pour afficher plusieurs enregistrements maître à la fois

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Cliquez sur Format, Disposition.

3 Activez l�option Tabulaire ou Multi-enregistrement pour afficher plusieursenregistrements de la table maître à la fois.

Pour afficher des tables détail

1 Ouvrez une fiche ou un état basé sur un modèle relationnel à relationun-à-plusieurs dans la fenêtre de conception.

2 Cliquez sur Format, Disposition.

3 Cliquez sur la page Tables détail.

4 Sélectionnez l�une des options suivantes :

� Table : affiche les tables détail en lignes et en colonnes comme si voustravailliez directement dans la table.

� Enregistrement : affiche plusieurs enregistrements en même temps.

5 Si vous avez activé l�option Enregistrement lors de l�étape 4, sélectionnezl�une des options suivantes :

� Horizontal : affiche les enregistrements horizontalement.

220 Paradox 9 : Chapitre 5

� Vertical : affiche les enregistrements verticalement.

� Les deux : affiche les enregistrements horizontalement etverticalement.

Pour placer les enregistrements maître avant les tables détail

1 Ouvrez une fiche ou un état élaboré à partir d�une relation un-à-plusieursdans la fenêtre de conception.

2 Cliquez sur Format, Disposition.

3 Activez l�option Mono-enregistrement.

4 Cochez la case Champs avant tables pour afficher les enregistrementsmaître avant toute table détail associée.

� Dans une fiche, les enregistrements maître peuvent s�afficher soit enstyle tabulaire soit en style multi-enregistrement. Les enregistrementsdétail peuvent être imbriqués dans un objet multi-enregistrement maîtreou séparés d�une table maître ou d�un objet multi-enregistrement.

� Dans un état, les enregistrements maître sont toujours affichés dans lestyle multi-enregistrement, et les enregistrements détail peuvent êtreaffichés dans une table ou dans un objet multi-enregistrement imbriquédans l�objet maître.

� L�onglet Détails n�est accessible que si la fiche ou l�état a été élaborée àpartir d�une relation un-à-plusieurs.

Imbrication d�enregistrements détailDans une conception de fiche un-à-plusieurs, vous pouvez afficher lesenregistrements maître dans un objet multi-enregistrement et placer lesenregistrements détail à l�intérieur de cet objet. On parle alors d�imbricationdes enregistrements détail dans l�enregistement maître. Les tables détailsont affichées dans un objet multi-enregistrement ou dans une table enfonction de l�option que vous avez cochée dans la page Tables détail de laboîte de dialogue Conception. Si vous créez un état à partir d�une conceptionde fiche avec objet multi-enregistrement, les enregistrements détail doiventêtre imbriqués.

Lorsque vous concevez une disposition d�état, Paradox imbriqueautomatiquement les objets détail dans les objets maître chaque fois quevous affichez plusieurs enregistrements maître. L�imbrication étantautomatique et requise, l�option Imbriqués ne s�affiche pas dans la boîte dedialogue Conception pour un état multi-table.

Fiches et états 221

Essayez de structurer la conception de l�état de manière à ce que celui-cis�affiche sur une seule page. Si votre enregistrement maître contient denombreux enregistrements détail, ou s�il présente plusieurs niveauxd�imbrication, assurez-vous que tous les enregistrements détail entrent surune seule page avant d�exécuter l�état. Cela est possible en limitant la tailleou le nombre des enregistrements détail.

Pour imbriquer des enregistrements détail dans une fiche

1 Dans la fenêtre de conception, ouvrez une fiche ou un état contenant unerelation un-à-plusieurs.

2 Cliquez sur Format, Disposition.

3 Activez l�option Multi-enregistrement pour afficher plusieursenregistrements à la fois à partir de la table maître.

4 Cochez la case Imbriqués.

Pour limiter la taille ou le nombre des enregistrements détaild�un état

1 Ouvrez un état dans la fenêtre de conception.

2 Avec le bouton droit de la souris, cliquez sur la table ou l�objetmulti-enregistrement contenant les enregistrements détail, puis cliquezsur Propriétés.

3 Cliquez sur l�onglet Exécution.

4 Désactivez la case Afficher tous les enregistrements.

5 Cliquez sur Affichage, Voir les données pour exécuter la fiche ; vousremarquez que toutes les données ne sont pas affichées.

6 Dans la page Exécution de la boîte de dialogue Propriétés, cochez la caseAfficher tous les enregistrements.

Exécutez la fiche. Cette fois, la table détail s�agrandit pour inclure toutesles données.

Utilisation de la fenêtre de conception d�une fiche oud�un état

À l�aide de la fenêtre de conception, vous pouvez créer ou modifier laconception d�une fiche ou d�un état. Les fenêtres de conception sontidentiques pour les fiches et les états, si ce n�est que l�une permet de créeret modifier des fiches et l�autre des états. Pour vous aider dans la créationd�une fiche ou d�un état, utilisez les moyens suivants :

222 Paradox 9 : Chapitre 5

� la barre d�outils de la fenêtre de conception pour placer les outils sur unefiche ou sur un état,

� la règle de la fenêtre de conception pour placer, redimensionner oudéplacer les objets de conception,

� la grille de la fenêtre de conception pour aligner l�emplacement des objetsde conception,

� l�option Définir les préférences du concepteur pour établir lecomportement et l�affichage de la fenêtre de conception,

� des feuilles de style pour obtenir une apparence homogène de plusieursfiches et états,

� l�option Définir les préférences par défaut de la fenêtre de conception pourcréer une fenêtre de conception par défaut lors de la création d�unenouvelle fiche ou d�un nouvel état.

Barres d�outils de la fenêtre de conceptionLa barre d�outils d�une fenêtre de conception de fiche ou d�état comporte desoutils vous permettant de placer des objets dans une fiche ou un état. Lenom de chaque outil apparaît sous forme d�info-bulles.

Utilisez les outils de conception de la barre d�outils pour créer un objetunique ou plusieurs objets du même type tout en gardant l�outil actif.

Pour plus d�informations concernant les objets, reportez-vous à la rubriqueUtilisation d�un objet de conception dans une fiche ou un état à la page 239.

Utilisation des barres d�outils de la fenêtre de conceptionParadox vous permet de sélectionner les barres d�outils à afficher pendantvotre travail et à l�aide desquelles vous pouvez personnaliser votre espace detravail. Les outils de barre d�outils permettent de créer des objets deconception de toute taille, forme ou fonction.

Pour afficher une barre d�outils

Effectuez l�une des actions suivantes :

� Cliquez sur Affichage, Barres d�outils et activez celles à afficher.

� Avec le bouton droit de la souris, cliquez sur la zone vide d�une barred�outils quelconque et activez celles à afficher.

Fiches et états 223

Pour créer un objet dans une fiche ou un état à l�aide des outilsde conception de la barre d�outils

1 Pour créer un objet unique d�un type quelconque, cliquez sur l�outildésiré.

2 Exécutez ensuite l�une des actions suivantes :

� Cliquez sur la conception pour placer l�objet à sa taille par défaut.

� Cliquez sur la conception et faites-la glisser pour placer l�objet puisspécifiez sa taille.

� Appuyez sur la touche MAJ et cliquez dans la conception, puis faitesglisser l�objet pour lui imposer des contraintes.

� Si vous contraignez un cadre, il prend la forme d�un carré ; une ellipseprend la forme d�un cercle ; une ligne est automatiquement horizontale,verticale ou à un angle de 45 degrés et tous les autres objets (boutons,champs) prennent une forme carrée.

� Pour créer plusieurs objets du même type, gardez la touche MAJ enfoncéependant que vous cliquez sur l�outil désiré. L�outil reste activé jusqu�à ceque vous cliquiez sur la flèche de sélection ou sur un autre outil.

Modification des propriétés d�un outilVous pouvez changer les propriétés par défaut de n�importe quel outil deconception de la barre d�outils. Les changements que vous effectuez à l�aidede l�option Copier dans barre d�outils ne durent que le temps de la session encours. Pour les rendre permanents, enregistrez votre conception en tant quefeuille de style.

Pour modifier les propriétés d�un outil

1 Placez l�objet dans le document de conception.

2 Avec le bouton droit de la souris, cliquez sur l�objet, puis sur Propriétés.

3 À l�aide de la boîte de dialogue Propriétés, modifiez l�une des propriétésde l�outil.

224 Paradox 9 : Chapitre 5

4 Dans la boîte de dialogue Propriétés ouverte, cliquez de nouveau avec lebouton droit de la souris sur l�objet, puis sur Copier dans Barre d�outils.

Les propriétés définies pour l�objet sont copiées dans l�outilcorrespondant de la barre d�outils. Ces propriétés servent de valeurs pardéfaut pour tout objet créé ultérieurement avec cet outil.

Pour enregistrer une nouvelle feuille de style

� Cliquez sur Format, Feuille de style et enregistrez la nouvelle feuille destyle que vous venez de créer.

Copie des propriétés d�un objet page ou d�un objet de conceptiondans la barre d�outils

Vous pouvez modifier les propriétés de page d�une fiche, telles la couleur oule motif, et les copier dans la barre d�outils. Paradox enregistre les propriétésde la page de la même manière que les propriétés d�un outil de conception.Chaque nouvelle fiche que vous créez aura les propriétés que vous avezenregistrées.

Vous pouvez modifier les propriétés de composants individuels d�un objet deconception composite. Par exemple, modifiez les propriétés d�un champimbriqué dans un cadre de table, puis copiez ce dernier dans la barre d�outils.Tous les champs de cadres de table placés par la suite auront les propriétésque vous avez définies.

Lorsque vous copiez les objets de conception composites dans la barred�outils, personnalisez les composants suivants :

� cadres de table : en-têtes, enregistrements et champs

� objets multi-enregistrement : enregistrements et champs

� champs : zone d�édition et libellé

� références croisées : libellés, champs et zones de cellule

� boutons : libellés

Pour copier les propriétés d�un objet de conception compositedans la barre d�outils

1 Cliquez sur l�objet de conception pour le sélectionner.

2 Avec le bouton droit de la souris, cliquez sur l�objet puis sur l�optionCopier dans Barre d�outils.

Fiches et états 225

Pour copier les propriétés de page dans la barre d�outils

1 Cliquez sur le fond de la page pour la sélectionner.

2 Avec le bouton droit de la souris, cliquez sur la page (n�importe où sur lefond), puis sur l�option Propriétés.

3 Cliquez sur Édition, Copier dans Barre d�outils.

4 Pour rendre les modifications permanentes, enregistrez la conceptiondans une feuille de style : avec le bouton droit de la souris, cliquez dans labarre de titre de la fenêtre de conception, puis sur l�option Feuille de styleet enregistrez celle que vous venez de modifier.

Règles d�une fenêtre de conceptionLes fenêtres de conception de fiches et d�états disposent de règleshorizontales et verticales permettant de placer, redimensionner ou déplacerles objets. Elles disposent également d�une règle complète (utilisée encombinaison avec la règle horizontale) permettant de modifier et de formaterdes objets texte.

Lorsque vous sélectionnez un objet de conception, les règles changent decouleur pour indiquer l�emplacement et la taille de l�objet.

Utilisation des règles de la fenêtre de conceptionUne fois les préférences définies, les règles par défaut s�affichent à chaqueouverture d�une nouvelle fiche ou d�un nouvel état. Pour remplacer cesdéfinitions pour le document courant, vous devez être dans une fiche ou dansun état.

Pour afficher les règles

� Après avoir ouvert une fiche ou un état dans la fenêtre de conception,cliquez sur Affichage, Règle afin de cocher l�option.

Cette option de menu permet d�afficher et de masquer les règles.

Pour définir des règles par défaut ainsi que leurs paramètres degrille pour tous les documents de conception

1 Cliquez sur Outils, Paramètres, Préférences.

2 Cliquez sur la page Concepteur.

3 Activez ou désactivez les options requises.

Cliquez sur Aide pour obtenir une explication complète des optionsdisponibles.

226 Paradox 9 : Chapitre 5

Pour modifier l�affichage par défaut de la règle dans le documentcourant

� Après avoir sélectionné une fiche ou un état dans la fenêtre de conception,cliquez sur Format, Conception et activez les règles à afficher.

Cette modification n�affecte que le document courant.

Pour modifier la configuration de la grille afin de définir lesunités de mesure de la grille et des règles

1 Cliquez sur Outils, Paramètres, Préférences.

2 Cliquez sur la page Concepteur.

3 Effectuez une ou plusieurs des actions suivantes :

� Comme unité de mesure, choisissez Pouces ou Centimètres dans lazone de liste Unités.

� Entrez une valeur dans la zone Division principale pour spécifierl�espacement entre les lignes de grille principales (dans l�unité demesure indiquée).

� Entrez une valeur dans la zone Division secondaire pour spécifier lenombre de graduations, ou divisions secondaires, entre les lignes degrille principales.

� Vous pouvez également afficher les règles lorsque vous exécutez unefiche. Cliquez sur Format, Conception et cochez la case de chaque règle àafficher. Pour afficher les règles activées, cliquez sur Affichage, Règle afinde cocher l�option.

� Pour remplacer les paramètres de grille du document courant, cliquez surFormat, Conception et modifiez les paramètres à votre convenance.

Utilisation de la règle complèteLa règle complète utilisée avec la règle horizontale est un outil demodification et de disposition pour les objets texte. Utilisez-la pour ajusterles marges, tabulations, interlignes et alignements. La règle complète nes�applique qu�à un seul objet texte à la fois. Elle s�affiche quel que soit l�objetsélectionné. Cependant les taquets de tabulation, d�indentation et de margene s�affichent que lorsque vous placez le point d�insertion dans un objet texte(et non lorsque vous sélectionnez l�objet comme un tout). Les taquets detabulation, d�indentation et de marge ne s�appliquent qu�à l�objet texte danslequel vous travaillez.

Fiches et états 227

Sélection d�un texte pour le formatage

� Si vous sélectionnez l�objet texte complet, les paramètres de la règlecomplète s�appliquent à l�ensemble du texte imbriqué dans l�objet.

� Si vous sélectionnez un texte spécifique et modifiez les paramètres, cesmodifications ne s�appliquent qu�au texte sélectionné (à l�exception desparamètres d�espacement et d�alignement qui s�appliquent toujours àl�ensemble du texte d�un paragraphe).

� Si vous placez le point d�insertion dans l�objet texte sans sélectionner detexte, les modifications de ce paragraphe prennent effet.

Pour afficher la règle complète

1 Cliquez sur Format, Conception.

2 Cochez la case Règle complète.

3 Dans la fenêtre de conception, cliquez sur Affichage, Règle afin d�activerl�option.

Pour définir les règles s�affichant par défaut dans la fenêtre deconception

� Cliquez sur Outils, Paramètres, Préférences. Dans la page Concepteur,activez les règles qui devront s�afficher chaque fois que vous ouvrez lafenêtre de conception. La règle horizontale est activée par défaut.

L�utilisation des boutons de la règle complète pour la disposition du texted�un objet texte permet d�ajuster l�alignement, la tabulation ainsi quel�espacement des lignes.

� Une barre d�outils spéciale permet de formater un texte. Pour l�afficher,cliquez sur Affichage, Barres d�outils et activez la barre d�outils Formatagedu texte ou, avec le bouton droit de la souris, cliquez sur la barre d�outilset activez l�option Formatage de texte.

Placement d�une tabulationSi vous ne placez aucune tabulation, Paradox utilise les paramètres par défautpour placer des tabulations que vous ne pouvez ni déplacer ni supprimer. Sivous placez une tabulation, toutes les tabulations par défaut placées à sagauche sont supprimées. Pour supprimer toutes les tabulations par défaut,placez une tabulation près de la marge droite. Vous pouvez déplacer etsupprimer les tabulations que vous placez. Si vous supprimez toutes lestabulations que vous avez placées, Paradox rétablit les paramètres detabulation par défaut.

228 Paradox 9 : Chapitre 5

Bien que la règle horizontale permette de définir des tabulations, vous devezutiliser la règle complète pour modifier le type de la tabulation. Lestabulations par défaut de la règle et de son extension sont placées tous lesdemi pouces.

Les types de tabulation suivants sont disponibles :

Gauche : le texte après la tabulation est repoussé vers la droite de sorteque son bord gauche s�aligne sous le taquet de tabulation. Ceci est le typede tabulation le plus courant.

Droit : le texte après la tabulation est repoussé vers la gauche de sorteque son bord droit s�aligne sous le taquet de tabulation.

Centre : le texte après la tabulation est centré sous le taquet detabulation.

Décimal : les séparateurs décimaux s�alignent sous le taquet detabulation. Une tabulation décimale permet d�aligner les colonnes dechiffres sur le séparateur décimal.

Pour ajouter un taquet de tabulation

1 À partir de la fenêtre de conception, placez un objet texte dans une ficheou un état et activez la règle complète.

2 Cliquez sur Affichage, Règle.

3 Cliquez dans l�objet texte. Le point d�insertion doit se trouver à l�intérieurde l�objet texte.

4 Cliquez sur un bouton de tabulation de la règle complète.

5 Cliquez sur la barre de tabulation pour placer le taquet de tabulation.

Pour déplacer une tabulation

� Faites-la glisser vers un nouvel emplacement.

Pour supprimer une tabulation

� Faites-la glisser hors de la règle.

� Pour afficher la règle complète, cochez la case Règle complète de la boîtede dialogue Conception.

Fiches et états 229

Ajout d�une indentationLes marqueurs d�indentation de la règle et de la règle complète permettentde placer des indentations et de créer des paragraphes ayant un retraitnégatif dans l�objet texte sélectionné.

Pour placer une indentation

� De l�intérieur de l�objet texte, faites glisser le marqueur d�indentation dela barre de tabulation vers l�emplacement souhaité.

Si le marqueur d�indentation est situé à droite du marqueur de marge, leparagraphe est indenté. Si le marqueur d�indentation est situé à gauche dumarqueur de marge, le paragraphe a un retour d�indentation.

Pour déplacer un marqueur d�indentation

� Faites-le glisser vers le nouvel emplacement.

Modification des marges et de l�alignement du texteVous pouvez modifier les marges d�un objet texte à l�aide de la règle ou de larègle complète. Les marges par défaut de votre texte sont les borduresgauche et droite de l�objet texte sélectionné. Paradox établit les marges pardéfaut du texte en fonction de l�emplacement de l�objet texte. Par défaut, letexte est aligné le long du bord gauche de l�objet. Vous pouvez aligner letexte sur la marge gauche ou sur la marge droite, sur le centre de l�objettexte ou sur les deux marges gauche et droite.

Les boutons d�alignement de la règle complète permettent d�aligner lesobjets texte.

Les boutons d�alignement sont gauche, centré, droit et justifié.

Pour modifier une marge

� Faites glisser l�icône de marge vers l�emplacement souhaité sur la barre detabulation.

Pour modifier l�alignement du texte

Exécutez l�une des actions suivantes :

� Cliquez sur le bouton d�alignement souhaité avant d�entrer le texte. Enl�absence d�un texte sélectionné, le prochain texte que vous entrez seraaligné de la manière choisie.

� Sélectionnez le texte, puis cliquez sur le bouton d�alignement approprié.

230 Paradox 9 : Chapitre 5

Modification d�un interligne verticalIl est plus rapide de modifier l�interligne à l�aide de la règle complète que dechanger les propriétés d�un objet.

Pour modifier l�interligne vertical

� Cliquez sur le bouton d�interligne pour le texte sélectionné. Choisissez 1pour un texte en simple interligne, 2 pour un double interligne, etc.L�interligne par défaut est l�interligne simple.

En l�absence d�un texte sélectionné, le prochain texte que vous entrezadopte l�interligne choisi.

Utilisation de la grille de la fenêtre de conceptionLa grille est un fond de lignes horizontales et verticales, vous permettantd�aligner l�emplacement des objets de conception sur une page. Paradoxaffiche les lignes de grille principales ainsi que les graduations secondaires.Les lignes indiquent les divisions principales de la grille et les points lesdivisions secondaires. L�affichage de la grille vous aide à aligner avecprécision ou vous permet de voir où les objets de conception s�alignent si lapropriété Aligner sur la grille est activée (menu Format).

L�unité de mesure utilisée par la grille est la même que celle affichée dans larègle. Par exemple, si les unités de mesure de la règle sont métriques, cellesde la grille le sont également.

� Unités : choisissez pouces ou centimètres comme unité de mesure.

� Division principale : spécifiez la distance (dans l�unité choisie) entre leslignes principales de la grille.

� Division secondaire : indiquez le nombre de divisions secondaires(signalées par des graduations) entre les lignes principales d�une grille.

Pour afficher la grille

� Ouvrez une fiche ou un état dans la fenêtre de conception, puis cliquez surAffichage, Grille afin de cocher l�option.

Paradox affiche les lignes de grille principales ainsi que les graduationssecondaires.

Pour modifier l�échelle ou l�unité de mesure de la grille

� Cliquez sur Outils, Paramètres, Préférences pour définir les paramètresde grille par défaut pour toutes les fiches et tous les états.

Fiches et états 231

� Si la grille est visible dans la fenêtre de conception d�état, cliquez avec lebouton droit de la souris sur une bande et choisissez Placer la grille sur labande pour réorienter la grille en haut à gauche de la bande.

� Vous pouvez utiliser la grille sans qu�elle soit visible.

Définition des préférences du concepteurLes préférences du concepteur affectent le comportement et l�affichage desfenêtres de conception ; elles sont communes aux fenêtres de conception defiche et d�état. Ces préférences peuvent être définies comme valeurs pardéfaut en cliquant sur Outils, Paramètres, Préférences, ou modifiées en tantque paramètres dans la fenêtre de conception courante. Les préférencesdéfinies deviennent les paramètres par défaut pour les deux fenêtres deconception. Paradox utilise ces paramètres chaque fois que vous ouvrez unefenêtre de conception de fiche ou d�état.

La page Concepteur contient les préférences suivantes :

� L�option Sélection depuis l�intérieur à la page 233 permet de spécifiercomment sélectionner les objets de conception imbriqués dans d�autresobjets.

� L�option Cadre de l�objet à la page 234 permet de spécifier si les objets deconception s�affichent avec ou sans cadre.

� L�option Dessin sans scintillement à la page 234 permet de supprimer leclignotement de l�écran lorsque vous déplacez ou redimensionnez lesobjets de conception.

� L�option Déplacement/Taille en pointillés à la page 234 permet de spécifierce que vous voyez en déplaçant ou en redimensionnant un objet deconception : l�objet lui-même ou un contour de l�objet.

� La zone Grille permet de spécifier une unité de mesure, l�espacemententre les lignes principales et les graduations secondaires entre les lignesd�une grille ou dans une règle.

� La zone Règle permet de spécifier les règles à afficher dans la fenêtre deconception.

232 Paradox 9 : Chapitre 5

� La modification des préférences du concepteur par défaut n�a aucun effetsur une fiche ou un état ouvert. Fermez le document, puis rouvrez-le pourutiliser les nouvelles préférences par défaut.

� Sur l�onglet Général de la boîte de dialogue Préférences, vous pouvezdésactiver les liens hypertexte dans les champs de la fiche d�une table.Cette fonction est particulièrement utile lorsque vous concevez des ficheset que vous ne voulez pas lancer l�application Internet.

Sélection depuis l�intérieurLorsque vous cliquez sur un objet imbriqué dans un autre, l�option Sélectiondepuis l�intérieur de la page Propriétés du Concepteur permet de spécifiercomment Paradox doit sélectionner l�objet.

Supposons que vous ayez une ellipse imbriquée dans un cadre. En cliquantsur l�ellipse, souhaitez-vous sélectionner le cadre ou l�ellipse ?

� Si l�option Sélection depuis l�intérieur est désactivée, Paradox sélectionned�abord l�objet le plus à l�extérieur. Même si vous cliquez à l�intérieur,Paradox sélectionnera l�objet extérieur. Le deuxième clic sélectionnel�ellipse.

� De même, si un champ est imbriqué dans une ellipse, elle-mêmeimbriquée dans un cadre, et que vous cliquez dans le champ, le premierclic sélectionnera le champ, le deuxième l�ellipse et le troisième le champ.

� Si l�option Sélection depuis l�intérieur est activée, Paradox sélectionnel�objet sur lequel vous cliquez. Par exemple, si vous avez un champimbriqué dans une ellipse, elle-même imbriquée dans un cadre, cliquezdans le champ, puis sur l�ellipse et enfin sur le cadre pour les sélectionnerdans cet ordre.

Pour sélectionner un objet imbriqué au premier clic

1 Cliquez sur Outils, Paramètres, Préférences.

2 Cliquez sur l�onglet Concepteur.

3 Cochez la case Sélection depuis l�intérieur.

Fiches et états 233

� Cliquez deux fois sur un objet imbriqué dans un autre pour le sélectionnerimmédiatement, que l�option Sélection de l�intérieur soit activée ou non.

� Selectionnez un objet imbriqué dans un autre, puis appuyez sur Échappour sélectionner l�objet extérieur suivant. Par exemple, sélectionnez uneellipse à l�intérieur d�un cadre, puis appuyez sur Échap pour sélectionnerle cadre.

Cadre de l�objetVous avez la possibilité d�afficher à l�écran des objets avec ou sans cadre àl�aide de l�option Cadre de l�objet de la page de propriétés Concepteur.

Pour afficher les objets avec cadre à l�écran

1. Cliquez sur Outils, Paramètres, Préférences.

2 Cliquez sur l�onglet Concepteur.

3 Cochez la case Cadre de l�objet.

Dessin sans scintillementIl est possible que l�écran clignote lorsque vous déplacez ou redimensionnezdes objets. Cet effet est particulièrement visible lorsque votre conceptioncomporte un arrière-plan sombre. Pour supprimer ce phénomène, activezl�option Dessin sans scintillement. Elle permet d�éliminer partiellement lescintillement de l�écran mais risque de ralentir le déplacement ou leredimensionnement des objets. Faites un essai en activant et désactivantl�option pour déterminer ce qui vous convient le mieux.

Pour empêcher le scintillement de l�écran lorsque vousredimensionnez ou déplacez des objets

1 Cliquez sur Outils, Paramètres, Préférences.

2 Cliquez sur l�onglet Concepteur.

3 Cochez la case Dessin sans scintillement.

Déplacement/Taille en pointillésVous avez la possibilité de préciser comment Paradox doit afficher les objetspendant que vous les déplacez ou redimensionnez. Paradox peut afficher ledéplacement, l�extension ou la réduction de l�objet lui-même pendantl�opération. Pour accélérer la procédure, Paradox peut n�afficher que lescontours de l�objet.

234 Paradox 9 : Chapitre 5

Pour spécifier comment Paradox doit afficher les objets que vousdéplacez ou redimensionnez

1 Cliquez sur Outils, Paramètres, Préférences.

2 Cliquez sur l�onglet Concepteur et activez ou désactivez la case à cochersuivante :

� Déplacement/Taille en pointillés : si cette option est activée, le contourde l�objet s�affiche lorsque vous le déplacez ou le redimensionnez.

� Déplacement/Taille en pointillés : si cette option est désactivée, l�objetcomplet s�affiche lorsque vous le déplacez ou le redimensionnez.

Définition des préférences par défaut d�une fenêtre de conceptionVous avez la possibilité de spécifier la manière dont les nouvelles fiches etles nouveaux états sont créés et si ceux-ci doivent s�ouvrir en modeconception ; vous pouvez également préciser la taille de la page à l�écranainsi que la feuille de style pour l�apparence initiale des objets de conception.Une fois les préférences par défaut sélectionnées, chaque fiche et chaqueétat que vous ouvrez utilisera ces paramètres.

Pour définir les préférences par défaut d�une fiche et d�un état1 Cliquez sur Outils, Paramètres, Préférences.

2 Dans la boîte de dialogue Préférences, cliquez sur l�onglet Fiches/États.

3 Activez les préférences voulues. Cliquez sur Aide dans la boîte dedialogue pour y trouver une explication de chaque option.

Feuilles de styleSi vous créez un grand nombre de fiches et d�états, il est bon de leur donnerune apparence homogène. Par exemple, vous souhaitez que tous les textesde la fiche soient en vert et tous les cadres en bleu. Au lieu de créer d�abordces objets et de modifier ensuite manuellement leurs propriétés chaque foisque vous créez une nouvelle fiche ou un nouvel état, utilisez une feuille destyle qui applique ces propriétés pendant que vous créez les objets.

En général, si vous changez les propriétés d�un objet de conception, celles-cirestent telles que vous les avez modifiées jusqu�à ce que vous quittiezParadox. Les feuilles de style vous permettent d�enregistrer cesmodifications et de créer des fiches et des états d�une apparence homogène.

Fiches et états 235

Création et enregistrement d�une feuille de styleParadox propose plusieurs feuilles de style. Vous pouvez également créer etenregistrer vos propres feuilles de style.

Pour créer et enregistrer une feuille de style

1 Créez une fiche ou un état en modifiant à votre guise les propriétés desoutils de conception.

2 Après avoir ouvert une fiche ou un état dans la fenêtre de conception,cliquez sur Format, Feuille de style.

3 À partir de la boîte de dialogue Feuille de style, exécutez l�une des actionssuivantes :

� Pour modifer une feuille de style existante, sélectionnez-la dans la listeet cliquez sur Enregistrer.

� Pour créer une nouvelle feuille de style, cliquez, à partir de la boîte dedialogue Enregistrement du fichier, sur Enregistrer sous et entrez lenom de fichier et le chemin de la nouvelle feuille de style dans la zoneNom de fichier.

� L�extension de la feuille de style (.FT ou .FP) varie selon que votredocument de conception est destiné à l�écran (.FT) ou à l�imprimante(.FP).

Affectation d�une feuille de styleVous pouvez à tout moment affecter une feuille de style à une fiche ou unétat. Lorsque vous affectez une feuille de style, toutes les modifications quevous effectuez dans la fiche ou dans l�état seront ensuite conforme à cettefeuille de style. Les objets se trouvant déjà dans la fiche ou dans l�étatgarderont leurs propriétés originales. Pour donner un nouveau style auxobjets précédemment créés dans une fiche ou un état, modifiez la feuille destyle dans la boîte de dialogue Conception.

Pour appliquer une feuille de style

1 Avec le bouton droit de la souris, cliquez dans la barre de titre de la ficheou de l�état, puis cliquez sur Feuille de style.

2 Dans la boîte de dialogue Feuille de style, faites votre choix.

236 Paradox 9 : Chapitre 5

Pour changer de feuille de style

1 En mode conception, cliquez sur Format, Disposition.

2 Dans la zone de liste Feuille de style, sélectionnez une autre feuille destyle.

� Le fait de changer de feuille de style remplacera toutes les modificationseffectuées manuellement dans la fiche ou dans l�état (par exemple, ajoutd�un objet de conception ou déplacement d�un champ). Il est doncpréférable de changer de feuille de style avant d�effectuer toutemodification dans la fiche ou l�état.

� La commande Préférences (menu Outils, Paramètres) vous permet demodifier la feuille de style par défaut. Vous pouvez également choisir uneautre feuille de style à partir de la boîte de dialogue Conception.

Spécification d�une feuille de style par défautSi vous voulez donner un aspect uniforme à toutes vos fiches et à tous vosétats, définissez une feuille de style par défaut que Paradox utilisera pour lacréation de tous vos documents.

Pour spécifier une feuille de style par défaut

1 Cliquez sur Outils, Paramètres, Préférences.

2 Dans la boîte de dialogue Préférences, cliquez sur l�onglet Fiches/États.

3 Procédez d�une ou des deux manières suivantes :

� Pour spécifiez une feuille de style par défaut pour l�écran, choisissez unstyle dans la zone de liste Feuille de style écran.

� Pour spécifiez une feuille de style par défaut destinée à l�imprimante,choisissez un style dans la zone de liste Feuille de style imprimante.

� L�extension de la feuille de style (.FT ou .FP) varie selon que votredocument de conception est destiné à l�écran (.FT) ou à l�imprimante(.FP).

Fiches et états 237

Accès à une feuille de style à partir d�un répertoire de travailLorsque vous enregistrez une feuille de style, Paradox la stocke dans lerépertoire de travail en cours. Cependant, pour la rendre accessible à partirde n�importe quel projet, vous pouvez l�enregistrer dans le répertoire racinede Paradox.

Pour placer la feuille de style dans le répertoire racine deParadox

1 Cliquez sur Outils, Utilitaires, Renommer.

2 Choisissez Feuilles de style écran dans la zone de liste Types de fichiers.

3 Entrez le nom de la feuille de style appropriée dans la zone Nom defichier.

4 Cliquez sur OK pour afficher la boîte de dialogue Renommer en.

5 Entrez le nouveau chemin de la feuille de style dans la zone de texte Nomdu fichier.

6 Cliquez sur Renommer.

Enregistrement d�une conceptionLorsque vous enregistrez une fiche ou un état, vous enregistrez en fait laconception et non les données. Paradox enregistre toujours les données dansla table correspondante lorsque vous quittez un enregistrement. Vous nesauvegardez pas seulement les propriétés du document mais également sadisposition.

Pour enregistrer la conception d�une fiche ou d�un état

1 Ouvrez une fiche ou un état dans la fenêtre de conception, puis cliquez surFichier, Enregistrer.

2 Entrez le nom de la fiche ou de l�état dans la zone correspondante, puiscliquez sur Enregistrer.

� Il est inutile d�entrer une extension de fichier pour enregistrer undocument de conception. Paradox l�ajoute automatiquement pourpermettre l�accès par type de document.

238 Paradox 9 : Chapitre 5

Utilisation d�un objet de conception dans une fiche ou unétat

Les objets de conception sont ceux que vous placez dans les fiches et étatsdans une fenêtre de conception.Vous créez ces objets à l�aide des outils de labarre d�outils. Ils comprennent les éléments suivants :

� objets de type texte

� zones, lignes et ellipses

� champs et cadres de table

� références croisées et graphes

� objets multi-enregistrement

� boutons

� graphiques

� objets OLE

� objets de classeur

� contrôles ActiveX (OLE) et natifs Windows

Certains objets (tels que les boutons et classeurs) et contrôles ActiveX nes�utilisent que dans les fiches, d�autres, par exemple les bandes et sauts depage, uniquement dans les états.

Tous les objets de conception, à l�exception de l�objet texte, ont une taille pardéfaut. Cliquez sur l�outil adéquat de la barre d�outils, puis cliquez dans lafiche ou dans l�état pour y placer l�objet. Paradox crée l�objet à sa taille pardéfaut. Pour redimensionner un objet, faites glisser les poignées deredimensionnement entourant l�objet.

Sélection d�un objet de conceptionVous pouvez sélectionner par défaut n�importe quel objet d�une fenêtre deconception. Dans un objet rendu non sélectionnable, vous pouvezsélectionner tous les objets qui y sont imbriqués à l�exception du conteneur.Cela signifie que vous ne pouvez pas déplacer l�objet ni effectuer une actionquelconque qui requiert la sélection préalable de l�objet.

Sélection et désélection d�un objet de conceptionPour changer les propriétés d�un objet de conception, vous devez d�abord lesélectionner.

Fiches et états 239

Pour sélectionner un objet de conception

Ouvrez une fiche ou un état dans la fenêtre de conception, puis exécutezl�une des actions suivantes :

� Pour sélectionner un champ, cliquez sur l�objet.

� Pour sélectionner un texte spécifique, cliquez une première puis unedeuxième fois pour placer le curseur dans le texte puis déplacez la sourispour sélectionner le texte.

� Pour sélectionner plusieurs objets, maintenez la touche MAJ ou CTRLenfoncée et cliquez sur les objets.

� Pour sélectionner des objets adjacents, maintenez la touche MAJ enfoncéepuis cliquez et déplacez le curseur afin de les entourer d�un cadre.

Des poignées apparaissent autour du ou des objets sélectionnés et le nomde l�objet s�affiche dans la barre d�état, en bas à droite de l�écran.

Pour désélectionner un objet de conception

� Maintenez la touche MAJ ou CTRL enfoncée et cliquez sur l�objet àdésélectionner.

Rendre un objet de conception sélectionnable ou non sélectionnablePeut-être voudrez-vous parfois définir un objet afin qu�il soit impossible de ledéplacer ou de modifier sa forme. Pour ce faire, vous pouvez le rendre nonsélectionnable.

Pour empêcher qu�un objet puisse être sélectionné

1 Ouvrez une fiche ou un état dans la fenêtre de conception et cliquez surl�objet avec le bouton droit de la souris, puis cliquez sur Propriétés.

2 Cliquez sur la page Conception.

3 Désactivez la case Peut être sélectionné.

Pour rendre un objet à nouveau sélectionnable

1 Ouvrez l�Explorateur d�objet.

2 Cliquez avec le bouton droit de la souris sur l�objet non sélectionnabledans l�Explorateur d�objet, puis sélectionnez la commande Propriétés.

3 Cliquez sur la page Conception.

4 Cochez la case Sélectionnable.

240 Paradox 9 : Chapitre 5

� Vous pouvez toujours modfier les propriétés d�un objet nonsélectionnable ; pour ce faire, cliquez avec le bouton droit de la souris surl�objet dans l�arborescence de l�Explorateur et cliquez sur Propriétés.

Placement, regroupement et superposition des objets deconception

À l�aide de la barre d�outils, placez un objet de conception dans une fiche ouun état. En contraignant les objets pendant que vous les placez, vous pouvezcréer des cercles, carrés, lignes verticales et horizontales parfaites. Dèsqu�un objet de votre fiche ou état présente des propriétés qui vousconviennent, vous pouvez dupliquer cet objet.

Regroupement d�objets de conception

Vous pouvez regrouper les objets afin qu�ils se comportent comme un seulobjet au cours de certaines opérations.

Lorsque vous sélectionnez un groupe, un seul jeu de poignées forme unrectangle entourant tout le groupe. Vous pouvez alors déplacer ou supprimerle groupe dans son ensemble. Les groupes se comportent comme d�autresconteneurs, sauf qu�ils ne contiennent que les objets que vous avezsélectionnés. Ils sont particulièrement utiles si vous voulez que certainsobjets proches, mais pas tous, se comportent comme une unité. Utilisez ungroupe pour :

� créer un ensemble d�objets à utiliser comme un objet unique,

� conserver la position relative des objets de conception lorsque vous lesdéplacez ou redimensionnez,

� influencer l�ordre de tabulation d�une fiche.

Vous pouvez afficher les propriétés d�un groupe, les modifier ou encore luiassocier des méthodes ObjectPAL.

Superposition d�objets de conception

Les objets d�un document de conception peuvent se trouver au-dessus ouau-dessous d�autres objets. Mais vous avez la possibilité de modifier lasuperposition des objets ou groupes d�objets. L�ordre de tabulation dans lafenêtre de conception correspond à l�ordre d�empilement (de l�arrière versl�avant). Les commandes de superposition vous permettent d�ajuster votreconception de fiche ou d�état. L�ordre d�empilement n�affecte pas l�ordre detabulation pendant l�exécution car il est contrôlé par les propriétés Choisir laprochaine tabulation et Tabulation.

Fiches et états 241

Placement d�un objet de conception dans une fiche ou dans un étatVous pouvez placer un objet de conception n�importe où dans une fiche oudans un état. Pour contraindre des lignes, cadres et ellipses, maintenez latouche MAJ enfoncée pendant que vous cliquez ou cliquez et faites glisser. Sivous contraignez un cadre, il prend la forme d�un carré, une ellipse devientun cercle, une ligne prend la position horizontale, verticale ou à un angle de45 degrés.

Pour placer un objet de conception dans une fiche ou dans unétat

1 Ouvrez une fiche ou un état dans la fenêtre de conception et cliquez surl�outil que vous souhaitez utiliser.

2 Exécutez ensuite l�une des actions suivantes :

� Cliquez sur la fiche ou l�état pour placer l�objet à sa taille par défaut.

� Déplacez le curseur pour redimensionner l�objet tout en le plaçant.

Pour garder un outil activé afin de pouvoir créer plusieurs objetsdu même type

� Gardez la touche MAJ enfoncée lorsque vous cliquez sur l�outil désiré dela barre d�outils. L�outil reste actif jusqu�à ce que vous cliquiez sur unautre outil ou sur la flèche de sélection.

Duplication d�un objet de conceptionParadox vous permet de placer une copie d�un objet adjacent dans l�objetoriginal. L�objet dupliqué est totalement indépendent, comme si vous copiiezl�original dans le Presse-papiers et le colliez dans la fiche ou dans l�état, ous�il était créé à l�aide de l�outil de la barre d�outils. L�objet n�est pas placé dansle Presse-papiers.

Si l�objet que vous dupliquez est une table ou un objet multi-enregistrement,une copie violerait la règle selon laquelle un état ne peut contenir deuxobjets du même type représentant la même table du modèle relationnel. Sivous dupliquez un objet de ce type, Paradox crée l�objet avec une table nondéfinie et avec des propriétés de table identiques (par exemple, couleur etposition des colonnes) mais où les champs sont remplacés par des champsnon définis.

Pour dupliquer un objet de conception

1 Ouvrez une fiche ou un état dans la fenêtre de conception et sélectionnezl�objet à dupliquer.

242 Paradox 9 : Chapitre 5

2 Cliquez sur Édition, Dupliquer.

Paradox place une copie de l�objet de conception sélectionné justeau-dessous de l�original. Déplacez et redimensionnez la copie.

� Vous pouvez dupliquer les objets dans une même fenêtre de conception,mais non d�une fenêtre à une autre.

Regroupement d�objets de conceptionVous pouvez regrouper les objets afin qu�ils se comportent comme un seulobjet au cours de certaines opérations.

Pour regrouper des objets de conception

1 Maintenez la touche MAJ enfoncée et sélectionnez les objets que voussouhaiter regrouper.

2 Cliquez sur Format, Grouper.

Pour dissocier des objets de conception

1 Sélectionnez le groupe.

2 Cliquez sur Format, Dissocier.

� Des groupes peuvent exister au sein d�autres groupes. Sélectionnez ungroupe ainsi que d�autres objets de conception, puis regroupez-les tous.Le premier groupe reste intact à l�intérieur du groupe plus grand.

� Vous pouvez afficher les propriétés d�un groupe, les modifier ou encore luiassocier des méthodes ObjectPAL.

Superposition d�objets de conceptionLes objets d�un document de conception peuvent se trouver au-dessus ouau-dessous d�autres objets. Toutefois, vous avez la possibilité de modifier lasuperposition des objets ou groupes d�objets.

Pour superposer des objets de conception

1 Sélectionnez l�objet à superposer.

2 Cliquez sur l�une des options suivantes :

Fiches et états 243

� Format, Ordre, Premier plan pour placer l�objet sélectionné au-dessusdes autres objets.

� Format, Ordre, Arrière-plan pour placer l�objet sélectionné sous lesautres objets.

� Les options Premier plan et Arrière-plan modifient uniquement l�ordredes objets à l�intérieur d�un conteneur.

� L�ordre des objets comportant des couleurs transparentes peut êtredifficile à déterminer.

� Si vous sélectionnez un groupe d�objets et cliquez sur Premier plan,l�ordre interne du groupe est maintenu et le groupe se place au premierplan.

Affichage d�un objet de conceptionVous pouvez non seulement modifier les propriétés d�exécution d�un objet deconception, par exemple, la forme, la position et la couleur, mais également lamanière dont vous affichez un objet de conception pendant que vous créezune fiche ou un état. Ainsi, vous pouvez décider d�afficher le cadre d�un objetpendant que vous le déplacez ou le redimensionnez, ou bien d�afficher sataille et sa position dans la barre d�état de la fenêtre de conception.

Affichage du cadre d�un objet de conceptionVous pouvez choisir d�afficher les objets avec ou sans cadre à l�écran.

Pour afficher le cadre d�un objet de conception

1 Ouvrez une fiche ou un état dans la fenêtre de conception, cliquez surFormat, Conception.

2 Dans la boîte de dialogue Paramètres, cochez la case Cadre de l�objet.

� Si vous cochez la case Cadre de l�objet, les objets dont le cadre ou lecontour n�est pas précis, sont entourés de pointillés pour les rendre plusvisibles. Lorsque ces objets sont nombreux, il peut être préférable dedésactiver cette option.

� Si vous désactivez la case Cadre de l�objet, Paradox affiche un cadreuniquement si vous avez modifié la propriété du cadre de l�objet (couleur,style ou épaisseur du cadre). Ces cadres apparaissent uniquement dansles fenêtres de conception.

244 Paradox 9 : Chapitre 5

Affichage du contour d�un objet de conception pendant le déplacementou le redimensionnement

Il est possible de spécifier ce qui doit être affiché pendant le déplacement oule redimensionnement d�un objet. Si vous cochez la case Déplacement/Tailleen pointillés, Paradox affiche le contour de l�objet chaque fois que vous ledéplacez ou le redimensionnez.

Pour afficher le contour d�un objet pendant son déplacement ouson redimensionnement

1 Ouvrez une fiche ou un état dans la fenêtre de conception, cliquez surFormat, Conception.

2 Dans la boîte de dialogue Paramètres, cochez la case Déplacement/Tailleen pointillés.

� Si vous désactivez la case Déplacement/Taille en pointillés, Paradoxaffiche l�objet lui-même chaque fois que vous le déplacez ou leredimensionnez. Les opérations de déplacement et deredimensionnement sont souvent plus rapides si vous activez cetteoption, car Paradox ne redessine pas l�image de l�écran tant quel�opération n�est pas terminée. Toutefois, certaines opérations sont plusprécises si vous voyez ce qui se passe au cours de l�opération.

Affichage de la taille et de la position d�un objet de conception sur labarre d�état

Lorsque vous déplacez ou redimensionnez un objet, le côté gauche de labarre d�état affiche l�objet que vous déplacez et vous indique sa position.Cette fonction vous permet de déplacer et de redimensionner les objets avecplus de précision. Une fois le déplacement ou le redimensionnementterminé, la taille et la position sont mises à jour sur le côté droit de la barred�état.

Pour afficher la taille et la position d�un objet de conception surla barre d�état

� Cliquez sur Affichage, Taille et position.

L�extrémité droite de la barre d�état affiche la position (basée sur un axeXY) et la taille de l�objet sélectionné.

Fiches et états 245

� Dans le menu Affichage, Règle, Grille et Taille et position sont desparamètres et non des propriétés ou des préférences.

Déplacement et alignement d�un objet de conceptionVous pouvez déplacer un objet dans une fiche ou dans un état à l�aide de lasouris ou du clavier. Vous pouvez également déplacer un objet indirectementà l�aide des commandes Aligner et Ajuster espacement (menu Conception).

Vous pouvez aligner un objet de conception à gauche, à droite, le centrerhorizontalement ainsi que l�aligner en haut, en bas ou le centrerverticalement. Paradox peut aligner tous les objets de conceptiondirectement sur les lignes (principales et secondaires) de la grille chaque foisque vous les placez, redimensionnez ou déplacez.

Déplacement d�un objet de conceptionVous pouvez placer un objet à n�importe quelle position sur la fiche et surl�état tant qu�il n�est pas associé.

Pour déplacer un objet de conception

1 Ouvrez une fiche ou un état dans la fenêtre de conception, puissélectionnez l�objet à déplacer.

2 Exécutez ensuite l�une des actions suivantes :

� Faites glisser l�objet vers sa nouvelle position.

� Utilisez les touches de direction pour placer l�objet à sa nouvelleposition.

� Si vous déplacez un objet en maintenant la touche MAJ enfoncée pendantque vous faites glisser le curseur, vous l�obligez à se déplacer uniquementdans le sens horizontal ou dans le sens vertical. Si vous déplacez lecurseur le long d�une diagonale placée à un angle inférieur à 45 degrés,l�objet se déplace horizontalement ; dans le cas contraire, il se déplaceverticalement.

246 Paradox 9 : Chapitre 5

Alignement d�un objet de conceptionLorsque un objet de conception s�aligne sur la grille, son coin supérieurgauche se place à l�intersection la plus proche des lignes de la grille. Un objets�aligne soit par rapport à son coin supérieur gauche soit par rapport au bordque vous redimensionnez. Si l�objet ne peut pas se placer à la position voulue(parce qu�il est bloqué par le bord de son conteneur, par exemple), il s�enapprochera le plus possible. La grille n�a aucune influence sur la position desobjets imbriqués dans un texte.

Pour aligner des objets de conception

1 Ouvrez une fiche ou un état dans la fenêtre de conception puis, enmaintenant la touche MAJ enfoncée, cliquez pour sélectionner les objets àaligner.

2 Cliquez sur Format, Alignement, puis sur l�une des options suivantes :

� Gauche pour aligner le côté gauche de chaque objet avec le côté gauchede l�objet le plus à gauche.

� Centré pour aligner les centres des objets verticalement.

� Droite pour aligner le côté droit de chaque objet avec le côté droit del�objet le plus à droite.

� Haut pour aligner le haut de chaque objet avec le haut de l�objet le plushaut.

� Milieu pour aligner les centres des objets horizontalement.

� Bas pour aligner le bas de chaque objet avec le bas de l�objet le plusbas.

Pour aligner les objets sur la grille

� Ouvrez une fiche ou un état dans la fenêtre de conception, cliquez surFormat, Aligner sur la grille pour faire apparaîte une coche à côté del�option.

Les objets se placent au point le plus proche de la grille si la propriétéAligner sur la grille est activée.

� Les objets se trouvant à l�intérieur d�une table s�alignent dans leurscolonnes.

� Les objets ne quittent jamais les conteneurs à aligner, mais se déplacentaussi loin que possible dans la direction indiquée. L�alignement des objetsne rompt pas la relation avec le conteneur.

Fiches et états 247

� La commande Format, Alignement ne permet pas d�aligner verticalementles objets situés dans des bandes différentes d�un état.

� Un redimensionnement généré en interne (par exemple, lorsque vousajoutez un texte à un objet texte ou définissez un objet champ) ne s�alignepas sur la grille.

Ajustement de l�espacement des objets de conceptionVous pouvez ajuster les objets de conception de sorte que l�espace entre lesobjets soit exactement identique.

Pour ajuster l�espacement entre les objets de conception

1 Ouvrez une fiche ou un état dans la fenêtre de conception puis, en tenantla touche MAJ enfoncée, cliquez pour sélectionner les objets deconception à ajuster.

2 Procédez d�une ou des deux manières suivantes :

� Cliquez sur Format, Espacement, Horizontal pour ajuster l�espacehorizontal entre les objets,

� Cliquez sur Format, Espacement, Vertical pour ajuster l�espacevertical entre les objets.

Attachement d�un objet de conception à son emplacementPour être certain qu�un objet d�une fiche ou d�un état ne sera pas déplacéaccidentellement dans la fenêtre de conception, attachez l�objet à laconception. Il est possible de déplacer les objets attachés à l�aide d�une actiontelle que Conception, Aligner. L�attachement de l�objet empêche uniquementson déplacement par inadvertance avec la souris.

Vous attachez un objet par rapport à son conteneur. Vous pouvez déplacer leconteneur d�un objet attaché tant que lui-même n�est pas attaché. Le fait dedéplacer ou de redimensionner un objet pour entourer un objet attachén�entraîne pas l�imbrication de l�objet attaché, même s�il se trouveentièrement dans les limites de l�objet redimensionné.

Pour attacher des objets de conception sur une fiche ou un état

1 Ouvrez une fiche ou un état dans la fenêtre de conception et cliquez surl�objet avec le bouton droit de la souris, puis cliquez sur Propriétés.

2 Cliquez sur l�onglet Conception.

3 Dans la page Conception de la boîte de dialogue Propriétés, activez une ouplusieurs des options suivantes :

248 Paradox 9 : Chapitre 5

� Attacher horizontalement : pour déplacer l�objet vers le bas ou vers lehaut, mais pas vers la droite ou vers la gauche.

� Attacher verticalement : pour déplacer l�objet vers la droite ou vers lagauche, mais pas vers le haut ou vers le bas.

� L�attachement n�a aucune influence sur les objets contenant du texte.

� L�attachement des objets peut se faire non seulement dans la fenêtre deconception, mais également lorsque vous exécutez (imprimez ou affichez)un état.

� Cochez les deux cases Attacher horizontalement et Attacherverticalement pour empêcher un objet de se déplacer dans les deuxdirections.

Dimensionnement et mise en forme d�un objet de conceptionBien que la taille et la forme d�un objet de conception soient définies pardéfaut, il est toujours possible de modifier ces propriétés en modeconception. Vous pouvez également modifier la forme et l�espacement d�unobjet par rapport à d�autres objets de conception d�une fiche ou d�un état oudéfinir un champ de manière qu�il rétrécisse ou s�agrandisseautomatiquement en fonction de la taille de son contenu.

Modification de la taille et de la forme d�un objet de conceptionVous pouvez réduire ou agrandir les objets de conception, leur imposer descontraintes afin qu�ils prennent une forme définie ou bien les étendre pourqu�ils prennent la forme qui vous convient. Dans la fenêtre de conception,agrandissez ou réduisez un champ pour qu�il s�adapte à la taille changeante deson contenu (ceci peut se produire lorsque vous modifiez les propriétés del�objet champ telles que le type, la police ou la taille d�affichage).

Pour modifier la taille ou la forme d�un objet de conception

1 Ouvrez une fiche ou un état dans la fenêtre de conception, puis cliquez surl�objet à redimensionner.

2 Exécutez ensuite l�une des actions suivantes :

� Faites glisser les poignées de l�objet.

Fiches et états 249

� Maintenez la touche MAJ enfoncée et faites glisser la poignée d�unangle pour contraindre l�objet.

Si vous contraignez un objet, tous les objets à l�exception des lignesgardent leurs proportions actuelles. Les lignes sont obligatoirementhorizontales, verticales ou à un angle de 45 degrés.

Pour redimensionner un objet champ

1 Ouvrez une fiche ou un état dans la fenêtre de conception et cliquez surl�objet champ avec le bouton droit de la souris puis choisissez Propriétés.

2 Cliquez sur l�onglet Conception.

3 Cochez la case Ajuster la taille.

� Si vous n�arrivez pas à redimensionner un objet texte à l�aide despoignées, essayez de cliquer dessus avec le bouton droit de la souris puissur Propriétés. Modifiez la taille du texte à l�aide de la page Police de laboîte de dialogue Propriétés.

� Si vous n�arrivez pas à redimensionner un objet OLE ou bitmap à l�aidedes poignées, désactivez la propriété Ajuster la taille. Avec le bouton droitde la souris, cliquez sur l�objet, puis sur Propriétés et désactivez la caseAjuster la taille dans la page Conception de la boîte de dialoguePropriétés.

Ajustement de la taille et de l�espacement de plusieurs objets deconception

Il est possible d�ajuster la taille et l�espacement des objets de conceptionpour obtenir un aspect symmétrique. Par exemple, vous pouvez créer ungroupe de boutons de largeur et de hauteur identiques. Si Paradox n�arrivepas à redimensionner un objet, il n�en tient pas compte et redimensionnetous les autres.

Pour ajuster la taille et l�espacement de plusieurs objets deconception

1 Ouvrez une fiche ou un état dans la fenêtre de conception puis, enmaintenant la touche MAJ enfoncée, cliquez pour sélectionner les objets àajuster.

2 Cliquez sur une ou plusieurs des options suivantes :

� Format, Taille, Largeur minimum pour redimensionner tous les objetsà la largeur de l�objet le plus étroit.

250 Paradox 9 : Chapitre 5

� Format, Taille, Largeur maximum pour redimensionner tous les objetsà la largeur de l�objet le plus large,

� Format, Taille, Hauteur minimum pour redimensionner tous les objetsà la hauteur de l�objet le moins haut,

� Format, Taille, Hauteur maximum pour redimensionner tous les objetsà la hauteur de l�objet le plus haut.

Grossissement de l�affichage d�un champ graphique ou OLEPar défaut, Paradox affiche un graphique ou un objet OLE à 100 % de sa tailled�origine.

Pour modifier la taille d�affichage d�un champ graphique ou OLE

1 Ouvrez une fiche.

2 Cliquez avec le bouton droit de la souris sur le graphique ou le champOLE puis cliquez sur Propriétés.

3 Cliquez sur l�onglet Grossissement.

4 Cliquez sur l�une des options suivantes :

� 25% ou 50% pour réduire l�objet affiché,

� 100% pour afficher l�objet à sa taille originale,

� 200% ou 400% pour agrandir l�objet affiché,

� Ajustement optimisé pour réduire l�objet de façon à l�ajuster à la pagetout en conservant ses proportions originales. Lorsque voussélectionnez Ajustement optimisé et modifiez la largeur de colonne oula hauteur de ligne, la taille de l�objet est modifiée.

� Pour obtenir de meilleures performances, affichez les objets graphiques etOLE à 100 %. L�option Ajustement optimisé fournit en général les moinsbonnes performances en matière de rapidité.

Imbrication d�un objet de conceptionLorsqu�un objet est situé entièrement à l�intérieur d�un autre, il peut être« imbriqué » dans l�objet extérieur. Les objets imbriqués sont déplacés ousupprimés lorsque vous déplacez ou supprimez leur conteneur. Pour qu�unobjet devienne conteneur, activez la propriété Imbriquer les objets de la pageConception. Sinon, les objets situés à l�intérieur de ses limites restentindépendants.

Fiches et états 251

Si vous désactivez la propriété Imbriquer les objets pour un objet, celui-ci sedéplace indépendamment des autres à l�intérieur de ses limites. Si vousl�activez, tous les objets à l�intérieur de ses limites sont imbriqués dansl�objet.

Il est impossible de modifier la propriété Imbriquer les objets pour certainsobjets (cadre de table, enregistrement, champ, page, bande d�un état, objetmulti-enregistrement, référence croisée et page d�une fiche). Le contenu deces objets n�existe qu�en tant que partie intégrante de l�objet. Par exemple,un enregistrement ne peut être séparé du cadre de table dans lequel il estimbriqué.

Ordre de tabulation

La hiérarchie d�imbrication influe sur l�ordre de tabulation par défaut car vousdevez passer (à l�aide de la touche TAB) par tous les objets à l�intérieur duconteneur avant de pouvoir sortir de celui-ci. Vous pouvez modifier l�ordre detabulation de manière plus efficace dans la page Exécution de la boîte dedialogue Propriétés.

L�Explorateur d�objet permet d�examiner la hiérarchie d�imbrication d�uneconception.

Relations imbriquées sans rupture

Il est quelquefois impossible de sortir certains objets de leurs conteneurs.Par exemple, si vous travaillez avec un objet champ libellé, vous ne pouvezsortir du conteneur ni le libellé du champ (un objet texte) ni la zone demodification du champ. Ceci parce que l�objet champ libellé, par définition,inclut les trois parties d�une relation imbriquée.

Création d�un objet de conception imbriquéPar défaut, la propriété Imbriquer les objets de la page Conception de la boîtede dialogue Propriétés est activée pour tous les objets qui peuvent l�utiliser(avec le bouton droit de la souris, cliquez sur l�objet, puis sur Propriétés etactivez la case Imbriquer les objets dans la page Conception de la boîte dedialogue Propriétés).

Pour créer un objet de conception imbriqué

1 Ouvrez une fiche ou un état dans la fenêtre de conception et sélectionnezl�objet conteneur.

2 Avec le bouton droit de la souris, cliquez sur l�objet, puis sur Propriétés.

3 Cliquez sur la page Conception.

4 Cochez la case Imbriquer les objets.

252 Paradox 9 : Chapitre 5

5 Placez l�objet à imbriquer dans l�objet conteneur en procédant de l�une desmanières suivantes :

� Créez un nouvel objet à l�intérieur d�un objet existant.

� Déplacez un objet existant en restant complètement dans les limitesd�un autre objet.

� Déplacez ou redimensionnez un conteneur entourant un objet.

� Collez un objet dans un autre objet.

� L�objet imbriqué doit tenir entièrement dans les limites de l�objetconteneur. Si l�objet conteneur est doté d�un cadre, l�objet imbriqué nedoit pas sortir de ce cadre.

� Vous ne pouvez imbriquer un objet dans une table que si celle-ci tiententièrement dans une colonne et une ligne. Si vous retirez un champd�une table, il peut être très difficile de l�y replacer si la cellule du champrestant était ajustée à la dimension exacte (ce qui est le cas par défaut).Dans ce cas, essayez d�augmenter légèrement la largeur de la colonne etd�agrandir la ligne.

� Si l�option Aligner sur la grille est activée, il peut être difficile d�imbriquerun objet dans un autre car les deux pourraient essayer de s�aligner sur lamême ligne de grille. Dans ce cas, redimensionnez l�un des objets ou lesdeux afin qu�ils s�alignent sur des lignes de grille différentes ou désactivezl�option Aligner sur la grille.

Sélection d�un objet de conception imbriquéSupposons que vous ayez une ellipse imbriquée dans un cadre. Lorsque vouscliquez sur l�ellipse, Paradox sélectionne par défaut l�objet le plus àl�extérieur en premier. Bien que vous cliquiez à l�intérieur de l�ellipse,Paradox sélectionne le cadre. Cliquez une deuxième fois pour sélectionnerl�ellipse.

Pour que Paradox sélectionne toujours l�objet imbriqué dès lepremier clic

1 Ouvrez une fiche ou un état dans la fenêtre de conception, cliquez surOutils, Paramètres, Préférences.

2 Cliquez sur l�onglet Concepteur.

3 Cochez la case Sélection depuis l�intérieur à la page 233.

Fiches et états 253

Pour que Paradox sélectionne temporairement l�objet imbriquédès le premier clic

1 Ouvrez une fiche ou un état dans la fenêtre de conception, cliquez surFormat, Conception.

2 Cochez la case Sélection depuis l�intérieur.

Suppression d�un objet de conception imbriquéSi vous supprimez un objet alors que la propriété Imbriquer les objets estactivée, Paradox supprime l�objet et tout ce qu�il contient.

Souvenez-vous des règles suivantes lorsque vous supprimez des objets dansune relation d�imbrication :

� En supprimant un conteneur, vous supprimez tous les objets qu�ilcontient.

� La suppression d�un objet imbriqué n�affecte pas son conteneur.

Pour supprimer un objet de conception imbriqué

1 Sélectionnez l�objet imbriqué à supprimer.

2 Cliquez sur Édition, Supprimer.

Rupture d�une relation d�imbricationPour supprimer un conteneur en conservant les objets qu�il contient, vousdevez d�abord rompre la relation d�imbrication.

Pour rompre une relation d�imbrication

� Avec le bouton droit de la souris, cliquez sur l�objet conteneur, puis surPropriétés et désactivez la case Imbriquer les objets dans la pageConception de la boîte de dialogue Propriétés.

Il n�est pas nécessaire de sortir l�objet imbriqué complètement duconteneur. La relation est rompue dès qu�une partie de l�objet imbriqué setrouve à l�extérieur du cadre du conteneur.

Pour supprimer un conteneur en conservant les objets qu�ilcontient

1 Effectuez la procédure ci-dessus.

2 Sélectionnez le conteneur et cliquez sur Édition, Supprimer.

254 Paradox 9 : Chapitre 5

� Vous pouvez également sélectionner plusieurs objets contenus et lessortir du conteneur, les couper et les placer dans le Presse-papiers,supprimer le conteneur et déplacer ou coller les objets à leur positiond�origine.

Affectation d�un nom aux objets de conceptionLorsqu�un objet est sélectionné, son nom apparaît sur la barre d�état. Paradoxnomme automatiquement les objets en fonction de leur type et numéro, Parexemple, #ellipse32 ou #box3. Vous pouvez toujours remplacer ces nomspar un nom de votre choix.

Pourquoi nommer les objets ?

Le nom d�un objet sélectionné s�affiche sur la barre d�état et dans certainesmessages d�erreur. Les noms d�objets permettent de déterminer l�objetsélectionné dans une conception complexe.

Tous les objets de conception d�une fiche peuvent être associés à desméthodes ObjectPAL. ObjectPAL se réfère aux objets par leur nom.

Dans un état, vous pouvez utiliser des noms d�objets pour définir des champscalculés.

Affectation d�un nom à un objet de conceptionLe nom d�un objet peut comporter jusqu�à 32 caractères ; il ne doitcommencer ni par un numéro, ni par un symbole.

Pour nommer ou renommer un objet de conception à partir de laboîte de dialogue Propriétés

1 Ouvrez une fiche ou un état dans la fenêtre de conception et cliquez surl�objet avec le bouton droit de la souris, puis cliquez sur Propriétés.

2 Dans la page Général de la boîte de dialogue Propriétés, entrez le nouveaunom de l�objet dans la zone Nom de l�objet.

Pour nommer ou renommer un objet de conception à partir del�Explorateur d�objet

1 Ouvrez l�Explorateur d�objet.

2 Sélectionnez l�objet à nommer ou à renommer.

3 Cliquez trois fois sur le nom courant jusqu�à ce que le curseur s�affiche.

4 Entrez le nouveau nom.

Fiches et états 255

� Si vous changez le nom d�un objet dans une fonction ou une méthode,celles-ci échoueront.

� Seuls les lettres, numéros, le caractère de soulignement _ et le signe #peuvent être utilisés dans le nom d�un objet. De plus, le nom d�un objet nedoit pas contenir d�espace.

Placement d�une barre de défilement dans un objet deconception

Les objets dans les fiches et états peuvent avoir des barres de défilement,mais celles-ci sont différentes selon qu�il s�agit d�une fiche ou d�un état.

À propos des barres de défilement dans les fiches

Lorsque vous placez une barre de défilement dans un objet de conception defiche, elle s�affiche dès l�exécution de la fiche et permet de faire défilerl�objet. Vous pouvez ajouter des barres de défilement aux types d�objetsuivants :

� objets texte (barre de défilement verticale uniquement)

� objets graphiques

� objets OLE

� objets champ

� cadres de table (Paradox place automatiquement une barre de défilementhorizontale sur le bord inférieur d�un cadre de table si vous définissez unetable trop grande pour rentrer sur la page alors que la case Ajuster la tailleest cochée dans la page Conception de la boîte de dialogue Propriétés.)

� objets multi-enregistrement

� objets classeur (pour plus d�informations, reportez-vous à la rubriquePlacement d�une barre de défilement sur un classeur à la page 257.)

� pages de fiche

� pages d�état dans la fenêtre de conception

À propos des barres de défilement dans les étatsCertains objets d�état ont une barre de défilement, mais qui ne s�affiche paslorsque vous prévisualisez ou imprimez l�état. Les barres de défilementd�une fenêtre de conception d�état vous permettent d�afficher les textes etgraphiques qui ne rentrent pas dans l�espace qui leur est affecté. Àl�exécution, l�objet prend sa taille intégrale et les barres de défilementdisparaissent. En s�agrandissant, l�objet peut pousser d�autres objets situésau-dessous ou à droite.

256 Paradox 9 : Chapitre 5

Objet texte

Lorsque vous travaillez sur un objet texte dans la fenêtre de conceptiond�état, vous pouvez placer une barre de défilement verticale à sa droite. Celavous permet d�entrer un texte volumineux dans la fenêtre de conception sansqu�il soit nécessaire de redimensionner l�objet texte.

Lorsque vous exécutez l�état, Paradox peut augmenter la hauteur de l�objettexte sur la page afin d�afficher tout son contenu. En s�agrandissant, l�objettexte peut en pousser d�autres situés plus bas. La définition de propriétésd�exécution dans la page Exécution de la boîte de dialogue Propriétés permetde contrôler les effets de l�agrandissement de l�objet.

Objets graphiques et OLE

Si vous redimensionnez un conteneur d�objet graphique ou OLE à une tailleinférieure à son contenu, placez des barres de défilement en bas et à droitede ce conteneur, afin de pouvoir afficher les différentes sections de l�objet.Cette technique permet de découper l�objet et de n�en afficher qu�une partie.

Lorsque vous prévisualisez ou imprimez l�état, la propriété Ajustement detaille de la page Exécution détermine si le cadre s�agrandit jusqu�à la taille ducontenu, ou reste fixe et n�affiche qu�une partie du graphique ou de l�objetOLE.

Tables objets multi-enregistrement

Le fait de placer une barre de défilement horizontale sur un cadre de tabled�état vous permet de faire défiler celui-ci dans la fenêtre de conceptiond�état. Lorsque vous exécutez l�état, Paradox supprime la barre de défilementet agrandit le cadre de la table pour permettre l�affichage intégral de soncontenu. À cause de l�agrandissement, certains objets situés sous le cadre detable peuvent être décalés. La définition de propriétés d�exécution dans lapage Exécution de la boîte de dialogue Propriétés permet de contrôler leseffets de l�agrandissement de l�objet. Si le contenu d�une table est trop largepour tenir sur la page, indiquez comment gérer les données qui ne tiennentpas sur une page dans la boîte de dialogue Impression du fichier.

Placement d�une barre de défilementÀ l�aide de la boîte de dialogue Propriétés, vous pouvez placer une barre dedéfilement verticale ou horizontale sur votre document. La barre dedéfilement de Paradox est étroite par défaut.

Pour placer une barre de défilement sur un objet

1 Ouvrez une fiche ou un état dans la fenêtre de conception et cliquez surl�objet avec le bouton droit de la souris, puis cliquez sur Propriétés.

Fiches et états 257

2 Dans la page Général de la boîte de dialogue Propriétés, cochez l�une descases suivantes :

� Barre de défilement horizontale : positionne une barre de défilementen bas de l�objet.

� Barre de défilement verticale : positionne une barre de défilement lelong du côté droit de l�objet.

Pour afficher une une barre de défilement de largeur standard

1 Ouvrez une fiche ou un état dans la fenêtre de conception et cliquez surl�objet avec le bouton droit de la souris, puis cliquez sur Propriétés.

2 Dans la page Général de la boîte de dialogue Propriétés, cochez la caseBarre de défilement large.

Cette configuration affecte les deux barres de défilement, horizontale etverticale, pour l�objet de conception sélectionné.

� Les propriétés de la barre de défilement varient en fonction de l�objetsélectionné. Par exemple, les objets texte n�ont pas de barre dedéfilement horizontale.

Modification des propriétés d�une objet de conceptionVous pouvez modifier les propriétés d�un objet dans votre fiche ou dans votreétat. En modifiant les propriétés d�un objet, vous personnalisez vos fiches etétats pour obtenir le résultat adéquat. En cliquant avec le bouton droit de lasouris sur un objet quelconque d�un document de conception, puis surPropriétés, vous affichez une boîte de dialogue spécifique à l�objet qui vouspermet de changer ses propriétés. L�Explorateur d�objet vous permetégalement de modifier les propriétés d�un objet.

Modification des propriétés à l�aide de l�Explorateur d�objetSi votre fiche ou votre état contient de nombreux objets et, plusparticulièrement, si vous y attachez un code ObjectPAL, il peut vous arriverd�oublier la fonction d�une chose ou son nom. Paradox vous propose unmoyen d�afficher la conception et de voir tous les objets que vous avezplacés.

258 Paradox 9 : Chapitre 5

L�arborescence de l�Explorateur d�objet affiche un diagramme schématique devotre conception de fiche ou d�état. Ce diagramme vous montre les objets deconception et leurs relations réciproques. L�arborescence s�avèreparticulièrement utile dans le cas d�une conception de grande largeur, si vousne voulez pas utiliser les barres de défilement pour vous déplacer dans laconception.

Pour modifier les propriétés d�un objet de conception

1 Affichez l�Explorateur d�objet d�une des manières suivantes :

� Appuyez sur CTRL + Barre d�espacement.

� Cliquez sur Outils, Explorateur d�objet.

� Cliquez sur un objet avec le bouton droit de la souris, puis cliquez surExplorateur d�objet.

2 Cliquez sur un objet dans l�arborescence d�objets.

3 Appliquez l�une des méthodes suivantes pour modifier les propriétés del�objet :

� Dans l�arborescence d�objets, cliquez avec le bouton droit de la sourissur l�objet, puis sur Propriétés. Modifiez les propriétés dans la pageadéquate (servez-vous des touches de direction pour aller d�un objet àl�autre dans l�arborescence).

� Dans la page Propriétés, cliquez avec le bouton droit de la souris sur lapropriété, puis cliquez sur Édition. Appuyez sur Entrée et entrez lenom de la nouvelle propriété.

4 Cliquez sur Fichier, Fermer pour quitter la fenêtre de l�arborescenced�objets.

Modification de propriétés propagéesLes propriétés propagées sont celles que Paradox peut appliquer à tous lesobjets d�un groupe sélectionné et à tous les objets imbriqués dans un objetsélectionné. Elles permettent de modifier les propriétés communes àplusieurs objets d�une fiche ou d�un état. Par exemple, si, après avoir crééune fiche à champs multiples sur une page, vous voulez modifier la couleurde la zone de modification de tous le champs, sélectionnez toutes ces zoneset modifiez la propriété couleur une seule fois. De plus, si plusieurs objetspossèdent des propriétés communes, vous pouvez sélectionner tous cesobjets et Paradox appliquera les paramètres que vous avez définis pour unepropriété aux objets pour lesquels la propriété est valide. Cette méthodevous permet de gagner du temps lors de la conception d�une fiche ou d�unétat.

Fiches et états 259

Pour modifier les propriétés propagées de différents objetspossédant des propriétés communes dans une fiche ou un état

1 Dans un document (fiche ou état) ouvert dans la fenêtre de conception,sélectionnez les objets appropriés en maintenant la touche CTRLenfoncée, puis cliquez avec le bouton droit de la souris sur l�un des objets(tout en maintenant la touche CTRL enfoncée).

2 Utilisez la boîte de dialogue Propriétés Objets sélectionnés pour modifierles propriétés.

Paradox applique vos choix à tous les objets auxquels la propriété estapplicable et à tous ceux imbriqués dans l�objet sélectionné.

Pour modifier les propriétés propagées de plusieurs objets demême type dans une fiche ou un état

1 Dans un document (fiche ou état) ouvert dans la fenêtre de conception,sélectionnez les objets appropriés tout en maintenant la touche MAJenfoncée, puis cliquez avec le bouton droit de la souris sur l�un des objetset sélectionnez Propriétés.

2 Dans la boîte de dialogue Propriétés, effectuez les modificationsappropriées.

� Si vous sélectionnez un objet contenant d�autres objets, Paradox appliqueles modifications non seulement au conteneur mais aussi à tous les objetsqu�il contient. Pour modifier uniquement les propriétés du conteneur,sélectionnez-le, puis cliquez avec le bouton droit de la souris etsélectionnez Propriétés.

Modification des propriétés propagées de tous les objetsVous avez la possibilité de modifier les propriétés soit pour le document defiche ou d�état seul, soit pour ce document et tous les objets qu�il contient.

Pour modifier les propriétés propagées de tous les objets

1 Ouvrez une fiche ou un état dans la fenêtre de conception et appuyez surÉchap jusqu�à ce que la barre d�état indique, en bas à droite, que la ficheou l�état est sélectionné.

2 Choisissez l�une des options suivantes :

260 Paradox 9 : Chapitre 5

� Pour ne modifier que le document de conception lui-même, appuyezsur F6 et cliquez sur Propriétés ;

� Pour modifier le document de conception et tous les objets qu�ilcontient, appuyez sur MAJ + F6.

Pour modifier les propriétés propagées de tous les élémentsd�une fiche

� Cliquez avec le bouton droit de la souris pour afficher le menu despropriétés de la page. Paradox applique la propriété choisie uniquement àla page.

� Maintenez la touche CTRL enfoncée et cliquez avec le bouton droit de lasouris pour afficher les propriétés propagées de la page. Paradox appliquela propriété choisie à la page ainsi qu�à tous les objets pour lesquels lapropriété est valide.

� Maintenez la touche CTRL enfoncée et cliquez avec le bouton droit de lasouris dans la barre de titre de la fenêtre pour afficher les propriétéspropagées pour toutes les pages d�une fiche multi-page.

Pour modifier les propriétés propagées de tous les éléments d�unétat

� Cliquez avec le bouton droit de la souris, pour afficher le menu despropriétés de la bande sélectionnée. Paradox applique la propriété choisieuniquement à cette bande.

� Maintenez la touche CTRL enfoncée et cliquez avec le bouton droit de lasouris pour afficher les propriétés propagées de la bande sélectionnée.Paradox applique la propriété choisie à la bande ainsi qu�à tous les objetsde la bande pour lesquels la propriété est valide.

� Maintenez la touche CTRL enfoncée et cliquez avec le bouton droit de lasouris dans la barre de titre de la fenêtre pour afficher les propriétéspropagées de toutes les bandes de l�état.

Association d�une méthode avec un objet de conceptionObjectPAL est le langage de développement d�application de base de donnéesde Paradox. Il vous permet d�associer des méthodes, qui sont des petitsprogrammes ObjectPAL, aux objets d�une fiche. Il est possible de créer desméthodes qui gèrent les données, répondent aux actions et exécutent desfonctions.

Fiches et états 261

Tous les objets d�une fiche, y compris sa page sous-jacente, peuvent accéderà l�Explorateur d�objet à partir de leurs menus contextuels. Cliquez sur cetteoption pour définir les méthodes ObjectPAL que vous souhaitez associer àl�objet.

Pour plus d�informations à propos de la création de méthodes, reportez-vousà la rubrique Méthodes personnalisées dans l�aide en ligne ObjectPAL.

Référez-vous à la documentation ObjectPAL pour savoir comment utiliserObjectPAL.

Conception d�une ficheLes fiches sont un excellent outil pour la saisie de données. Élaborez unefiche contenant des données extraites d�une ou plusieurs tables, puisutilisez-la pour les entrer et les modifier. La table reflète automatiquementtous les changements que vous apportez aux données figurant dans la fiche.

Utilisez la fenêtre Conception de fiche pour créer une fiche. Cette fenêtren�affiche pas les données d�une table. Pour y accéder, exécutez la fiche.

Lorsque vous concevez une fiche, vous pouvez :

� ajouter ou supprimer des objets de conception : boîtes, champs, tables etgraphes,

� modifier les propriétés d�un objet de conception dans la fiche,

� ajouter des méthodes ObjectPal aux objets de conception afin depersonnaliser leurs fonctionnalités,

� ajouter, supprimer ou réorganiser des pages,

� personnaliser une fiche par défaut,

� exécuter une fiche pour voir et éditer des données.

Création et ouverture d�une ficheAvec Paradox, vous pouvez créer une fiche entièrement nouvelle, ou faireappel à un Expert qui vous aidera à élaborer une fiche répondant à vosbesoins. Vous pouvez aussi travailler à partir d�une fiche existante, si ellevous satisfait, ou en créer une nouvelle basée sur un état antérieur.

Création d�une nouvelle ficheTrois méthodes de création sont à votre disposition : création complète,modification d�une fiche existante ou copie d�une fiche existante etattribution d�un nouveau nom.

262 Paradox 9 : Chapitre 5

Pour créer une fiche vierge

1 Cliquez sur Fichier, Nouveau, Fiche.

2 Cliquez sur Vierge.

Paradox ouvre alors une fenêtre de conception vierge, non liée à une tableet ne contenant qu�une seule page pour les fiches, ou un en-tête et basd�état, un en-tête et bas de page, et une bande d�enregistrements pour lesétats.

Pour modifier une fiche existante

1 Cliquez sur Fichier, Ouvrir, Fiche pour ouvrir une fiche.

2 Dans la boîte de dialogue Ouverture d�une fiche, utilisez la listedéroulante Rechercher dans pour trouver la fiche désirée.

3 Entrez le nom de la fiche dans la zone Nom du fichier.

4 Activez l�option Modifier conception fiche.

5 Cliquez sur Ouvrir.

Pour copier une fiche à partir de la Fenêtre Projet

1 Cliquez sur Outils, puis sélectionnez Fenêtre Projet.

2 Cliquez sur l�icône Fiches pour afficher des fiches.

3 Dans le volet droit de la Fenêtre Projet, cliquez avec le bouton droit de lasouris sur une fiche, puis sélectionnez la commande Copier.

4 Dans la boîte de dialogue Copier vers, entrez le nom de la nouvelle fichedans la zone de texte Nom du fichier.

5 Cliquez sur Copier.

Paradox crée une copie de la fiche qui prend le nom indiqué.

Conception d�une fiche à partir d�un étatVous pouvez ouvrir une fiche sous forme d�état, ou un état sous forme defiche. Si vous trouvez dans un état exactement le modèle relationnel et ladisposition qui vous conviennent, ouvrez l�état sous forme de fiche sansrecréer la conception. Paradox détermine alors la disposition de la fiched�après la bande d�enregistrement de l�état. Les fiches n�utilisant pas ladisposition en bande des états, les objets des groupes, des bandes de page oud�état ne sont pas inclus dans la conception de la nouvelle fiche.

Fiches et états 263

Certains objets se comportent différemment selon qu�ils se trouvent dansune fiche ou dans un état. Les champs calculés et les champs récapitulatifs,par exemple, considèrent les données différemment ; par conséquent, il vousfaudra peut-être les modifier pour obtenir de bons résultats. Les champsrécapitulatifs situés dans la bande d�enregistrements d�un état fonctionnentcorrectement sous forme de fiche. Si la conception de l�état comporte un sautde page dans la bande d�enregistrements, Paradox crée une fiche multi-page.

Pour concevoir une fiche à partir d�un état

1 Cliquez sur Fichier, Ouvrir, État.

2 Dans la boîte de dialogue Ouverture d�un état, sélectionnez l�état désiré.

3 Activez l�option Ouvrir en tant que fiche.

Paradox crée et ouvre une nouvelle fiche basée sur la banded�enregistrements de l�état, en tenant compte de ses propriétés deconception et des sauts de page.

� Paradox ne modifie pas l�état existant.

Ouverture d�une fiche existanteVous pouvez ouvrir une fiche existante en mode conception, ce qui vousdonne la possibilité de changer son aspect, ou en mode exécution, afind�afficher et d�éditer les données qu�elle contient.

Pour ouvrir une fiche existante

1 Cliquez sur Fichier, Ouvrir, Fiche.

2 Dans la boîte de dialogue Ouverture d�une fiche, sélectionnez la fiche quevous voulez ouvrir.

3 Sélectionnez l�une des options suivantes :

� Afficher la fiche : affiche la fiche.

� Modifier conception de fiche : permet de modifier la conception de lafiche.

� Ouvrir en tant qu�état : ouvre la fiche en tant qu�état (c�est une façonrapide d�utiliser la disposition d�une fiche pour définir la dispositiond�un état).

264 Paradox 9 : Chapitre 5

4 Pour utiliser la conception d�une fiche avec une table différente, cliquezsur Changer de table et sélectionnez-en une autre.

5 Cliquez sur Ouvrir.

Format et mise en page (fiches)La mise en page définit le format de page utilisé pour une fiche. Vous pouvezutiliser une taille prédéfinie, ou personnaliser la largeur et la hauteur.

Conception pour l�écran

Par défaut, Paradox conçoit des fiches pour l�écran. Vous pouvez utilisertoutes les polices d�écran installées sur votre système. Néanmoins, si ellesne sont pas disponibles sur votre imprimante, les documents créés à l�écranrisquent de ne pas être identiques dans la version imprimée.

Lorsque vous concevez pour l�écran, Paradox utilise la taille écran actuelle devotre système (en pixels) dans la zone Taille écran de la boîte de dialogueMise en page. Vous pouvez modifier la taille et spécifier l�unité de mesure dela taille personnalisée.

Lorsque vous concevez une fiche destinée à être utilisée par d�autrespersonnes, tenez compte de l�écran dont les utilisateurs se serviront pourafficher cette fiche. Il est préférable d�utiliser des couleurs et des policesstandard, de même que des tailles standard pour les fenêtres de la fiche, afind�être sûr que cette dernière, une fois terminée, sera utilisable.

Conception pour l�imprimante

Si vous concevez pour une imprimante :

� Paradox ne met à votre disposition que les polices actuellement installéessur votre imprimante active. Cela peut limiter votre affichage écran, maisassure une sortie papier de votre document identique à l�affichage écran.

� Paradox essaie de faire correspondre la vue écran à la sortie papier. Celasignifie que les polices d�écran peuvent ne pas être exactementidentiques, en hauteur ou en largeur, aux polices de l�imprimante. Lesobjets à taille ajustée sont redimensionnés en fonction des tailles de policede l�imprimante. À l�écran, cela peut causer une troncation ou un retour àla ligne trop précoce pour les objets texte. Lorsque vous concevez pourl�imprimante, faites attention à ne pas causer de troncation indésirable enredimensionnant les objets pour une police d�écran.

Fiches et états 265

Vous pouvez concevoir la fiche selon l�orientation portrait ou paysage.

� Si vous sélectionnez Paysage dans la boîte de dialogue Mise en page, lafiche s�imprime de gauche à droite dans le sens de la longueur de lafeuille. Toutefois, il vous faut configurer l�imprimante pour l�orientationsouhaitée. Si vous choisissez Portrait comme configuration pour Paradoxet l�imprimante, la fiche s�imprime de gauche à droite, dans le sens de lalargeur de la feuille.

� Si vous choisissez Paysage comme configuration pour Paradox etl�imprimante, la fiche s�imprime dans le sens de la longueur du papier.

� Si vous sélectionnez Paysage dans Paradox, et Portrait dans lesparamètres de l�imprimante, puis affichez la fiche en mosaïque ensélectionnant Créer des pages de débordement horizontal si nécessairedans la boîte de dialogue Impression du fichier, la fiche s�imprime surautant de feuilles que nécessaire, en orientation Portrait. Ces paramètressont utiles si, par exemple, vous voulez relier une fiche présentant despages larges dans un format 8,5 x 11 (format livre).

Modification d�une mise en page de ficheVous pouvez attribuer une taille écran par défaut à tous les documents, oumodifier la mise en page d�une seule fiche.

Pour modifier la mise en page d�une fiche

1 Ouvrez une fiche dans la fenêtre de conception, puis cliquez sur Fichier,Mise en page.

2 Dans la boîte de dialogue Mise en page, activez l�une des optionssuivantes :

� Imprimante : pour une conception destinée à l�impression (optionutilisée principalement pour les états),

� Écran : pour une conception destinée à un affichage sur écran (optionutilisée principalement pour les fiches).

3 Sélectionnez l�unité de mesure voulue.

4 Sélectionnez une taille de page prédéfinie, ou entrez une taillepersonnalisée dans les cases Largeur et Hauteur.

5 Si vous concevez la fiche pour l�imprimante, sélectionnez l�orientationpapier souhaitée.

Pour définir une taille écran par défaut

1 Cliquez sur Outils, Paramètres, Préférences.

266 Paradox 9 : Chapitre 5

2 Cliquez sur l�onglet Fiches/États.

3 Désactivez la case Taille du bureau.

4 Choisissez l�unité de mesure appropriée.

5 Entrez des valeurs dans les zones Largeur et Hauteur.

Chaque fiche créée a la taille par défaut spécifiée.

Utilisation d�une fiche multi-pageSi les objets de votre fiche ne tiennent pas dans un seul écran, créez unefiche multi-page. Il vous suffit de placer des objets de conception sur chaquepage, et l�utilisateur affiche les différentes pages lorsqu�il exécute la fiche.Vous pouvez concevoir une fiche multi-page de façon à ce que les pagessoient présentées en mosaïque horizontale ou verticale, comme décrit dansla section Pages de fiche en mosaïque à la page 269.

Vous pouvez également créer une fiche avec des images multiples en yplaçant un objet classeur.

Lorsque vous travaillez avec une fiche multi-page, vous devez ajouter chaquepage de la fiche. Vous ne pouvez placer un saut de page dans une fichecomme vous le feriez dans un état.

� Les applications ObjectPAL conçues à l�aide d�une fiche multi-page sontsouvent plus rapides que les applications dans lesquelles des fichesmultiples s�ouvrent et se ferment.

Ajout d�une page de ficheIl est impossible d�ajouter une page vierge entre des pages existantes, maisvous pouvez en ajouter une puis effectuer une rotation ou un déplacementdes pages pour les placer dans un ordre différent.

Pour ajouter une page de fiche

� Ouvrez une fiche dans la fenêtre de conception, puis cliquez sur Insérer,Page.

Paradox ajoute alors une page vierge à la fiche, après les pages existantes.

Fiches et états 267

� Lorsque vous travaillez sur des fiches multi-page, cliquez sur Affichage,Zoom, Ajustement optimisé si vous voulez voir simultanément toutes lespages d�une fiche à l�écran.

Couper, copier, coller et supprimer une page de ficheUne fois le format de votre fiche multi-page créé, vous pouvez couper, copier,coller ou supprimer des pages afin d�obtenir exactement la fiche voulue.

Pour couper une page

1 Ouvrez une fiche dans la fenêtre de conception, puis sélectionnez la pageque vous souhaitez couper.

2 Cliquez sur Édition, Couper.

Paradox supprime la page ainsi que tous les objets qu�elle contient.

Pour copier une page

1 Ouvrez une fiche dans la fenêtre de conception, puis sélectionnez la pageque vous souhaitez copier.

2 Cliquez sur Édition, Copier.

Paradox copie la page ainsi que tous les objets qu�elle contient.

Pour coller une page

1 Copiez ou coupez la page dans la fenêtre de conception.

2 Sélectionnez la page qui viendra après la page à coller.

3 Cliquez sur Édition, Coller.

La page est collée avant la page sélectionnée. Par exemple, si vous coupezla page 2 d�un état de cinq pages, sélectionnez la dernière page et collez lapage 2, Paradox l�insère en tant que page 4.

Pour supprimer une page de fiche

1 Ouvrez une fiche dans la fenêtre de conception, puis sélectionnez la pageque vous souhaitez supprimer.

2 Exécutez ensuite l�une des actions suivantes :

� Appuyez sur SUPPR.

� Cliquez sur Édition, Supprimer.

� Cliquez sur Édition, Couper.

268 Paradox 9 : Chapitre 5

� La commande Couper place le texte dans le Presse-papiers,contrairement à la touche SUPPR.

Rotation des pages d�une ficheParadox vous permet de déplacer une page sélectionnée en dernière position.Par exemple, si vous sélectionnez la page 2 d�une fiche de cinq pages etcliquez sur Format, Rotation des pages, Paradox déplace la page 2 à la fin dela fiche (page 5) et déplace les pages 3, 4 et 5 d�un cran.

Pour déplacer une page de fiche

1 Ouvrez une fiche dans la fenêtre de conception, puis sélectionnez la pagepour laquelle vous souhaitez effectuer la rotation.

2 Cliquez sur Format, Rotation des pages.

Pages de fiche en mosaïqueLorsque vous travaillez dans une fiche multi-page, utilisez le positionnementen mosaïque pour contrôler l�affichage des pages à l�écran. Vous pouvezafficher une page à la fois (elles sont alors superposées) ou les organiser surl�écran, horizontalement ou verticalement.

Pour placer des pages de fiche en mosaïque

Ouvrez une fiche dans la fenêtre de conception, puis cliquez sur Affichage,Pages en mosaïque, et enfin sur l�une des options suivantes :

� Cliquez sur Superposer les pages pour les afficher une à la fois, les unessur les autres.

� Cliquez sur Verticales pour afficher les pages verticalement sur l�écran(option par défaut).

� Cliquez sur Horizontales pour afficher les pages horizontalement surl�écran.

Définition du style de fenêtre d�une ficheVous pouvez créer une fiche sous forme de fenêtre ou de boîte de dialogue.Dans la boîte de dialogue Style de la fenêtre, sélectionnez le style de fenêtrevoulu puis modifiez les propriétés du cadre, de la barre de titre et de lafenêtre.

Fiches et états 269

Fiches sous forme de fenêtres

Si, dans la boîte de dialogue Style de la fenêtre, vous indiquez Fenêtre, lafiche s�ouvre alors sous cette forme lors de son exécution, ce qui signifiequ�elle :

� fonctionne comme n�importe quelle autre fenêtre sous Paradox,

� peut être modifiée par l�utilisateur.

Fiches sous forme de boîtes de dialogue

Si, dans la boîte de dialogue Style de la fenêtre, vous spécifiez Boîte dedialogue, la fiche s�ouvre sous cette forme lors de son exécution, ce quisignifie qu�elle :

� apparaît au centre de l�écran,

� apparaît sous toutes les fenêtres ouvertes,

� peut être déplacée comme n�importe quelle autre boîte de dialogue,

� ne peut être redimensionnée par l�utilisateur.

Propriétés du cadre

La propriété Cadre boîte affiche la boîte de dialogue sous la forme standardde cadre de boîte de dialogue de Windows. Définissez la bordure, les couleurset autres paramètres à partir du panneau de configuration de Windows. Lapropriété Bordure affiche la boîte de dialogue avec une bordure et non plusdans le style par défaut de Windows. La propriété Bordure épaisse affiche laboîte de dialogue avec une épaisse bordure noire et non plus dans le stylenormal de Windows. Cette propriété n�est pas disponible si vous choisissezCadre boîte de dialogue.

Propriétés de la barre de titre

La propriété Menu système place le menu système standard de Windowsdans le coin supérieur gauche de la boîte de dialogue. Si vous ouvrez unefiche sous forme de boîte de dialogue et qu�elle ne possède pas de menusystème, vous pouvez la fermer en appuyant sur ALT + F4. La propriétéBouton Réduction place un bouton de réduction dans le coin supérieur droitde la boîte de dialogue tandis que la propriété Bouton Agrandissement placeun bouton d�agrandissement dans ce même coin supérieur droit.

Propriétés de la fenêtre

La propriété Barre de titre place une barre de titre en haut de la boîte dedialogue. Entrez le texte que vous souhaitez voir apparaître dans la barre detitre de la boîte de dialogue dans la zone Titre.

270 Paradox 9 : Chapitre 5

Pour afficher des barres de défilement horizontale ou verticale dans la boîtede dialogue, cochez la case Barre de défilement verticale, Barre dedéfilement horizontale, ou les deux.

Cochez la case Ajustement de taille pour que Paradox redimensionneautomatiquement la fenêtre en fonction de la taille de page de la fiche. Cetteaction n�a aucun effet visible si la taille de votre page n�est pas inférieure àl�affichage écran. Réduisez-la autant que possible sans supprimer d�objetexistant, puis cochez la case Ajustement de taille.

Cochez la case Modale pour empêcher d�autres utilisateurs de travailler dansParadox tant que la boîte de dialogue n�est pas fermée.

Désactivez la case Souris active afin de permettre aux utilisateurs d�activer laboîte de dialogue par un simple clic. Par exemple, si vous avez créé une barred�outils personnalisée à l�aide d�ObjectPAL et que vous souhaitez utiliser lesoutils de cette barre dans votre boîte de dialogue, le fait de désactiver cettepropriété empêchera Paradox d�activer la fenêtre Barre d�outils chaque foisqu�un utilisateur clique sur l�un de ses outils.

L�option Menu standard est activée par défaut. Si vous créez un menu à l�aided�ObjectPAL et que vous voulez l�utiliser dans votre fiche, désactivez la caseMenu standard. Ceci s�applique principalement aux applications multi-fiche.Pour plus d�informations sur la personnalisation des fiches, consultez votredocumentation ObjectPAL.

� Pour que les paramètres choisis dans la boîte de dialogue Style de lafenêtre prennent effet, enregistrez la fiche, fermez la fenêtre deconception de fiche et ouvrez la fiche dans la fenêtre Fiche.

Définition du style de fenêtre d�une ficheIl existe deux possibilités : la fiche apparaît sous forme de fenêtre ou sousforme de boîte de dialogue, et vous pouvez spécifier le style du titre et de labordure de la fiche.

Pour spécifier le style d�une fenêtre de fiche

1 Dans une fenêtre de conception de fiche, cliquez sur Format, Style de lafenêtre.

2 Choisissez le style de fenêtre désiré.

3 Utilisez la boîte de dialogue Style de la fenêtre pour modifier lespropriétés du cadre, de la barre de titre et de la fenêtre de la fiche.

Fiches et états 271

� La barre de titre de la fiche n�est pas visible si la taille de la fiche estoptimisée.

� Après avoir modifié les propriétés de la fenêtre d�une fiche, enregistrezcette dernière et ouvrez-la à nouveau pour visualiser les changements.

Déplacement dans une ficheParadox vous propose plusieurs méthodes pour vous déplacer dans une fiche.

Utilisation des boutons de navigation de la barre d�outils

Cliquez sur les boutons de navigation dans la barre d�outils pour vousdéplacer rapidement dans les enregistrements d�une table dans une fenêtrede fiche.

Aller au premier enregistrement de la table.

Monter d�un jeu d�enregistrements (le nombre d�enregistrementsaffichés dans la fenêtre Table).

Aller à l�enregistrement précédent de la table.

Aller à l�enregistrement suivant de la table.

Descendre d�un jeu d�enregistrements (le nombred�enregistrements affichés dans la fenêtre Table).

Aller au dernier enregistrement de la table.

Utilisation des barres de défilement

Utilisez les barres de défilement pour vous déplacer rapidement dans toute lafiche. Les barres de défilement ne permettent pas de sélectionner des objetsdans la fiche.

Utilisation des touches du clavier

Les touches du clavier constituent la plus fiable des méthodes dedéplacement dans les enregistrements d�une fiche. Les touches PgHaut etPgBas affichent respectivement l�enregistrement précédent et suivant, tandisque les touches de direction (fléchées) vont d�un champ à l�autre.

272 Paradox 9 : Chapitre 5

Définition de l�ordre de tabulation pour les objets de conception defiche

Lorsque vous exécutez une fiche, appuyez sur la touche TAB pour passerd�un objet à l�autre. L� ordre de tabulation détermine l�ordre selon lequel lesobjets sont activés lorsque vous appuyez sur TAB. Vous pouvez modifierl�ordre de tabulation dans la page Exécution de la boîte de dialoguePropriétés. Sélectionnez un objet, puis cliquez sur Format, Propriétés.

� Dans les tables dBASE, le curseur de défilement vertical est toujourscentré lorsque l�option Table, Afficher enregistrements effacés n�est pascochée.

Déplacement dans les champs, les enregistrements et les objets detable d�une fiche

La touche TAB est un outil fiable et prévisible dans les fiches simples.Toutefois, au fur et à mesure que la fiche gagne en objets et donc encomplexité, l�ordre de tabulation peut devenir confus. Dans ce cas, utilisez lasouris ou les touches du clavier pour atteindre rapidement un objet.

Pour vous déplacer dans les champs d�une fiche

Effectuez une ou plusieurs des actions suivantes :

� Cliquez sur le champ que vous voulez activer.

� Utilisez les touches du clavier.

� Appuyez sur TAB ou MAJ + TAB.

Pour vous déplacer dans les enregistrements d�une fiche

Exécutez ensuite l�une des actions suivantes :

� Cliquez sur Enregistrement, Aller à, puis sur Premier, Dernier, Suivant,Précédent, Groupe suivant ou Groupe précédent. À chacune de cesoptions correspond une touche de raccourci, affichée en regard de lacommande.

� Cliquez sur les boutons de navigation de la barre d�outils.

� Appuyez sur la touche adéquate (PgHaut ou PgBas, par exemple).

Fiches et états 273

Pour vous déplacer dans les objets d�une table dans une fichemulti-table

Effectuez l�une des actions suivantes :

� Appuyez sur F4 pour passer à l�objet suivant.

� Appuyez sur F3 pour passer à l�objet précédent.

� Appuyez simultanément sur MAJ + F3, ou sur MAJ + F4, pour vousdéplacer dans les pages d�une fiche multi-page.

Déplacement dans les pages d�une ficheLorsque vous travaillez sur une fiche multi-page, vous pouvez vous déplacerà la première ou à la dernière page, ou encore à la page suivante ouprécédente.

Pour vous déplacer dans les pages d�une fiche

� Cliquez sur Affichage, Page, puis sur la page que vous souhaitez afficher.

Lorsque vous atteignez une page, Paradox la sélectionne.

Pour aller à une page spécifique

1 Cliquez sur Affichage, Page, Aller à.

2 Entrez un numéro dans la zone Numéro de page.

� Servez-vous de MAJ + F4 pour passer rapidement à la page suivante etde MAJ + F3 pour passer à la page précédente.

� Dans la fenêtre de conception de fiche, utilisez les barres de défilementpour vous déplacer dans les pages d�une fiche, à moins que celles-ci nesoient superposées. Une fois la page affichée, vous devez la sélectionnerpour l�activer.

Modification de l�ordre de tabulation de la fenêtre de conceptionLorsque vous concevez une fiche, l�ordre de tabulation des objets estidentique à l�ordre dans lequel vous les avez placés. Une fois les objetsdéplacés, cet ordre risque de devenir incorrect ou vous souhaiterez peut-êtreignorer tous les objets hormis celui sur lequel vous travaillez. Paradox vouspermet de modifier l�ordre de tabulation lorsque vous créez une fiche ou unétat.

274 Paradox 9 : Chapitre 5

Pour modifier l�ordre de tabulation pendant la conception d�unefiche

1 Sélectionnez l�objet que vous souhaitez en première position dans laséquence de tabulation.

2 Cliquez sur Format, Ordre, Premier plan.

3 Répétez les étapes 1 et 2 pour chaque objet de la fiche, dans l�ordre danslequel l�utilisateur doit se déplacer.

� Pour afficher les changements effectués, ouvrez l�Explorateur d�objet.

� L�ordre de tabulation défini pendant la conception d�une fiche n�est pascelui utilisé pendant l�exécution de cette dernière. Pour plusd�informations sur la modification de l�ordre de tabulation, reportez-vous àla rubrique Modification de l�ordre de tabulation pendant l�exécution à lapage 275.

Modification de l�ordre de tabulation pendant l�exécutionVous pouvez indiquer un ordre de tabulation autre que l�ordre par défaut, degauche à droite et de haut en bas. Si votre fiche est multi-page, il vous estpossible de personnaliser l�ordre de tabulation pour chaque page.

Pour modifier l�ordre de tabulation pendant l�exécution

1 Ouvrez un état dans la fenêtre de conception, cliquez avec le bouton droitde la souris sur un objet, puis cliquez sur Propriétés.

2 Cliquez sur la page Exécution.

3 Activez l�option Arrêt sur tabulation.

4 Dans la liste Choisir le prochain arrêt sur tabulation, sélectionnez l�objetqui sera le prochain objet dans la séquence de tabulation.

Pour inclure des boutons dans la séquence de tabulation pendantl�exécution

1 Ouvrez un état dans la fenêtre de conception, cliquez avec le bouton droitde la souris sur un objet, puis cliquez sur Propriétés.

2 Cliquez sur la page Exécution.

Fiches et états 275

3 Activez l�option Choisir le prochain arrêt sur tabulation.

Si vous n�activez pas l�option Arrêt sur Tabulation, Paradox ignore l�objetdans la séquence de tabulation. Les utilisateurs de votre fiche peuventencore utiliser la souris pour sélectionner un bouton, un objet OLE ou ungraphe, mais ils ne peuvent plus l�utiliser pour sélectionner un champ.

� Modifier l�ordre de tabulation pendant l�exécution ne revient pas au mêmeque modifier l�ordre de tabulation dans la fenêtre de conception. L�ordre detabulation pour l�exécution est identique à celui défini pendant laconception de la fiche. Pour plus d�informations sur la modification del�ordre de tabulation dans la fenêtre de conception, reportez-vous à larubrique Modification de l�ordre de tabulation de la fenêtre de conceptionà la page 274.

� Modifiez l�ordre de tabulation une fois que votre fiche est presqueterminée. Ainsi, tous les objets seront inclus dans l�ordre de tabulation.Toutefois, vous pouvez à tout moment en ajouter d�autres.

Distribution d�une ficheGrâce à la distribution, d�autres personnes peuvent utiliser votre fiche, sanstoutefois pouvoir changer sa conception ou son code source. Une fichedistribuée ne peut pas être ouverte dans une fenêtre de conception, et nepeut donc être modifiée.

Lorsque d�autres personnes utilisent votre fiche, elles doivent aussi avoiraccès à toutes les tables du modèle relationnel ainsi qu�aux index et fichiersd�intégrité référentielle. La méthode la plus simple pour créer un ensemblede tables, de fiches et de fichiers associés portables consiste à utiliser unalias.

Distribution d�une ficheLorsque vous distribuez une fiche, Paradox en crée une copie dont tout lecode source a été supprimé. Cependant, les boutons et autres objetscontinuent de fonctionner exactement comme vous les aviez conçus.

276 Paradox 9 : Chapitre 5

Pour distribuer une fiche

� Ouvrez une fiche dans la fenêtre de conception, puis cliquez sur Format,Distribuer.

Paradox enregistre une copie de la fiche avec l�extension .FDL, la lettre Dsignifiant distribué.

� Vous pouvez continuer à modifier la fiche d�origine (celle ayant l�extension.FSL), puis la distribuer à nouveau. Votre code n�est pas perdu, il estsimplement protégé.

Propriétés de fiche et de pageLa fiche dans son ensemble possède des propriétés, tout comme un objet deconception, susceptibles d�être modifiées. Vous pouvez modifier la couleur, lemotif, la transparence, la barre de défilement ou la taille des pages à l�aide dela boîte de dialogue Propriétés.

Pour modifier les propriétés d�une fiche

1 Ouvrez une fiche dans la fenêtre de conception, puis cliquez sur Format,Propriétés.

2 Modifiez les propriétés de la fiche à votre gré dans les pages Général etMotif de la boîte de dialogue Propriétés.

Pour modifier les propriétés d�une page de fiche

� Cliquez sur la page avec le bouton droit de la souris, puis sur Propriétés.

� Lorsque vous modifiez la couleur ou le motif d�une fiche, la couleur de lapage n�est pas transparente par défaut. Vous pouvez attribuer une couleurdifférente à la page en désactivant la case Transparente dans la pageGénéral de la boîte de dialogue Propriétés. Si vous cochez cette case, lapage adoptera les propriétés, en termes de couleur et de motif, de la fiche.

� Pour visualiser les changements de couleur et de motif de la fiche lorsquela page n�est pas transparente, effectuez un zoom arrière suffisammentimportant pour la voir au-delà du bord de la page.

Fiches et états 277

Utilisation d�une ficheIl est parfois plus facile de travailler avec des données extraites de vos tablesen utilisant un enregistrement à la fois, plutôt qu�avec une table complète dedonnées. Les fiches vous permettent de consulter autant de données quevous le souhaitez, dans le format désiré. Lorsque vous affichez les donnéesdans une fiche, elles sont identiques à celles de la table, mais organiséesdifféremment. Lorsque vous modifiez des données dans la fiche, Paradox metà jour ces données dans la table.

Les fiches sont un excellent outil pour la saisie de données. Vous pouvezconcevoir une fiche de manière à ce qu�elle affiche plusieurs enregistrementstirés d�une même table, voire des enregistrements tirés de plusieurs tables.Exécutez-la ensuite pour entrer et modifier les données dans les tables.

Exécution de fichesUtilisez la fenêtre Fiche pour exécuter ou afficher une fiche.

Lorsque vous exécutez une fiche :

� Les champs affichent les valeurs figurant dans les tables ;

� Les champs calculés et récapitulatifs affichent les calculs effectués sur lesdonnées dans les tables de la fiche (en lecture seule) ;

� Les graphes et références croisées servent à résumer les données(lecture seule) ;

� Les objets multi-enregistrement peuvent afficher simultanémentplusieurs enregistrements tirés d�une table, en format non tabulaire ;

� Les cadres de table affichent autant d�enregistrements de chaque tableque l�espace alloué le permet. Toutefois, vous pouvez naviguer dans lesenregistrements pour afficher ceux qui n�y rentrent pas.

� Vous pouvez passer d�une page à une autre dans les fiches et les objetsclasseurs multi-page.

� Le code ObjectPAL associé aux boutons est exécuté lorsque vous cliquezsur ceux-ci. ObjectPal peut aussi être déclenché à d�autres moments, parexemple lors des contrôles OLE.

Exécution d�une ficheLa fenêtre Conception de fiche affiche la conception d�une fiche. Pour afficherou modifier les données de la fiche, exécutez cette dernière.

Pour exécuter une fiche

1 Cliquez sur Fichier, Ouvrir, Fiche.

278 Paradox 9 : Chapitre 5

2 Dans la boîte de dialogue Ouverture d�une fiche, sélectionnez le fichierdans la zone de liste ou entrez son nom dans la zone Nom de fichier.

3 Activez l�option Afficher la fiche.

Pour exécuter une fiche à partir de la fenêtre Conception de fiche

Exécutez l�une des actions suivantes :

� Appuyez sur F8 pour exécuter la fiche et afficher les données.

� Cliquez sur Affichage, Afficher les données pour exécuter la fiche etafficher les données.

� Cliquez sur Affichage, Modifier les données pour exécuter la fiche etmodifier les données.

Exécution d�une fiche avec une autre tableLes fiches vous permettent d�afficher les données stockées dans une tablen�appartenant pas au modèle relationnel. C�est-à-dire qu�il vous est possibled�ouvrir une fiche créée avec une table en utilisant les données tirées d�uneautre table ou d�une requête. Supposons par exemple que vous ayez deuxtypes distincts de vendeurs, que vous souhaitez conserver séparés, mais quela structure de la table est identique pour les deux types. Il vous suffit alorsde concevoir une fiche pour la table du premier vendeur puis, au lieu de créerune fiche identique pour la deuxième table, d�ouvrir la fiche avec cettedernière.

Pour exécuter une fiche avec une autre table

1 Cliquez sur Fichier, Ouvrir, Fiche.

2 Dans la boîte de dialogue Ouverture d�une fiche, sélectionnez la fiche quevous voulez ouvrir.

3 Cliquez sur Changer de table.

4 Dans la boîte de dialogue Sélection d�une table de remplacement,sélectionnez la table que vous souhaitez afficher, puis cliquez sur OK pourrevenir dans la boîte de dialogue Ouverture d�une fiche.

5 Cliquez sur Ouvrir.

Si un champ de la fiche n�a pas d�équivalent dans la table, un messaged�avertissement s�affiche ; ces champs ne sont pas définis. Les champsnon définis sont nommés LIBELLÉ, et aucune donnée n�y apparaît.

6 Pour redéfinir des champs non définis, passez en mode conception.

Fiches et états 279

� Pour conserver la fiche originale intacte, enregistrez la nouvelle fiche sousun autre nom.

Affichage de la fenêtre de ficheAvec Paradox, vous pouvez personnaliser l�affichage de la fenêtre de fiche, etenregistrer vos changements pour en faire l�affichage par défaut. Vous avezégalement la possibilité de modifier l�échelle de la fiche ou de l�état àl�affichage, par un zoom avant ou arrière, ou en adaptant la taille de la fiche àcelle de l�écran.

Zoom sur une ficheIl vous est possible de modifier l�échelle d�une fiche affichée à l�écran.Effectuez un zoom arrière (réduisez l�échelle afin de visualiser une plusgrande zone) ou avant (augmentez l�échelle et visualisez une partie dudocument en gros plan).

Pour effectuer un zoom sur une fiche ou un état

Ouvrez une fiche dans la fenêtre de conception, cliquez sur Affichage, Zoom,puis sur l�une des options suivantes:

� 25 % ou 50 % : diminue d�autant l�échelle de votre document.

� 200 % ou 400 % : vous offre un gros plan sur votre document.

� Ajuster en largeur : adapte la largeur à celle de la fenêtre.

� Ajuster en hauteur : adapte la hauteur à celle de la fenêtre.

� Ajustement optimisé : ajuste l�intégralité du document par rapport à lafenêtre.

Prévention du clignotement de l�écranL�écran a parfois tendance à clignoter légèrement lorsque vous passez d�unchamp à l�autre, ce qui se remarque particulièrement lorsque vous travaillezsur une fiche à fond sombre.

Pour empêcher le clignotement de l�écran

� Cliquez sur Format, Conception, et désactivez la case Dessin sansscintillement.

280 Paradox 9 : Chapitre 5

� L�activation de la case Dessin sans scintillement élimine partiellement lescintillement de l�écran, mais peut ralentir le déplacement d�un champ àun autre sur certains écrans. Comparez les résultats obtenus selon quecette case est activée ou non, et choisissez la solution la plus efficace.

Affichage d�un mémo pendant l�exécution d�une ficheLorsque vous exécutez une fiche disposant d�un champ mémo, seul lenombre de caractères spécifié dans la taille du champ s�affiche dans le mémo.Ces caractères sont suivis de points de suspension (...) pour indiquer que lemémo contient d�autres informations. Vous pouvez afficher la totalité ducontenu des champs mémo dans une fiche. Cliquez sur le champ pour lesélectionner et choisissez Affichage, puis Vue champ. Paradox recherche lasuite du mémo dans le fichier .MB et l�affiche.

Si vous entrez des données dans une fenêtre de fiche, le retour à la lignedans le texte du champ mémo se fait automatiquement à droite de l�objetchamp au fur et à mesure que vous entrez les données. L�absence de retour àla ligne automatique signifie que la propriété Texte continu de l�objet champ aété désactivée.

Pour réactiver l�option Texte continu

1 Cliquez sur Afficher, Concevoir la fiche pour passer en mode conception.

2 Avec le bouton droit de la souris, cliquez sur le champ, puis surPropriétés.

3 Cliquez sur l�onglet Texte.

4 Activez la case Texte continu.

Enregistrement des paramètres d�une fenêtre de ficheVous pouvez enregistrer la règle, la grille et autres paramètres de conceptioncomme préférences afin que ceux-ci deviennent les paramètres par défaututilisés pour toutes les fenêtres de fiche.

Pour définir les paramètres d�une fenêtre de fiche

� Cliquez sur Outils, Paramètres, Préférences puis faites les modificationsappropriées dans la page Concepteur de la boîte de dialogue Préférences.

Affichage de la table source d�une ficheLorsque vous exécutez une fiche, vous pouvez afficher la table qui a servi àsa construction.

Fiches et états 281

Pour afficher la table source d�une fiche

� Cliquez sur Affichage, Vue table.

Paradox ouvre alors une fenêtre de table pour afficher la table source s�iln�y a qu�une fiche, ou la table maître s�il s�agit d�une fiche multi-table.

Impression d�une ficheBien que principalement destinées à un usage à l�écran, les fiches peuventêtre imprimées. Si vous prévoyez de les imprimer, rappelez-vous des pointssuivants durant la conception.

Lorsque vous imprimez une fiche, seul l�enregistrement en cours s�imprime ;utilisez un état pour imprimer chaque enregistrement. Si vous ouvrez la fichesous forme d�état et imprimez celui-ci, le format des pages de l�état sera celuide la fiche. Pour plus d�informations sur la conception des fiches en vue del�impression, reportez-vous à la rubrique Format et mise en page (fiches) à lapage 265.

Pour imprimer la conception d�une fiche

1 Ouvrez une fiche.

2 Cliquez sur Affichage, Concevoir la fiche.

3 Cliquez sur Fichier, Imprimer.

4 Spécifiez les pages à imprimer, ou sélectionnez Fichier entier pourimprimer toutes les pages.

5 Indiquez le nombre de copies.

6 Cochez la case Regrouper les copies si vous imprimez plus d�une copie etque vous voulez regrouper les pages.

Si la page de votre fiche est plus grande que le papier, Paradox tronque laconception de la fiche.

Pour imprimer les enregistrements d�une fiche

1 Ouvrez une fiche.

2 Cliquez sur Affichage, Modifier les données ou Afficher les données.

3 Cliquez sur Fichier, Imprimer.

4 Spécifiez les pages à imprimer, ou sélectionnez Fichier entier pourimprimer toutes les pages.

5 Entrez le numéro qui doit s�imprimer sur la première page.

282 Paradox 9 : Chapitre 5

6 Indiquez le nombre de copies.

7 Cochez la case Regrouper les copies si vous imprimez plus d�une copie etque vous voulez regrouper les pages.

� Les pages de fiche ne sont pas numérotées si vous ne mettez pas leschamps N° page et/ou Nombre de pages sur chacune d�elles.

� Si vous concevez la fiche pour l�écran, les polices apparaissant sur la copieimprimée risquent de ne pas correspondre à celles affichées à l�écran.Cela est fonction de la correspondance entre vos polices d�écran et vospolices d�imprimante.

� Vous pouvez modifier les options d�impression ou sélectionner une autreimprimante à l�aide de la boîte de dialogue Impression.

Conception d�un étatLes états sont des outils d�impression. Utilisez-les pour formater etimprimer vos données. Par exemple, ils vous permettent de créer desformulaires, des étiquettes de publipostage, des factures et desprésentations.

Créez un état à partir de la fenêtre Conception d�état. Cette fenêtre n�affichepas les données d�une table. Pour voir les données, il vous faut uneimpression ou un aperçu avant impression de l�état.

Lorsque vous concevez un état, vous pouvez :

� ajouter ou supprimer des objets de conception : boîtes, champs, tables etgraphes,

� modifier les propriétés d�un objet de conception dans l�état,

� ajouter, supprimer ou réorganiser des pages,

� personnaliser un état par défaut,

� exécuter un état pour obtenir un aperçu avant impression des données, oupour les imprimer.

Création et ouverture d�un étatAvec Paradox, vous pouvez créer un état entièrement nouveau, ou faire appelà un Expert qui vous aidera à élaborer un état conforme à vos besoins. Vouspouvez aussi travailler à partir d�un état existant, s�il vous convient, ou encréer un nouveau basé sur une fiche antérieure.

Fiches et états 283

Création d�un nouvel étatLa création d�un nouvel état peut se faire de diverses manières : vouspouvez, entre autres, créer un état vierge ou modifier un état déjà existant.

Pour créer un état vierge

1 Cliquez sur Fichier, Nouveau, État.

2 Cliquez sur Vierge.

Paradox ouvre alors une fenêtre de conception vide, non liée à une table.Elle ne contient qu�une seule page pour les fiches et les états, et l�en-têteet le bas d�état, l�en-tête et le bas de page et une bande d�enregistrementspour les états.

Pour ouvrir un état existant

1 Cliquez sur Fichier, Ouvrir, État.

2 Dans la boîte de dialogue Ouverture d�un état, sélectionnez l�état que vousvoulez ouvrir.

3 Sélectionnez l�une des options suivantes :

� Afficher l�état : affiche l�état.

� Modifier conception d�état : permet de modifier la conception d�état.

� Ouvrir en tant que fiche : ouvre l�état en tant que fiche (c�est une façonrapide d�utiliser la disposition d�un état pour définir la disposition d�unefiche).

� Imprimer l�état : transmet le document à l�imprimante.

4 Pour utiliser la conception d�un état avec une table différente, cliquez surChanger de table et sélectionnez-en une autre.

5 Cliquez sur Ouvrir.

Pour modifier un état existant

1 Cliquez sur Fichier, Ouvrir, État pour ouvrir un état existant.

2 Dans la boîte de dialogue Ouverture d�un état, recherchez l�état vouludans la liste déroulante Rechercher dans.

3 Entrez le nom de l�état dans la zone Nom du fichier.

4 Activez l�option Modifier conception d�état.

5 Cliquez sur Ouvrir.

284 Paradox 9 : Chapitre 5

Conception d�un état à partir d�une ficheVous pouvez ouvrir une fiche sous forme d�état, ou un état sous forme defiche. Si le modèle relationnel et la disposition d�une fiche correspondent à ceque vous souhaitez pour votre état, ouvrez la fiche sous forme d�état sans enrecréer la conception. Paradox utilise alors la disposition de la fiche dans labande d�enregistrements de l�état.

Certains objets se comportent différemment selon qu�ils se trouvent dansune fiche ou dans un état :

� Les champs calculés et les champs récapitulatifs considèrent les donnéesdifféremment dans les fiches et les états ; par conséquent, vous devrezpeut-être les modifier pour obtenir les résultats appropriés.

� Dans une fiche multi-page, Paradox insère des sauts de page auxemplacements appropriés dans la bande d�enregistrements.

� Les boutons, les classeurs et les contrôles OLE ne sont pas disponiblesdans les états.

� Les champs OLE.

� Les dispositions de fiches multi-enregistrements non-imbriquées nepeuvent pas être utilisées pour en faire des états. Elles produiraient desobjets non définis.

Pour concevoir un état à partir d�une fiche

1 Cliquez sur Fichier, Ouvrir, Fiche.

2 Dans la boîte de dialogue Ouverture d�une fiche, sélectionnez la fichedésirée.

3 Activez l�option Ouvrir en tant qu�état.

4 Pour ouvrir l�état dans la fenêtre de conception, activez l�option Modifierconception d�état.

5 Cliquez sur Ouvrir.

Paradox insère alors la disposition de la fiche dans la banded�enregistrements de l�état.

Création d�étiquettes de publipostage à l�aide de la fenêtre Conceptiond�état

Grâce à l�Expert d�étiquettes, vous pouvez créer automatiquement desétiquettes de publipostage pour la plupart des formats d�étiquette standard.Nous vous recommandons d�utiliser l�Expert lors de cette opération.

Si vous ne souhaitez pas vous en servir, procédez comme suit :

Fiches et états 285

Pour créer des étiquettes de publipostage à l�aide la fenêtreConception d�état

1 Ouvrez un état dans la fenêtre de conception, puis cliquez sur l�Outilmulti-enregistrement et sur la bande d�enregistrements de l�état pourcréer l�objet.

2 Placez les champs voulus dans l�ordre qui vous convient (espaces etponctuation compris) dans l�enregistrement principal de l�objetmulti-enregistrement.

3 Redimensionnez la zone de l�enregistrement en fonction de la largeur etde la hauteur d�une étiquette.

4 Ajustez la largeur de la bande d�enregistrements de manière à refléterl�espacement entre chaque étiquette.

5 Cliquez sur l�objet multi-enregistrement avec le bouton droit de la souris,puis sur Propriétés.

6 Spécifiez le nombre d�enregistrements dans la page Dispositionenregistrements.

Fusion de données à l�aide de l�Expert de fusionL�Expert de fusion vous aide à fusionner les données extraites d�une tabledans un formulaire créé dans une autre application, traitement de texte ouétat Paradox, par exemple. Vous pouvez choisir les champs de la table àinclure, spécifier un ordre de tri et choisir un format pour les données.

Pour utiliser l�Expert de fusion

1 Cliquez sur Outils, Experts.

2 Cliquez sur l�icône Expert de fusion.

3 Suivez les instructions détaillées que vous fournit l�Expert.

Ouverture d�un état existantVous pouvez ouvrir un état existant en mode Conception afin de modifier sonapparence, ou en mode Exécution, pour afficher et modifier ses données.

Pour ouvrir un état existant

1 Cliquez sur Fichier, Ouvrir, État.

2 Dans la boîte de dialogue Ouverture d�un état, sélectionnez l�état que vousvoulez ouvrir.

3 Activez l�une des options suivantes :

286 Paradox 9 : Chapitre 5

� Afficher l�état : affiche l�état.

� Modifier conception d�état : permet de modifier la conception d�état.

� Ouvrir en tant que fiche : ouvre l�état en tant que fiche (c�est une façonrapide d�utiliser la disposition d�un état pour définir la disposition d�unefiche).

4 Pour utiliser la conception d�un état avec une table différente, cliquez surChanger de table et sélectionnez-en une autre.

5 Cliquez sur Ouvrir.

Format et mise en page (états)La mise en page spécifie la taille de la page utilisée pour un état. Vous pouvezutiliser une taille prédéfinie, ou personnaliser la largeur et la hauteur.

Conception pour l�imprimante

Par défaut, les états créés par Paradox sont conçus pour l�imprimante. Sivous concevez un état pour l�imprimante :

� Paradox ne met à votre disposition que les polices actuellement installéessur votre imprimante active. Cela peut limiter votre affichage écran, maisassure une sortie papier de votre document identique à l�affichage écran.

� Paradox essaie de faire correspondre la vue écran à la sortie papier. Celasignifie que les polices d�écran peuvent ne pas être exactementidentiques, en hauteur ou en largeur, aux polices de l�imprimante. Lesobjets à taille ajustée sont redimensionnés en fonction de la taille despolices de l�imprimante. À l�écran, cela peut causer une troncation ou unretour à la ligne prématuré pour les objets texte. Lorsque vous concevezpour l�imprimante, faites attention à ne pas causer de troncationindésirable en redimensionnant les objets pour une police d�écran.

Vous pouvez concevoir l�état dans une orientation portrait ou paysage.

� Si vous sélectionnez Paysage dans la boîte de dialogue Mise en page, l�états�imprime de gauche à droite, dans le sens de la longueur de la feuille.Toutefois, il vous faut configurer l�imprimante pour l�orientation souhaitée.Si vous choisissez Portrait pour les paramètres de Paradox et del�imprimante, l�état s�imprime de gauche à droite, dans le sens de la largeurde la feuille.

� Si vous choisissez Paysage pour les paramètres de Paradox et del�imprimante, l�état s�imprime dans le sens de la longueur du papier.

Fiches et états 287

� Si vous sélectionnez Paysage dans Paradox, et Portrait dans lesparamètres de l�imprimante, puis affichez l�état en mosaïque ensélectionnant Créer des pages de débordement horizontal si nécessairedans la boîte de dialogue Imprimer le fichier, l�état s�imprime sur autant defeuilles qu�il est nécessaire, en orientation portrait. Ces paramètres sontutiles si, par exemple, vous voulez relier un état présentant des pageslarges dans un format 8,5 x 11 (format livre).

Conception pour l�écran

Vous pouvez utiliser toutes les polices d�écran installées sur votre système.Néanmoins, si elles ne sont pas disponibles sur votre imprimante, lesdocuments créés à l�écran risquent d�être différents lorsqu�imprimés.Lorsque vous concevez pour l�écran, Paradox utilise la taille écran actuelle devotre système (en pixels) dans le volet Taille écran de la boîte de dialogueMise en page. Vous pouvez modifier la taille et spécifier l�unité de mesure dela taille personnalisée. Vous pouvez choisir parmi les tailles de page standard,ou entrer vos propres dimensions. Vous devez utiliser l�orientation portrait.

Modification de la mise en page d�un étatVous pouvez spécifier une taille écran par défaut pour tous les documents, oumodifier la mise en page d�un seul état.

Pour modifier la mise en page d�un état

1 Ouvrez un état dans la fenêtre de conception, puis cliquez sur Fichier,Mise en page.

2 Dans la boîte de dialogue Mise en page, activez l�une des optionssuivantes :

� Imprimante : si vous destinez votre document à l�impression (optionqui s�applique principalement aux états).

� Écran : si vous destinez votre document à l�écran (option qui s�appliqueprincipalement aux fiches).

3 Sélectionnez l�unité de mesure voulue.

4 Sélectionnez une taille de page prédéfinie ou entrez une taillepersonnalisée dans les cases Largeur et Hauteur.

5 Pour les états imprimés, sélectionnez l�orientation portrait ou paysage, etdéfinissez les marges.

Pour définir une taille écran par défaut

1 Cliquez sur Outils, Paramètres, Préférences.

288 Paradox 9 : Chapitre 5

2 Dans la boîte de dialogue Préférences, cliquez sur l�onglet Fiches/États.

3 Désactivez la case Taille du bureau.

4 Choisissez l�unité de mesure appropriée.

5 Entrez des valeurs dans les zones Largeur et Hauteur.

Chaque fois que vous créez un état, Paradox lui attribuera la taille par défautspécifiée.

BandesParadox utilise des bandes pour contrôler la répétition des sections d�un état.Les bandes se présentent horizontalement sur la page et définissent lessections logiques de votre état.

Un état possède quatre types de bande :

� La bande d�état imprime des informations au début et à la fin de l�état.L�en-tête apparaît au début de l�état, tandis que le bas de page apparaît à lafin.

� La bande de page imprime des informations en haut et en bas de chaquepage de l�état. L�en-tête apparaît en haut de chaque page, tandis que le basde page apparaît en bas.

� La bande d�enregistrements imprime des informations pour tous lesenregistrements de la ou des tables à partir desquelles l�état est créé. Sielle contient une table ou un objet multi-enregistrement, elle apparaît unefois pour chaque groupe d�enregistrements de la tablemaître.

� Les bandes de groupe définissent les groupes d�enregistrements enfonction de certains critères. Elles apparaissent au début et à la fin dechaque groupe d�enregistrements. À moins que vous n�activiez lapropriété d�en-tête Seulement sur groupe, l�en-tête apparaît en haut detoutes les pages sur lesquelles le groupe est imprimé. C�est à vous dedéfinir les critères de groupe. Les bandes de groupe sont facultatives.

Fiches et états 289

Lorsque vous concevez un état, Paradox place les bandes de page, d�état etd�enregistrements pour vous. Vous ne pouvez pas les supprimer mais vouspouvez les laisser vides et réduire leur hauteur en les sélectionnant et enappuyant sur SUPPR.

Utilisation des bandesVous pouvez modifier les propriétés de chacune des bandes dans la fenêtrede conception ou dans l�Explorateur d�objet. Dans la fenêtre Conceptiond�état, cliquez sur une bande avec le bouton droit de la souris, puis surPropriétés. Pour afficher l�Explorateur d�objet, appuyez sur CTRL + Barred�espacement.

Les lignes épaisses qui séparent chaque zone d�une conception d�état sontdes frontières indiquant l�emplacement des bandes d�état. Tout ce qui setrouve dans ces zones est imprimé (y compris les espaces) si les lignes deséparation ne se touchent pas.

Chaque ligne contient un libellé de bande, avec un texte descriptif et uneflèche pointant vers la zone de l�état limitée par cette ligne. Par exemple, laflèche dans la ligne délimitant la première bande de la page pointe vers le bascar l�en-tête est situé au-dessous de cette ligne.

Affichage des libellés de bandesL�affichage des libellés de bande facilite la sélection et la manipulation desbandes avec la souris. Les désactiver, en revanche, peut faciliter l�alignementdes objets pendant la conception de l�état. Les libellés de bandesn�apparaissent à l�écran que dans la fenêtre Conception d�état (et non dansl�état lui-même) ; qu�ils soient activés ou non n�a aucune incidence sur ladisposition ou la présentation de votre état à l�impression ou lorsque vous leprévisualisez.

Pour afficher les libellés de bandes

� Ouvrez un état dans la fenêtre de conception, puis cliquez sur Affichage,Libellés de bandes.

Une coche s�affiche en regard de l�option de menu.

� Si des bandes sont redimensionnées à la hauteur zéro, elles n�apparaissentpas si les libellés de bandes ne sont pas affichés.

290 Paradox 9 : Chapitre 5

Sélection d�une bandePour déterminer quelle bande est sélectionnée, utilisez l�une des méthodessuivantes :

� Si vous cliquez sur Affichage, Libellés de bandes de façon que l�option soitcochée, le libellé de la bande sélectionnée change de couleur.

� Dans la barre de côté, affichée sur le côté gauche de la fenêtre Conceptiond�état, la bande sélectionnée (ainsi que toutes celles qu�elle contientéventuellement) est mise en surbrillance.

� La barre d�état, en bas du bureau, indique la bande sélectionnée.

Pour sélectionner une bande

Cliquez sur :

� le libellé de la bande,

� une zone vide (ou inutilisée) de la bande.

Redimensionnement d�une bandeAugmentez ou réduisez l�espace vide dans votre état en redimensionnant lesbandes.

Pour redimensionner une bande

1 Ouvrez un état dans la fenêtre de conception, puis cliquez sur une zonevide ou inutilisée à l�intérieur de la bande, afin de sélectionner cettedernière.

2 Placez le curseur au bord de la bande sélectionnée. Il prend la forme d�unedouble flèche.

3 Faites glisser le bord supérieur ou inférieur de la bande vers le haut ouvers la bas pour la redimensionner.

4 Si la bande contient un objet, suivez une ou plusieurs des procéduressuivantes :

� Déplacez le bord supérieur de la bande pour ajouter ou supprimer del�espace au-dessus de l�objet.

� Déplacez le bord inférieur de la bande pour ajouter ou supprimer del�espace au-dessous de l�objet.

Fiches et états 291

� Vous devez redimensionner les bandes à l�aide de la souris. Il n�existeaucun équivalent clavier.

� La dimension d�une bande ne doit pas être inférieure à celle des objetsqu�elle contient.

� Vous pouvez également réduire la hauteur d�une bande à zéro en lasupprimant. Tous les objets de la bande sont eux aussi supprimés, et labande n�apparaît pas dans l�état.

� Si vous voulez visualiser une plus grande partie de votre conception àl�écran, désactivez les libellés de bandes en cliquant sur Affichage,Libellés de bandes, de façon à ce que l�option ne soit plus cochée.

Suppression d�une bandePour toutes les bandes, hormis les bandes de groupe, la suppression sousParadox implique la réduction de la taille à zéro, afin qu�elles n�apparaissentpas dans les états. La suppression d�une bande entraîne également celle detous les objets qu�elle contient.

Le seul type de bande susceptible d�être effectivement supprimé d�un étatest la bande de groupe.

Pour supprimer une bande

� Ouvrez un état dans la fenêtre de conception, sélectionnez une bande etcliquez sur Édition, Supprimer.

� Une autre possibilité consiste à sélectionner la bande et à appuyer surSUPPR.

� Si vous supprimez une bande par erreur, cliquez sur Édition, Annuler.

Bandes d�étatLa bande d�état définit l�en-tête et le bas d�un état. Ces informations sontimprimées une seule fois au début (en-tête) et à la fin (bas) de la page del�état.

Généralement, un en-tête d�état contient l�en-tête de la société ou le titre del�état. Un bas d�état peut être une instruction de type « fin de fichier ». Placezles objets qui doivent apparaître en en-tête ou en bas d�état dans la banded�état appropriée.

292 Paradox 9 : Chapitre 5

Les champs récapitulatifs et calculés placés dans l�en-tête ou le bas d�étatrésument toutes les données de la table.

L�en-tête d�état peut venir avant ou après l�en-tête de page sur la premièrepage. Cliquez sur la bande d�état avec le bouton droit de la souris puis surPropriétés, et cochez la case Avant l�en-tête de page sur la page Général de laboîte de dialogue Propriétés.

Le bas d�état précède toujours le bas de page sur la dernière page.

� Insérez un saut de page dans l�en-tête d�état pour produire un en-têted�état multi-page ou pour créer un en-tête différent pour la première pagede l�état.

Modification de l�ordre des en-têtesPar défaut, Paradox imprime l�en-tête d�état (le contenu de la première bandede l�état) avant l�en-tête de page (le contenu de la première bande de la page).Vous pouvez inverser cet ordre.

Pour modifier l�ordre des en-têtes

1 Ouvrez un état dans la fenêtre de conception, cliquez avec le bouton droitde la souris sur la bande d�état puis sur Propriétés.

2 Dans la page Général de la boîte de dialogue Propriétés, désactivez la caseAvant l�en-tête de page.

L�en-tête d�état s�imprime après l�en-tête de page. Vous ne verrez pas cechangement dans la fenêtre Conception d�état, car les bandes elles-mêmesne bougent pas ; la modification ne prend effet que lorsque vousprévisualisez ou imprimez l�état.

Fiches et états 293

Exemple d�objetgraphique contenantle logo de la sociétédans un en-têted�état.

Bandes de pageLa bande de page définit les zones d�en-tête et de bas de page de chaquepage. Paradox imprime l�en-tête et le bas de page sur chaque page de l�état.

Trois objets figurent dans la première bande de page (en-tête) :

� Le champ Aujourd�hui indique la date d�impression de l�état. Paradox placece champ au niveau de la marge gauche de l�en-tête de page.

� Un champ qui contient le titre par défaut de l�état. Dans un étatmono-table, le nom de la table est le titre par défaut. Dans un étatmulti-table, il s�agit du nom de la table maître. Paradox place le titre aucentre de l�en-tête de page ; toutefois, si un champ dont la taille estvariable (une date, par exemple) est inclus dans l�en-tête, le titre seradécalé à l�impression. Pour que le titre soit toujours centré, activez lapropriété Attacher horizontalement sur la page Exécution des propriétésdu titre.

� Le champ Page indique le numéro de chaque page. Il est placé au niveaude la marge droite de l�en-tête de page.

Vous pouvez conserver, supprimer ou modifier tout objet que Paradox placepour vous.

� Contrairement aux autres bandes, la hauteur des bandes de pages nechange pas lorsque vous affichez ou imprimez l�état. Cela signifie que lesobjets agrandis (comme les tables) seront tronqués pour les faire tenirdans la bande.

� Pour que votre en-tête ou pied de page affiche le premier ou le dernierenregistrement sur la page, placez les champs correspondants dans lesbandes de pages. Les champs placés dans l�en-tête de page indiquent lepremier enregistrement de la page, tandis que les champs placés dans lebas de page indiquent le dernier enregistrement. Les champsrécapitulatifs résument tous les enregistrements figurant sur la page, etles champs calculés sont calculés à partir de ceux-ci.

294 Paradox 9 : Chapitre 5

Suppression de l�en-tête ou du bas de page sur la première pageVous pouvez supprimer le contenu de l�en-tête et du bas de page, voire lesdeux, sur la première page de votre état.

Pour supprimer l�en-tête ou le bas de page sur la première page

1 Ouvrez un état dans la fenêtre de conception, cliquez sur l�en-tête ou lebas de page avec le bouton droit de la souris, puis sur Propriétés.

2 Dans la page Général de la boîte de dialogue Propriétés, désactivez la caseImprimer sur la première page.

Impression du bas de page sur la dernière page uniquementLes informations situées dans le bas de page d�un état sont imprimées en basde chaque page. Il peut parfois être souhaitable de n�imprimer lesinformations que sur la dernière page de l�état. Dans ce cas, vous pouvez lesplacer dans le bas de l�état ; toutefois, elles apparaîtront au-dessus du bas depage. Si vous souhaitez qu�elles apparaissent dans le bas de page, suivez lesétapes ci-après.

La technique présentée ici implique de placer trois champs dans le bas depage (un champ calculé et deux champs spéciaux : N° enregistrement etNombre d�enregistrements.

Pour utiliser cette technique :

� Votre état doit être associé à un modèle relationnel,

� Vous devez avoir activé Affichage, Libellés de bandes dans la fenêtreConception d�état. Vérifiez que le bas de page comporte un espacesuffisant pour y placer les champs.

Pour imprimer le bas de page uniquement sur la dernière page

1 Créez un champ dans le bas de page pour le champ spécial N°enregistrement de la table maître.

Ouvrez la zone de liste de cette dernière pour afficher la liste des champscontenant <N° enregistrement>.

2 Créez un second champ dans le bas de page pour le champ spécial Nombred�enregistrements de la table maître.

3 Sélectionnez les champs N° enregistrement et Nombred�enregistrements, cliquez avec le bouton droit de la souris sur les champssélectionnés, puis cliquez sur Propriétés.

� Dans la page Général, sélectionnez Sans libellé dans la zone de liste Typed�affichage.

Fiches et états 295

� Dans la page Police, modifiez la couleur de la police en fonction de lacouleur du fond de la page pui cliquez sur Appliquer.

L�étape 3 rend les valeurs des champs N° enregistrement et Nombred�enregistrements invisibles lorsque vous imprimez votre état.

4 Créez un troisième champ dans le bas de page. Ce champ sera un champcalculé.

5 Cochez la case Calculé dans la boîte de dialogue Définition de l�objetchamp, et entrez l�expression suivante :iif(N°_enregistrement = Nombre_d’_enregistrements, "Valeur","")

où Valeur est la valeur que vous ne voulez imprimer que sur la dernièrepage de votre état.

N°_enregistrement et Nombre_d�enregistrements sont des champsspéciaux qui contiennent des données sur l�ensemble de la table.

6 Cliquez sur OK.

7 Si vous souhaitez que le champ calculé n�ait pas de libellé, cliquez surcelui-ci avec le bouton droit de la souris et sélectionnez Sans libellé dansla zone de liste Type d�affichage de la page Général. Dans le cas contraire,modifiez le texte du champ en cliquant sur le mot LIBELLÉ jusqu�à ceque le curseur soit à l�intérieur du texte, puis modifiez l�objet texte.

8 Appuyez sur F8 pour exécuter l�état.

La valeur du champ calculé placée dans le bas de page ne doit alors apparaîtreque sur la dernière page de l�état.

Bandes d�enregistrementsLa bande d�enregistrements contient le corps de l�état, c�est-à-dire lesenregistrements de la table à partir de laquelle vous créez l�état.

Vous pouvez y placer des éléments tels que des champs, des graphes, desréférences croisées, des objets multi-enregistrements et des cadres de table.Ces éléments contiennent les données extraites de votre table. Paradox placeautomatiquement certains objets dans la bande d�enregistrements. Enrevanche, leur position dépend du type d�état.

296 Paradox 9 : Chapitre 5

Type d�état Position des objets

Tabulaire Les enregistrements de la table liée à l�état apparaissent dans un cadrede table à l�intérieur de la bande d�enregistrements.

Mono-enregistrement Paradox place automatiquement les objets champs dans la banded�enregistrements.

Multi-enregistrement Paradox place les objets champs dans un objet multi-enregistrementdans la bande d�enregistrements.

Vide Paradox ne place aucun objet dans la bande.

Vous pouvez déplacer, redimensionner ou supprimer les objets que placeParadox.

La bande d�enregistrements est répétée pour chaque enregistrement de latable maître, à moins qu�elle ne contienne une table, un objetmulti-enregistrement, une référence croisée ou un graphe tabulaire basé surla table maître. Dans ce cas, le contenu de la bande d�enregistrementsapparaît une fois pour chaque groupe d�enregistrements de la table maître.

Par exemple, si vous placez une référence croisée pour la table maître dans labande d�enregistrements, elle sera imprimée pour chaque enregistrement dela table. Vous devez habituellement mettre une référence croisée pour latable maître dans l�en-tête ou le bas de la bande d�état. Si votre modèlerelationnel définit une relation un-à-plusieurs pour chaque élément, il estsouvent approprié de placer une référence croisée dans la banded�enregistrements de la table détail, pour en générer une pour chaqueensemble de détails de la table maître.

Réinitialisation de la numérotation des pages pour chaque bandeVous pouvez commencer une nouvelle page et réinitialiser les numéros depage quand la bande d�enregistrements ou de groupe est atteinte.

Pour reprendre la numérotation des pages à 1 quand une bandeest atteinte

1 Ouvrez un état dans la fenêtre de conception, puis cliquez avec le boutondroit de la souris sur la bande d�enregistrements et cliquez sur Propriétés.

2 Dans la page Général de la boîte de dialogue Propriétés, cochez la caseDémarrer la numérotation des pages.

Lorsque vous redémarrez les numéros des pages pour chaque groupe,Paradox sélectionne le format indiquant le numéro des pages au sein dugroupe (1-1, 1-2, 1-3,...2-1, 2-2, 2-3...). Il est impossible de modifier ceformat.

Fiches et états 297

Tri des enregistrements dans une bandeVous pouvez trier la bande d�enregistrements de diverses manières. Vouspouvez ajouter une bande de groupe pour forcer un tri, filtrer lesenregistrements ou les trier à l�aide de la commande Tri de la banded�enregistrements. S�il s�agit d�une table détail, choisissez l�ordre de triinhérent au lien.

Pour trier les enregistrements à l�aide de la commande Tri de labande d�enregistrements

1 Ouvrez l�état dans la fenêtre de conception, cliquez sur la banded�enregistrements avec le bouton droit de la souris, puis sur Trier.

2 Dans la boîte de dialogue Tri de la bande d�enregistrements, spécifiez leschamps sur lesquels effectuer le tri ainsi que l�ordre et le sens de tri.

� Diverses méthodes de tri sont disponibles selon les modèles relationnelset leurs résultats varient. Les principaux avantages du Tri de la banded�enregistrements résident dans le fait que vous n�êtes pas limité auxindex existants et il ne se produit aucune rupture dans la table chaque foisque la clé de tri change.

Bandes de groupeVous pouvez placer les bandes de groupe dans un état pour séparer lesinformations en groupes de données. Vous pouvez baser les groupes sur lavaleur d�un champ, une fourchette de valeurs ou un nombre précisd�enregistrements. Il vous est par exemple possible de grouper les états parpays afin que tous les enregistrements contenant le même pays apparaissentensemble.

Paradox place toujours les bandes de groupe entre la bande de page et celled�enregistrements.

En-tête et bas de groupe

� L�en-tête de groupe apparaît au début de chaque groupe.

� Le bas de groupe apparaît à la fin de chaque groupe.

Si nécessaire, placez une division quelconque, telle qu�une ligne, dans le basde groupe, afin de délimiter clairement la fin d�un groupe et le début d�unautre. Si vous placez un saut de page en bas d�un bas de groupe, vous êtescertain que tous les nouveaux groupes commenceront sur une nouvelle page.Dans ce cas, ne laissez pas d�espace après le saut de page en bas de la bande.

298 Paradox 9 : Chapitre 5

Affichage de valeurs de groupe redondantes

Vous pouvez supprimer des valeurs de groupes répétées dans la banded�enregistrements d�un état. Cliquez sur la bande d�enregistrements avec lebouton droit de la souris, puis sur Propriétés. Dans la page Général de laboîte de dialogue Propriétés, cochez la case Retirer les répétitions de groupe.

Bandes de groupe multiples

Vous pouvez créer plusieurs bandes de groupe. Ajoutez-les de façon à ce quele groupe de données le plus important précède les groupes de taillemoindre. Par exemple, créez d�abord un groupe Pays, puis Ville. Commencezpar la catégorie plus large, puis définissez des groupes plus précis.

Modification de la position d�une bande de groupe

Vous pouvez modifier la position d�une bande de groupe en la sélectionnant eten la faisant glisser au-dessus ou au-dessous d�une autre bande de groupe.

Transfert des données entre l�en-tête et le bas de groupe

Vous pouvez échanger les données de l�en-tête et du bas de groupe etinversement en sélectionnant une zone et en la faisant glisser vers l�autre.Les informations figurant dans la zone sélectionnée seront transférées dansl�autre.

Étendue d�une bande de groupe

Les champs calculés et récapitulatifs d�une bande de groupe utilisent commeétendue l�intégralité du groupe. D�autres objets montrent des donnéesdifférentes, selon qu�ils sont dans l�en-tête ou à la fin du groupe. Les champsde l�en-tête de groupe indiquent le premier champ du groupe. Les référencescroisées pour les tables détail correspondent au premier champ du groupe dela table maître.

Les champs du bas de groupe indiquent le dernier champ du groupe. Lesréférences croisées pour les tables détail correspondent au dernier champ dugroupe de la table maître.

� Utilisez deux bandes de groupe si vous souhaitez créer un groupe enfonction du numéro d�enregistrement dans une fourchette donnée, oud�une fourchette dans un nombre donné d�enregistrements.

Fiches et états 299

Groupement par fourchetteLorsque vous définissez un groupe dans un état, vous pouvez indiquer unefourchette de valeurs pour le champ selon lequel vous effectuez legroupement. Supposons, par exemple, que vous souhaitiez grouper lesenregistrements de la table Commande par mois ou par trimestre, ou ceux dela table Lignes en fonction des unités dans le champ Quantité. Vous nepouvez spécifier qu�un seul groupement par fourchette dans un même état.De plus, vous ne pouvez placer une bande de groupe dans une bande degroupe triée par fourchette.

Les enregistrements d�un groupe suivent une séquence, croissante pour leschiffres, par ordre alphabétique pour les champs alphanumériques etchronologique pour les champs de date et de date/heure. Lorsque vousgroupez par fourchette, la seule différence réelle réside dans la fréquence dessauts de groupe.

Champs numériques

Lorsque vous groupez par fourchette sur un champ numérique, les groupessont déterminés par intervalles, 1-5, 6-10, 11-15 par exemple. Le premiergroupe commence par zéro et augmente en fonction de la taille de fourchetteque vous précisez.

Paradox accepte les fractions lorsque vous définissez une fourchette dans deschamps numériques ou monétaires. Les fourchettes définies pour les champsentier court ou long et les champs à incrémentation automatique requièrentdes nombres entiers. Vous ne pouvez pas définir une fourchette pour leschamps binaires (DBC) ou heure.

Champs de date ou de date/heure

Lorsque vous groupez par fourchette sur un champ date ou date/heure, lesgroupes sont déterminés par jour, semaine, mois, trimestre ou année.

� Jour : groupe les enregistrements datés du même jour ;

� Semaine : groupe les enregistrements datés de la même semaine(dimanche à samedi) ;

� Mois : groupe les enregistrements datés du même mois ;

� Trimestre : groupe les enregistrements datés du même trimestre ;

� Année : groupe les enregistrements datés de la même année.

Le groupement est toujours chronologique. Par exemple, un groupement parmois vous donnera des groupes séparés pour avril 1998 et avril 1999.

300 Paradox 9 : Chapitre 5

Champs alphanumériques

Lorsque vous groupez par fourchette sur un champ alphanumérique Paradoxou un champ de caractères dBASE, vous spécifiez le nombre de caractèressur lequel effectuer le groupement dans la zone de texte Grouper parfourchette (le nombre de caractères qui doivent correspondre pour êtreinclus dans le même groupe). Par exemple, si le champ en fonction duquelvous groupez est le Nom, une fourchette de 3 assurera que Simmons etSimpson seront dans le même groupe tandis que Sydney sera dans un autre.

Une fourchette égale à 1 regroupe les enregistrements commençant par lemême caractère tandis qu�une fourchette égale à 2 regroupe lesenregistrements commençant par les deux mêmes caractères.

Logique

Les fourchettes ne sont pas autorisées pour les champs logiques.

Ajout ou suppression d�une bande de groupeVous pouvez ajouter une bande de groupe à votre état si celui-ci est lié à unetable. Lorsque vous créez une bande de groupe, Paradox place à la fois unen-tête et un bas de groupe. Si nécessaire, vous pouvez placer une divisionquelconque, telle une ligne, dans le bas de groupe pour délimiter clairementla fin d�un groupe et le début d�un autre. Si vous placez un saut de page dansle bas de groupe, vous êtes certain que tous les nouveaux groupescommenceront sur une nouvelle page.

Pour ajouter une bande de groupe

� Ouvrez un état dans la fenêtre de conception, puis cliquez sur Insérer,Bande de groupe.

Paradox place la première bande de groupe entre la bande de page et labande d�enregistrements. Si vous placez d�autres bandes de groupe,Paradox les met près de la bande d�enregistrements.

Pour définir une bande de groupe

1 Ouvrez un état dans la fenêtre de conception, puis cliquez avec le boutondroit de la souris sur la bande de groupe, et cliquez sur Définir le groupe.

2 Dans la boîte de dialogue Définition du groupe, activez l�une des optionssuivantes :

Fiches et états 301

� Grouper par valeur du champ : sélectionne la table, les champs etéventuellement l�étendue du groupe.

� Grouper par enregistrements : définit le nombre d�enregistrementsque vous souhaitez voir apparaître pour chaque groupe.

� Vous ne pouvez pas ajouter une bande de groupe à un état dont le modèlerelationnel contient des tables dBASE.

� Vous pouvez réorganiser des bandes de groupe en les déplaçant avec lasouris.

Groupement en fonction de la valeur d�un champ, d�un nombred�enregistrements ou d�une fourchette

Si vous groupez les enregistrements de votre état en fonction de la valeurd�un champ, vous pouvez réorganiser les données en ensembles significatifs.Par exemple, vous pouvez afficher vos clients groupés par Pays ou État, lescommandes groupées par mode de paiement ou d�expédition, ou les stocksgroupés par catégorie d�équipement. Vous pouvez également grouper l�étaten jeu d�enregistrements, en définissant un nombre pour spécifier l�ensembleque vous souhaitez. Cette fonction est utile si vous voulez grouper lesenregistrements pour un affichage clair, mais sans tri particulier.

Pour grouper les enregistrements en fonction de la valeur d�unchamp

1 Ouvrez un état dans la fenêtre de conception, puis cliquez sur Insérer,Bande de groupe pour ajouter une bande de groupe à l�état.

2 Dans la boîte de dialogue Définition du groupe, choisissez la valeur d�unchamp, une fourchette de valeurs ou un nombre défini d�enregistrementspar rapport auquel effectuer le groupement.

Paradox place un objet champ pour le champ à partir duquel vousregroupez dans l�en-tête du nouveau groupe. Vous pouvez supprimer cechamp.

Pour grouper les enregistrements en fonction du nombred�enregistrements

1 Ouvrez un état dans la Fenêtre de conception, puis cliquez avec le boutondroit de la souris sur la bande et cliquez sur Définir le groupe.

302 Paradox 9 : Chapitre 5

2 Dans la boîte de dialogue Définition du groupe, activez l�option Grouperpar enregistrement.

3 Dans la zone Nombre d�enregistrements, entrez le nombred�enregistrements que vous voulez dans chaque groupe.

Pour effectuer un groupement en fonction d�une fourchette

1 Ouvrez l�état dans la boîte de dialogue Définition du groupe, cliquez sur legroupe avec le bouton droit de la souris, puis cliquez sur Définir le groupe.

2 Dans la boîte de dialogue Définition du groupe, choisissez le champ quevous voulez dans la zone Champ.

Paradox affiche la table maître, les tables auxquelles elle est liée par unerelation un-à-un dans la liste des tables, et tous les champs disponiblesdans la Liste des champs. Parce que vous ne pouvez créer de groupe dansles champs BLOB (Binary Large Object), Paradox ne les affiche pas dansla liste de champs.

3 Cochez la case Grouper par fourchette.

L�intervalle de la fourchette est fonction du type des données qui figurentdans le champ.

� Lorsque vous groupez les enregistrements en fonction de la valeur d�unchamp, vous appliquez une spécification de tri à vos données. Si, parexemple, vous effectuez un groupement en fonction du champ Pays de latable Clients, les enregistrements de celle-ci sont triés en fonction de lavaleur de leur champ Pays.

� Vous ne pouvez pas placer une bande de groupe triée par champ dans unebande de groupe triée par fourchette.

� Si vous ne précisez pas la fourchette, un nouveau groupe commencechaque fois que la valeur du champ change.

� Vous pouvez placer deux bandes de groupe dans un état pour utiliser ungroupement par champ ou par fourchette avec un groupement par nombred�enregistrements.

Réorganisation des bandes de groupeSi votre état comporte plusieurs bandes de groupe, vous pouvez lesréorganiser. Si vous déplacez une bande, l�ordre du groupement change.

Fiches et états 303

Pour réorganiser les bandes de groupe

� Ouvrez un état dans la fenêtre de conception, sélectionnez la bande etdéplacez-la vers son nouvel emplacement.

� Vous pouvez la déplacer à partir de n�importe quel point de la bande. Unefois la bande sélectionnée, vous pouvez également la déplacer à l�aide destouches de direction (fléchées).

� Vous ne pouvez pas effectuer un groupement par champ au sein d�unefourchette.

Spécification de l�ordre de tri pour un groupeVous avez la possibilité de trier les enregistrements par ordre croissant oudécroissant.

Pour spécifier l�ordre de tri d�un groupe

1 Ouvrez l�état dans la fenêtre de conception, puis cliquez avec le boutondroit de la souris sur une bande de groupe et cliquez sur Propriétés.

2 Dans la page Général de la boîte de dialogue Propriétés, activez l�une desoptions suivantes :

� Croissant : imprime les groupes de A à Z ou selon l�ordre numérique.

� Décroissant : imprime les groupes de Z à A ou selon l�ordrenumérique contraire.

Suppression des valeurs de groupe redondantesLorsque vous groupez les enregistrements en fonction de la valeur d�unchamp, celle-ci s�imprime habituellement dans chaque enregistrement, bienqu�elle soit identique pour l�ensemble du groupe. Vous pouvez supprimer desrépétitions de valeurs de champ sur lesquelles le groupe est basé en activantla propriété Retirer répétitions de groupe pour l�état.

L�exemple suivant illustre un état pour la table Commande, dont un groupe aété défini en fonction du champ N° client. L�option Retirer répétitions degroupe est activée. Comme vous pouvez le voir, seul le premierenregistrement de chaque groupe comporte effectivement le numéro declient.

304 Paradox 9 : Chapitre 5

Pour supprimer des répétitions de valeurs de groupe

� Ouvrez un état dans la fenêtre de conception, puis cliquez sur Format,Propriétés. Dans la page Général de la boîte de dialogue Propriétés,cochez la case Retirer les répétitions de groupe.

� Lorsque cette option est désactivée, Paradox affiche la valeur du champpour tous les enregistrements du groupe, y compris les doublons, dans labande d�enregistrements. Lorsqu�elle est activée, Paradox imprime lavaleur pour le premier enregistrement du groupe uniquement.

Définition des préférences pour l�impression des en-têtes de groupeVous pouvez imprimer un en-tête de groupe avant chaque groupe ou en hautde toutes les pages sur lesquelles figure un groupe.

Vous pouvez imprimer un objet spécifique dans l�en-tête de groupe d�un étatau début de chaque groupe, en haut de la page lorsque le groupe se poursuitaprès un saut de page, ou les deux. Ces options sont disponibles pour lesobjets champs, les enregistrements d�un cadre de table ou lesenregistrements dans un objet multi-enregistrement.

Pour définir les préférences pour l�impression de l�en-tête d�ungroupe

1 Ouvrez un état dans la fenêtre de conception, cliquez avec le bouton droitde la souris sur une bande de groupe, puis sur Propriétés.

Fiches et états 305

L�activation de lapropriété Retirerrépétitions de groupeomet les valeursinutiles pour un étatmieux organisé.

2 Sur la page Général de la boîte dialogue Propriétés, activez l�une desoptions suivantes :

� Sur page et groupe : imprime l�en-tête du groupe au début de chaquegroupe et en haut de la page lorsque le groupe continue après un sautde page.

� Seulement sur groupe : imprime l�en-tête au début de chaque groupe,mais pas en haut de la page lorsque le groupe continue après un sautde page.

Pour définir les préférences pour l�impression d�objets dans unen-tête de groupe

1 Ouvrez un état dans la fenêtre de conception, cliquez avec le bouton droitde la souris sur un objet, puis cliquez sur Propriétés.

2 Dans la page Exécution de la boîte de dialogue Propriétés, activez l�unedes cases à cocher suivantes :

� Imprimer au groupe : affiche l�objet au début de chaque groupe, maispas en haut de chaque page (à moins que le groupe ne commence enhaut d�une page).

� Imprimer à la page : affiche l�objet en haut de la page lorsqu�un groupes�étend sur plusieurs pages. L�objet n�apparaît jamais sur la premièrepage de l�état.

� La propriété En-tête affecte la bande de groupe entière. Pour contrôlerl�impression d�un objet spécifique, utilisez sa propriété conditionnelle.

� La propriété Conditionnelle affecte uniquement l�objet spécifié. Pourcontrôler l�impression d�une bande de groupes entière, utilisez lapropriété En-tête.

Sauts de pagePour insérer ou supprimer des sauts de page dans un état, vous devezutiliser la barre de côté. Elle est située entre la règle et le cadre de lafenêtre, sur le côté gauche de la fenêtre Conception d�état.

Insertion, déplacement ou suppression d�un saut de page dans un étatVous devez afficher la barre de côté pour être à même d�ajouter ou desupprimer des sauts de page. Lorsque vous ajoutez un saut de page,respectez les règles suivantes :

306 Paradox 9 : Chapitre 5

� Vous pouvez placer un saut de page dans n�importe quelle bande, àl�exception de la bande de page.

� Un saut de page ne peut figurer dans un objet d�une bande. Il doit êtreplacé au-dessus ou au-dessous d�un objet existant.

Pour afficher la barre de côté

� Ouvrez un état dans la fenêtre de conception, puis cliquez sur Affichage,Règle.

Utilisez la barre de côté pour afficher la bande sélectionnée et insérer,déplacer ou supprimer des sauts de page.

Pour insérer un saut de page dans un état

Dans la fenêtre de conception d�état, effectuez l�une des opérationssuivantes :

� Insérez un saut de page, puis cliquez dans le document à l�emplacementsouhaité.

� Déplacez la barre de côté à l�emplacement souhaité pour le saut de page.

Une ligne apparaît au milieu de votre document, et un marqueur de sautde page s�affiche dans la barre de côté.

Pour déplacer un saut de page

1 Placez le curseur sur le saut de page. Le curseur se transforme en doubleflèche verticale.

2 Faites ensuite glisser le marqueur jusqu�à son nouvel emplacement.

Fiches et états 307

1. Barre de côté

2. Saut de page

Pour supprimer un saut de page

Exécutez l�une des actions suivantes :

� Cliquez sur le saut de page dans la barre de côté et déplacez le marqueurhors de cette dernière.

� Placez le curseur sur le saut de page (le curseur devient alors une doubleflèche verticale) et appuyez sur SUPPR.

Objets agrandis et rétrécisLorsque vous prévisualisez ou imprimez un état, certains objets (champs,tables, objets multi-enregistrements et graphes, par exemple) sont remplisde données, ce qui peut provoquer leur agrandissement ou leur réduction.

Les tables et les objets multi-enregistrement sont agrandis ou réduitsverticalement, de façon à utiliser autant de pages que nécessaire lors del�impression des enregistrements (si vous n�avez pas modifié la dispositionou la propriété Inclure tous les enregistrements de l�objetmulti-enregistrement).

Les champs individuels ou faisant partie d�une table ou d�un objetmulti-enregistrement sont agrandis ou réduits horizontalement, de façon àafficher toutes les données qu�ils contiennent (sauf si l�option Texte continuest activée dans la page Propriétés de l�objet). Lorsqu�un champ est agrandi,la table ou l�objet multi-enregistrement dans lequel il se trouve l�estégalement. Les champs dans lesquels l�option Texte continu est activée sontde largeur fixe et sont agrandis verticalement. Même si les données qu�ilscontiennent ne couvrent pas toute une ligne, leur largeur ne change pas.

Lorsque l�option Ajuster la taille est sélectionnée, les objets sur lesquelsvous pouvez placer des barres de défilement dans les fiches se développent àleur taille maximale dans les états.

Conséquence de l�agrandissement des objets sur la position desobjets adjacents

Lorsque les objets s�agrandissent, ils poussent les objets avoisinants, desorte que l�espace entre eux reste identique. Lorsqu�ils sont réduits (quand iln�y a pas assez de données pour remplir l�objet), les objets adjacents sontdécalés vers eux. Les objets agrandis verticalement décalent les autres versle bas de la page. Les objets agrandis horizontalement décalent les autresvers la droite de la page.

Contrôle du redimensionnement des objets

Lorsque vous travaillez avec des objets dont la taille varie, vous disposez deplusieurs propriétés pour contrôler leur comportement pendant l�exécution.

308 Paradox 9 : Chapitre 5

Vous pouvez empêcher toute modification de la taille d�un objet endéfinissant ses propriétés Ajuster en largeur et Ajuster en hauteur. Pour plusd�informations, reportez-vous aux rubriques Attachement d�objets deconception pendant l�exécution et Contrôle du redimensionnement pendantl�exécution d�un état à la page 310. Pour éviter qu�un objet soit décalé,définissez les propriétés Attacher horizontalement et Attacherverticalement. Reportez-vous à la rubrique Attachement d�objets deconception pendant l�exécution à la page 310.

Erreurs d�exécution

Si les enregistrements de votre table ou l�objet multi-enregistrementcontient trop de données (sont trop grands) pour tenir sur la page, une erreurd�exécution survient. Si vous attribuez une taille fixe aux enregistrements(option Ajuster en hauteur désactivée), ils tronquent les données mais negénèrent pas d�erreur. Si vous ne voulez pas de troncation, activez lapropriété Rupture de l�enregistrement et du cadre de table ou de l�objetmulti-enregistrement qui le contient.

� Il est souvent impossible de diviser les objets multi-enregistrement ; vousêtes donc obligé de tronquer les données. Vous pouvez concevoir l�état enutilisant une approche différente : au lieu de placer de petits objets dont lataille varie, vous pouvez agrandir les objets à leur taille maximale etinterdire leur réduction. Mais vous risquez peut-être de gâcher beaucoupde papier pour imprimer un état contenant simplement quelquesenregistrements de grande taille qui causent la troncation.

Contrôle des objets décalés à l�aide de lignesPour maintenir l�alignement de plusieurs objets sur un état alors qu�ils sontdécalés par des objets qui s�agrandissent ou se rétrécissent, vous pouveztracer une ligne pour les séparer. Les objets agrandis ou réduits poussent outirent la ligne, laquelle, à son tour, pousse ou tire tous les objets, maintenantainsi leur alignement.

Pour masquer une ligne utilisée pour contrôler les objets décalés

1 Cliquez sur la ligne avec le bouton droit de la souris, puis sur Propriétés.

2 Dans la page Exécution de la boîte de dialogue Propriétés, désactivez lacase Visible.

Vous verrez alors la ligne lorsque vous concevez l�état, mais non lorsquevous affichez ou imprimez les données.

Fiches et états 309

� Utilisez des cadres invisibles pour entourer plusieurs objets que vousvoulez conserver ensemble sur une page. Si le cadre est indissociable, lesobjets passent dans le cadre suivant plutôt que de se diviser sur deuxpages.

Contrôle du redimensionnement pendant l�exécution d�un étatLorsque vous prévisualisez ou imprimez un état, certains objets seremplissent de données, ce qui peut provoquer leur agrandissement ouréduction. Dans ce cas, ces objets poussent ou tirent les autres objets dans lapage. Vous pouvez empêcher le redimensionnement automatique de cesobjets (et de ceux qui les contiennent).

Pour empêcher l�agrandissement ou la réduction des objetspendant l�exécution d�un état

1 Ouvrez un état dans la fenêtre de conception, cliquez avec le bouton droitde la souris sur l�objet, puis cliquez sur Propriétés.

2 Dans la page Exécution de la boîte de dialogue Propriétés, désactivez lescases Ajuster en largeur et Ajuster en hauteur.

Lorsque ces propriétés sont désactivées, les objets conservent leur formeet leur taille à l�impression et lorsque vous les prévisualisez. Paradoxtronque les données trop volumineuses pour les faire tenir dans les objets.

Attachement d�objets de conception pendant l�exécutionLorsque vous prévisualisez ou imprimez un état, certains objets seremplissent de données, ce qui peut provoquer leur agrandissement ou leurréduction. En se redimensionnant, ces objets poussent ou tirent les autresobjets dans la page. Vous pouvez empêcher qu�un objet soit ainsi décalé.

Pour fixer un objet de conception pendant l�exécution

1 Ouvrez un état dans la fenêtre de conception, cliquez avec le bouton droitde la souris sur l�objet, puis cliquez sur Propriétés.

2 Dans la page Exécution de la boîte de dialogue Propriétés, effectuez l�unedes actions suivantes, ou les deux :

� Cochez la case Attacher horizontalement pour empêcher l�objet de sedéplacer à gauche et à droite.

� Cochez la case Attacher verticalement pour empêcher l�objet de sedéplacer vers le haut ou le bas.

310 Paradox 9 : Chapitre 5

� Un objet agrandi peut masquer un objet attaché.

Exemple de contrôle du positionnement des objets de conceptionLorsque vous prévisualisez ou imprimez un état, certains objets seremplissent de données, ce qui peut les agrandir ou les réduire. En seredimensionnant, ces objets poussent ou tirent les autres objets dans la page.

Supposons, par exemple, que vous placiez le champ Nom de la table Clientsdans un état. Si vous travaillez dans la fenêtre Conception d�état, l�objetchamp reste de la même taille. Si vous exécutez l�état, les valeurs affichéesdans l�objet champ diffèrent en taille et, par défaut, l�objet champ change detaille pour accueillir les données.

Supposons maintenant que vous ayez un objet graphique à droite du champNom. La figure ci-dessous illustre comment le champ Nom peut le décaler.

La quantité de données que contient le champ Nom fait que ce dernier estredimensionné. Lorsqu�il s�agrandit, il pousse le graphique vers la droite.Lorsqu�il est réduit, il décale le graphique sur la gauche.

Pour empêcher ce mouvement, vous pouvez procéder de l�une des manièressuivantes :

� Sélectionnez le champ et le graphique et cliquez sur Format, Grouper ;

� Cliquez sur l�objet graphique avec le bouton droit de la souris, puis surPropriétés. Dans la page Exécution de la boîte de dialogue Propriétés,cochez la case Attacher horizontalement.

La figure suivante illustre comment l�ancrage du graphique affecte l�étatpendant l�exécution.

Fiches et états 311

Lorsque vous activez l�option Attacher horizontalement, la taille des donnéesdans le champ Nom cesse d�affecter le graphique. Ce dernier étant ancré, ilne change plus de position en fonction des modifications des données.

Il peut arriver que lorsque vous ancrez un objet pour éviter qu�il ne soitdécalé, il soit masqué par l�objet agrandi.

Exemple d�utilisation de lignes invisibles pour aligner les objetsdécalés

Lorsque vous prévisualisez ou imprimez un état, certains objets seremplissent de données, ce qui peut les agrandir ou les réduire. En seredimensionnant, ces objets poussent ou tirent les autres objets de la page.

Supposons que vous aligniez des objets dans la fenêtre Conception d�état etque vous vous rendiez compte que l�un d�eux est décalé par un objet adjacentpendant l�exécution de l�état. Vous pouvez alors utiliser des lignes ou descadres invisibles pour grouper et contrôler l�alignement de plusieurs objetsdécalés, ou sélectionner les objets et les grouper en cliquant sur Format,Grouper.

Par exemple, vous disposez des objets suivants dans une conception d�état :

Lorsque vous exécutez l�état, le champ Nom fournisseur pousse ou tire lecadre, mais pas l�ellipse.

312 Paradox 9 : Chapitre 5

Si vous placez une ligne verticale entre le champ et les deux autres objetsdans la fenêtre Conception d�état, le champ qui s�agrandit poussera la lignequi, à son tour, poussera les deux objets.

Pour ne pas afficher la ligne, cliquez dessus avec le bouton droit de la souris,puis sur Propriétés. Dans la page Exécution de la boîte de dialoguePropriétés, cochez la case Invisible.

Vous obtenez le même résultat en groupant le cadre et l�ellipse de manière àce qu�ils se déplacent de concert.

� Vous obtiendrez le même résultat en groupant les objets décalés en lessélectionnant et en cliquant sur Format, Grouper. Cliquez sur le groupeavec le bouton droit de la souris, puis sur Propriétés, et désactivez la caseRupture dans la page Exécution de la boîte de dialogue Propriétés.

Exemple d�utilisation d�un conteneur pour maintenir les objetsgroupés

Lorsque vous prévisualisez ou imprimez un état, certains objets seremplissent de données, ce qui peut les agrandir ou les réduire. En seredimensionnant, ces objets poussent ou tirent les autres objets sur la page.

Fiches et états 313

Vous pouvez utiliser un conteneur pour conserver un groupe d�objets sur lamême page. Supposons, par exemple, que vous utilisiez la conception d�étatsuivante :

Les objets sont encadrés par un objet conteneur invisible (cadre). Dans lapage Exécution de la boîte de dialogue Propriétés, la propriété Rupture duconteneur est désactivée. Par conséquent, les objets restent donc groupéssur une même page en mode exécution.

Si vous utilisez une ligne ou un cadre pour contrôler le mouvementhorizontal du cadre et de l�ellipse, il arrive que Paradox sépare le cadre del�ellipse à l�occasion d�un saut de page. C�est le cas parfois, lorsque vousalignez les objets à l�aide d�une ligne, ou que vous utilisez un cadre pourlequel la case Rupture est cochée dans la page Exécution de la boîte dedialogue Propriétés.

Pour empêcher la division d�un groupe d�objets par un saut de page,entourez-le d�un cadre en désactivant l�option Rupture dans la pageExécution de la boîte de dialogue Propriétés.

� Vous obtiendrez le même résultat en sélectionnant les objets et encliquant sur Format, Grouper. Sélectionnez le groupe et cliquez surPropriétés. Dans la page Exécution de la boîte de dialogue Propriétés,désactivez la case Rupture.

Distribution d�étatsGrâce à la distribution, d�autres personnes peuvent utiliser votre état, sanstoutefois pouvoir en modifier la conception ou le code source. Un étatdistribué ne peut pas être ouvert dans une fenêtre de conception, et ne peutdonc être modifié.

314 Paradox 9 : Chapitre 5

Si d�autres personnes utilisent votre état, elles doivent aussi avoir accès auxtables du modèle relationnel ainsi qu�aux index et fichiers d�intégritéréférentielle. La méthode la plus simple pour rendre accessibles un ensemblede tables, de fiches et de fichiers associés consiste à utiliser un alias.

Lorsque vous concevez un état destiné à être utilisé par d�autres personnes,tenez compte de l�écran dont elles disposeront pour afficher l�état. Il estpréférable d�utiliser des couleurs et des polices standard ainsi que des taillesstandard pour les fenêtres de la fiche, afin d�être sûr que l�état final soitutilisable.

Distribution d�un étatLorsque vous distribuez un état, Paradox en crée une copie dont tout le codesource a été retiré. Les boutons et autres objets continuent de fonctionnerexactement comme vous les aviez conçus.

Pour distribuer un état

� Ouvrez un état dans la fenêtre de conception, puis cliquez sur Format,Distribuer.

Paradox enregistre une copie de l�état avec l�extension .RDL, le Dsignifiant distribué.

� Vous pouvez continuer à modifier l�état original (celui dont l�extension est.RSL), puis le distribuer à nouveau. Votre code n�est pas perdu, il estsimplement protégé.

Propriétés d�état et de bandeL�état, dans son ensemble, possède des propriétés qui peuvent êtremodifiées. Parmi celles-ci figurent :

� les barres de défilement,

� l�ajustement de la taille,

� le menu standard,

� le contrôle des répétitions de groupe.

Toutes les bandes, sauf les bandes de page, peuvent comporter une ruptureou un rétrécissement à l�exécution.

Fiches et états 315

Prévisualisation d�étatsLa prévisualisation d�un état (ou son exécution) vous donne une idée del�aspect de l�état imprimé lorsqu�il contiendra des données Que l�état soit enmode exécution ou conception, il vous est impossible d�y entrer ou d�ymodifier des données.

Prévisualisation d�un étatLa fenêtre Conception d�état affiche la conception d�un état. Pour afficher lesdonnées de l�état, vous devez exécuter ce dernier. Paradox est capable deredimensionner automatiquement la fenêtre État en fonction de laconception.

Pour prévisualiser (exécuter) un état

� Dans la fenêtre Conception d�état, cliquez sur Affichage, Exécuter l�état.

Paradox affiche alors l�état dans la fenêtre État. Des boutons de navigationapparaissent sur la barre d�outils. Cliquez sur ceux-ci pour vous déplacerdans les pages de l�état. Pour revenir dans la fenêtre Conception d�état,cliquez sur Affichage, Concevoir l�état.

Pour redimensionner la fenêtre État en fonction de la conceptiond�état

1 Ouvrez un état dans la fenêtre de conception, puis cliquez sur Format,Propriétés.

2 Dans la page Général de la boîte de dialogue Propriétés, cochez la caseAjuster la taille.

� Pour accélérer la prévisualisation d�un état, cliquez sur un objet avec lebouton droit de la souris, puis sur Propriétés ; dans la page Exécution,désactivez ensuite les cases Ajuster en hauteur et Ajuster en largeur.

� Appuyez sur F8 pour basculer entre Exécuter l�état et Concevoir l�état.

Affichage d�un menu personnalisé durant la prévisualisationLorsque vous prévisualisez un état, Paradox affiche le menu standard dans lafenêtre État. Si vous créez un menu personnalisé à l�aide d�un ObjectPAL,votre état peut l�utiliser lors de l�exécution.

Fiches et états 317

Pour afficher un menu personnalisé lors de la prévisualisation

1 Cliquez sur Affichage, Concevoir l�état pour ouvrir l�état dans la fenêtre deconception.

2 Cliquez sur Format, Propriétés.

3 Dans la page Général de la boîte de dialogue Propriétés, désactivez la caseMenu standard.

L�option Menu standard est activée par défaut.

Utilisation d�un état avec une autre tableSupposons que la disposition, les couleurs et autres attributs d�uneconception d�état vous conviennent et que vous souhaitiez afficher lesdonnées d�une autre fiche dans le même style. Au lieu de récréer l�étatd�après la nouvelle table, il vous suffit de l�ouvrir en utilisant cette dernière.Avec cette fonction, vous avez également la possibilité d�utiliser ladisposition d�un état existant pour imprimer ou afficher la table Réponsed�une requête.

Les règles suivantes s�appliquent lorsque vous utilisez un état avec une tabledifférente :

� La table maître est la seule à pouvoir être modifiée.

� Si la table d�origine et la nouvelle table ont des noms de champ et desstructures de table identiques, Paradox relie automatiquement les champsde l�état à la nouvelle table.

� Si l�état contient des objets champ qui ne peuvent être reliés à la nouvelletable (parce que celle-ci ne dispose d�aucun champ correspondant),Paradox affiche ces objets comme des champs non définis.

� Si l�état possède des champs calculés faisant référence à des champsmanquants, les champs calculés auront des expressions non valides etdevront être redéfinis pour la nouvelle table. Modifiez l�expressioncalculée, supprimez toutes les références de champ à la table d�origine etremplacez ces références par des champs issus de la nouvelle table.

� N�utilisez pas le modèle relationnel pour modifier la table utilisée avecl�état. Bien qu�il soit possible d�ajouter une nouvelle table au modèlerelationnel et d�en supprimer la table d�origine, cette action entraînel�affichage de tous les champs de l�état comme des champs non définis,voire leur suppression, ainsi que celle de toutes les bandes de groupedéfinies à partir de la table supprimée.

318 Paradox 9 : Chapitre 5

� Vous pouvez utiliser le modèle relationnel pour modifier la table utiliséeavec l�état à l�aide d�alias de table. Ainsi, vous informez Paradox que vousvoulez que les deux tables représentent la même chose. Pour plusd�informations sur les alias de table, reportez-vous à la rubrique Alias à lapage 58.

Impression ou affichage d�un état à l�aide d�une autre tableVous pouvez ouvrir un état créé à partir d�une table avec des données issuesd�une autre table, d�une requête enregistrée ou d�un fichier SQL (StructuredQuery Language) enregistré.

Pour imprimer ou afficher un état à l�aide d�une autre table

1 Cliquez sur Fichier, Ouvrir, État.

2 Dans la boîte de dialogue Ouverture d�un état, sélectionnez l�étatapproprié.

3 Cliquez sur Changer de table.

4 Dans la boîte de dialogue Sélection d�une table de remplacement,sélectionnez la table, la requête enregistrée ou le fichier SQL enregistré àutiliser dans l�état.

5 Cliquez sur OK pour retourner dans la boîte de dialogue Ouvrir un état.

6 Sélectionnez l�une des options suivantes :

� Afficher l�état : pour afficher l�état.

� Imprimer l�état : pour imprimer l�état.

7 Cliquez sur Ouvrir.

� Si un champ de l�état n�a pas de champ correspondant dans la table, unmessage d�avertissement s�affiche. L�état s�ouvre. Les éventuels champsnon définis sont nommés LIBELLÉ et aucune donnée n�y apparaît.

� Pour redéfinir des champs non définis, cliquez sur Affichage, Concevoirl�état pour retourner dans la fenêtre de conception, à partir de laquellevous pouvez définir les champs. Pour conserver l�état original intact,enregistrez le nouvel état sous un autre nom. Revenez dans la fenêtre deconception et cliquez sur Fichier, Enregistrer sous. Donnez un nouveaunom à l�état (cela vous est impossible si votre document est un étatdistribué).

Fiches et états 319

Impression d�étatsDans Paradox, vous disposez de plusieurs options d�impression pour lesétats. Vous pouvez imprimer l�état avec ses données, ou n�en imprimer que laconception. Vous avez également la possibilité d�imprimer un fichier demanière à pouvoir le transmettre à un service d�impression, ou de le publierau format HTML afin de pouvoir le publier sur le Web.

Impression d�un étatVous pouvez imprimer l�état avec ses données, ou n�en imprimer que laconception. Lorsque vous exécutez un état en mode de partage de données,vous risquez d�obtenir des données en cours de modification. Par exemple, sivous imprimez un état de la table Client alors que celle-ci est en cours demodification par un autre utilisateur, l�état risque de ne plus être à jour dèsl�impression effectuée.

Pour imprimer un état

1 Exécutez l�une des actions suivantes :

� Dans la fenêtre État, cliquez sur Fichier, Imprimer.

� Dans la fenêtre Conception d�état, cliquez sur Fichier, Imprimer.

2 Dans la boîte de dialogue Imprimer, choisissez les pages à imprimer, lenombre de copies et précisez si vous souhaitez trier les copies.

3 Dans la zone Gestion débordements, indiquez comment traiter lesdonnées trop importantes pour tenir sur la page imprimée. Pour plusd�informations, cliquez sur Aide dans la boîte de dialogue Impression dufichier.

Pour imprimer la conception d�un état

� Ouvrez un état dans la Fenêtre de conception, puis cliquez sur Fichier,Imprimer, Conception.

Pour imprimer un état en cours de modification par un autreutilisateur

� Dans la fenêtre Conception d�état, cliquez sur État, Options deredémarrage.

Paradox ouvre alors la boîte de dialogue Options de redémarrage.

320 Paradox 9 : Chapitre 5

� La mise en page de l�état en affecte l�impression.

� Si vous concevez l�état pour l�écran, les polices de la sortie papier risquentde ne pas correspondre à celles de l�écran. Cela dépend de lacorrespondance entre vos polices d�écran et vos polices d�imprimante.

Impression d�un état dans un fichierIl vous sera parfois nécessaire d�imprimer l�état dans un fichier, par exemplepour le transmettre à un service d�impression ou le transférer vers un autreordinateur. Pour imprimer un état dans un fichier, vous devez ajouter uneimprimante à l�aide du Panneau de configuration de Windows et définir unesortie vers un fichier. Sélectionnez cette imprimante comme imprimanteactive avant d�imprimer votre état.

Vous pouvez sélectionner Fichier, Publier au format Texte pour imprimer unétat vers un fichier texte ou Fichier, Publier au format HTML pour publierune table ou un état sous forme de fichier HTML statique ou dynamique.

Pour imprimer vers un fichier

1 Ouvrez un état, puis cliquez sur Fichier, Configurer l�imprimante.

2 Utilisez la boîte de dialogue Configuration imprimante pour sélectionnerl�imprimante appropriée.

3 Activez l�option Imprimer dans un fichier.

4 Entrez un nom pour le fichier dans la zone Imprimer dans un fichier.

5 Cliquez sur Imprimer.

Chaque fois que vous imprimez un état, vous pouvez choisir quelleimprimante utiliser dans la boîte de dialogue Configuration imprimante.La dernière imprimante sélectionnée est l�imprimante active.

Pour ajouter une imprimante en cas d�impression dans un fichier

1 Ouvrez le Panneau de configuration de Windows (consultez l�aide en lignede Windows pour plus d�informations).

2 Ouvrez le dossier Imprimantes et cliquez deux fois sur Ajoutd�imprimante.

3 Utilisez l�Assistant d�ajout d�imprimante pour installer une nouvelleimprimante utilisant un pilote existant.

4 Procédez ensuite de l�une des manières suivantes :

Fiches et états 321

� Si vous désirez que le fichier s�imprime en texte seulement (sansformatage), cliquez sur l�imprimante Générique/Texte seulement. Nevous inquiétez pas si l�état n�apparaît pas correctement à l�écran, ils�imprimera correctement dans un fichier. Vous pouvez cependantremédier à ce problème en concevant l�état pour l�écran.

� Si vous souhaitez conserver le formatage du fichier à l�impression,choisissez un pilote d�imprimante graphique, tel que PostScript.

5 Sélectionnez Fichier comme port de l�imprimante active, puis terminezl�installation selon les instructions de l�Assistant.

Pour écrire un état dans un fichier texte

1 Ouvrez un état, puis cliquez sur Fichier, Écrire comme fichier texte.

2 Dans la boîte de dialogue Enregistrement du fichier, entrez le chemind�accès complet, ainsi que le nouveau nom de fichier, dans la zone Nom defichier.

3 Cliquez sur Enregistrer.

Publication d�étatsParadox vous permet de publier votre état dans de nombreux formats defichiers, tels que TXT (Texte), WPD (WordPerfect), DOC (Microsoft Word),RTF (Rich Text Format) et HTML.

Pour publier un état

1 Cliquez sur Fichier, Ouvrir, État.

2 Cliquez deux fois sur l�état que vous voulez ouvrir.

3 Cliquez sur Fichier, Publier au format, puis sélectionnez l�un des formatssuivants :

� TEXT

� RTF

� HTML

� WPD

� DOC

4 Sélectionnez le lecteur où vous voulez enregistrer le fichier dans la zonede liste Enregistrer dans.

5 Cliquez deux fois sur le dossier où vous voulez enregistrer le fichier.

6 Entrez le nom du fichier dans la zone Nom de fichier.

322 Paradox 9 : Chapitre 5

Graphes et références croisées 323

GRAPHES ET RÉFÉRENCESCROISÉES 6Paradox vous permet d�insérer des graphes et des références croisées dansvos fiches et vos états. En vous divulguant les informations cachées, lesgraphes et les références croisées vous aident à mieux analyser vos données.Si vous utilisez un graphe ou une référence croisée dans vos fiches et vosétats, vous allez être en mesure de :

� décomposer les données en fonction des catégories que vous choisissez ;

� résumer les données dans chacune de ces catégories ;

� trier les données résumées.

Si, par exemple, vous décomposez les ventes de la société par année et partrimestre, les tendances vont se dégager. En décomposant encore lesdonnées en fonction du type de produit et des régions, vous affinez d�autantplus votre analyse.

Requêtes sous-jacentes aux graphes et aux références croisées

Les données résumées pour un graphe ou une référence croisée sont issuesd�une requête. Les références croisées créant et exécutant automatiquementdes requêtes, il est inutile de définir une requête lors de leur création.

Utilisation des graphesLes graphes vous permettent de présenter une vue globale de vos données.Ils peuvent révéler des tendances ou des physionomies et expliquer lacontribution de chacun des éléments d�un ensemble. Les graphes vouspermettent de tirer rapidement des conclusions et d�analyser les relationsexistant entre les données, ce que vous risquez de ne pas faire autrement.Vous pouvez aussi adopter différents types de graphe pour présenter vosdonnées.

Les graphes doivent se trouver dans une fiche ou un état. Chaque grapherepose sur les tables du modèle relationnel de la fiche ou de l�état.

Lorsque vous créez un graphe, Paradox résume (croise) tout d�abord lesdonnées avant de le générer. C�est pourquoi vous avez tout intérêt à biencomprendre les références croisées pour tirer le meilleur parti des graphes.

Notions fondamentales sur les graphesAyez recours à un graphe pour analyser les types de données suivants :

Tabulaire (sans catégorie)

C�est le type de graphe le plus simple et celui que Paradox utilise par défaut.Puisqu�un graphe tabulaire affiche les données sans les résumer, il n�existeaucune référence croisée correspondante. En cas de graphe tabulaire, il suffitde préciser un champ pour les valeurs de l�axe des X ou plusieurs champspour l�axe des Y. Chacun représente une série de valeurs tracées en tant quegroupe sur le graphique.

Un graphe tabulaire mesure les valeurs d�un champ numérique à l�intérieurde chaque catégorie représentée par les valeurs d�un autre champ. Cesvaleurs ne sont uniques que si le champ des valeurs X est un champ clé. Pourrendre uniques les valeurs X lorsque le champ n�est pas un champ clé,choisissez un graphe à une dimension.

L�exemple suivant présente un graphe tabulaire créé à partir de la tableexemple Commande. Lorsque le graphe et le cadre de table se trouvent tousdeux dans une fiche, vous pouvez parcourir les enregistrements de la table etvoir en parallèle la mise à jour du graphe en fonction de l�enregistrementcourant. Lorsque vous dépassez l�enregistrement No Client 1510 dans lecadre de table, le graphe se met à jour pour afficher le prochain ensembled�enregistrements.

324 Paradox 9 : Chapitre 6

Récapitulatif à une dimension (1D) (une catégorie)

Un graphe 1D ne comporte qu�une seule catégorie. Un graphe récapitulatif1D se distingue d�un graphe tabulaire car Paradox vous laisse choisir uneopération récapitulative pour définir les valeurs de l�axe des Y. Il garantitaussi l�unicité des valeurs X.

Récapitulatif à deux dimensions (2D) (deux catégories)

Un graphe récapitulatif 2D classe, ou groupe, les données récapitulativesfaisant l�objet du graphe en fonction des valeurs uniques de deux champs.Les données sont regroupées en fonction des valeurs de l�axe des X.

Graphes multi-tablesSi vous voulez analyser (croiser) les données contenues dans au moins deuxtables, les tables doivent être liées.

Un graphe peut extraire les informations d�un nombre quelconque de tables àcondition que ces dernières soient liées par une relation monovaleur (un

un ou plusieurs un). Si vous voulez, par exemple, consulter lenombre d�articles en stock par classe d�équipement ainsi que le fournisseurcorrespondant, vous pouvez lier les tables Stock et Fourniss. Il suffit ensuitede définir l�axe des X, l�axe des Y et les données récapitulatives à l�aide deschamps de l�une ou l�autre table.

Établissez la relation entre les tables en utilisant la boîte de dialogue Modèlerelationnel où vous créez le modèle relationnel qui lie les tables. Lorsquevous insérez un graphe dans une fiche ou dans un état, le graphe utilise lemodèle relationnel de ce document de conception.

Graphes et références croisées 325

1. Enregistrementcourant.

2. Le graphe se met àjour pour afficher leprochain ensembled�enregistrements.

3. Données provenantde la table Commande.

Vous ne pouvez combiner les champs des tables liées dans le même grapheque si le lien établit une relation monovaleur (un-à-un). Il est impossible deprésenter, dans un graphe, des informations issues d�une combinaison dechamps de tables liées par des relations multivaleurs (un plusieurs). Vousne pouvez présenter sous forme de graphe des informations issues de latable détail que s�il s�agit d�une relation un plusieurs.

Le graphe est groupé par les valeurs du champ Type d�équipement de la tableStock. L�axe des X représente le champ Nom Fournisseur de la tableFourniss. L�axe des Y représente le calcul Nombre effectué sur le champ NoArticle de la table Stock. La légende affiche les couleurs et les motifssymbolisant chaque valeur de la classe d�équipement dans le graphe.

� Les champs utilisés sur l�axe des Y doivent être de type numérique.

Graphes des tables détail

Supposons que vous soyez en présence d�une relation liée multivaleur (unplusieurs) et que vous ne soyez intéressé que par un graphe récapitulatif desenregistrements de la table détail ayant une correspondance dans la tablemaître. Vous pouvez, par exemple, définir un graphe de la table détailCommande qui fait la somme du champ Montant Total par mois pour chaqueclient, comme le montre la figure suivante :

326 Paradox 9 : Chapitre 6

Un exemple de grapherécapitulatif 2D.

La relation entre les tables Clients et Commande sous-entend que chaqueclient peut avoir plusieurs commandes. Liez les deux tables et créez ungraphe de la table détail Commande. Placez ensuite, dans la page, les champsNo Client ou Nom (ou les deux) de la table maître Clients.

Grâce au modèle relationnel, Paradox sait que les informations du graphe neconcernent que l�enregistrement courant de la table maître. Dans cetexemple, le champ Nom, situé en haut, vient de la table Clients. Si vouspassez d�un client à un autre, le graphe se met à jour en conséquence pourvous afficher les commandes de chaque client.

Création d�un graphe dans une fiche ou un étatInsérez un graphe dans une fiche ou un état à l�aide de l�outil Graphe. Legraphe peut prendre la taille de votre choix.

Pour insérer un graphe dans une fiche ou un état

1 Ouvrez une fiche ou un état dans la fenêtre Conception, puis cliquez surl�outil Graphe.

2 Cliquez sur l�emplacement de la fiche ou de l�état où vous voulez placer legraphe et faites glisser l�outil.

Un objet graphe tabulaire vierge s�affiche avec un axe des X, un axe des Yet des données non définies.

3 Faites glisser les poignées de dimensionnement pour donner au graphe ladimension voulue.

� Dans un état, la portée d�un graphe est déterminée en partie par la sectionde l�état où il se trouve.

Graphes et références croisées 327

Définition d�un grapheLes graphes tabulaires extraient les données directement d�une table ; aucunrécapitulatif des données n�est envisagé.

Les graphes récapitulatifs à une dimension analysent un type de données parrapport à un autre.

Les graphes récapitulatifs à deux dimensions regroupent les informations enfonction de plusieurs catégories.

Lorsque vous insérez un nouvel objet graphe dans une fiche ou un état, unesérie de données non définie apparaît sur l�axe des X du graphe. Une série dedonnées se compose d�une ligne ou d�une colonne de données d�un groupequi sert à tracer un ou plusieurs objets sur un graphe (barres ou rectangles,par exemple, représentant les points de données). Vous devez définir cettesérie pour créer le graphe.

Définition d�un grapheIl est impossible d�utiliser le même champ pour les valeurs de l�axe des X etles données des valeurs Y. Si un champ sert déjà de base aux valeurs de l�axedes X, aux valeurs de regroupement supplémentaires ou à la création d�ungraphe récapitulatif 2D, il apparaît en grisé. Pour plus d�informations,reportez-vous à la rubrique Modification de l�axe des Y d�un graphe à la page334.

Pour définir un graphe

1 Cliquez sur le graphe avec le bouton droit de la souris, puis sélectionnezDéfinir le graphe.

2 Dans le panneau Type de données, activez l�un des éléments suivants(pour plus d�informations, reportez-vous à la rubrique Notionsfondamentales sur les graphes à la page 324) :

� Tabulaire

� Récapitulatif 1D

� Récapitulatif 2D

3 Choisissez, dans la zone de liste de la table, le champ où se trouvent lesvaleurs à utiliser pour l�axe des X.

4 Choisissez, dans la zone de liste de la table, le champ où se trouvent lesvaleurs que vous voulez présenter sous forme de graphe en fonction de lamesure de l�axe des Y.

5 Si vous avez activé l�option Récapitulatif 2D, choisissez le champ selonlequel se fait le regroupement des données.

328 Paradox 9 : Chapitre 6

� Rien ne vous empêche de personnaliser le graphe en formatant la série,en donnant des titres et en modifiant les propriétés des différentes zonesdu graphe.

Définition d�une sérieLorsque vous insérez un nouvel objet graphe dans une fiche ou un état, unesérie de données non définie apparaît sur l�axe des X du graphe. Il vousappartient de définir la série et d�en formater l�affichage.

Si votre graphe comprend plusieurs séries de données, vous pouvez lesformater de façon différente. Dans un graphe présentant deux lignes dedonnées, par exemple, vous voudrez peut-être que l�histogramme d�une sériesoit rouge et celui de l�autre bleu. Dans certains types de graphe, rien nevous empêche de choisir l�option Remplacement de type pour faire ressortirune série de tout le reste. Dans un histogramme 2D (à deux dimensions), parexemple, vous pouvez décider de présenter une série sous forme linéaire 2D.

Faites apparaître le menu contextuel en cliquant sur le bouton droit de lasouris et définissez ensuite la couleur, le motif et le style du fond et despoints de données (barres, rectangles ou anneaux, par exemple) du graphe.Utilisez aussi le menu contextuel pour redéfinir la valeur Y de la série.

Pour définir une série

� Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez sur lesdonnées avec le bouton droit de la souris (une barre ou un rectangle dugraphe, par exemple) et cliquez sur la sélection de menu appropriée.

� En cas de graphes de type tabulaire ou récapitulatif à une dimension (1D),vous pouvez ajouter plusieurs séries à la série d�origine non définie. Ilsuffit pour cela de choisir des champs supplémentaires pour définir lavaleur Y.

� S�il s�agit d�un graphe récapitulatif 2D, vous n�avez le droit de choisirqu�un seul champ pour la seule série compatible avec ce type de données.

Définition d�un champ de regroupement supplémentaire dans ungraphe récapitulatif 2D

En cas de graphes récapitulatifs 2D, il vous appartient de choisir, parmi leschamps autorisés et disponibles, celui selon lequel vous voulez regrouper lesdonnées récapitulatives. Il est également possible de regrouper les donnéesen fonction des catégories de l�axe des X.

Graphes et références croisées 329

Définir un champ de regroupement supplémentaire revient, en fait, à avoir unaxe des X secondaire. Supposons, par exemple, qu�un graphe présente lesventes réalisées par trimestre. Les trimestres se trouvent sur l�axe des X etles ventes sur l�axe des Y. Décomposez encore les données pour faire figurerd�une part, les ventes par trimestre et d�autre part, les ventes par produit aucours de chaque trimestre. Dans ce cas, l�axe des X et l�axe des Y sontidentiques mais chaque point de l�axe des X dispose de plusieursrécapitulatifs, un par produit. La légende affiche la façon dont chaquerécapitulatif de produit s�affiche dans le graphe.

Par défaut, Paradox affiche 8 groupes (séries) dans un graphe récapitulatif2D. Il vous appartient de décider du nombre de groupes à afficher. Si, comptetenu du nombre de groupes, vos données n�arrivent pas à s�afficherclairement, vous serez probablement amené à ne visualiser que les premiersgroupes.

Pour définir un champ de regroupement supplémentaire dans ungraphe récapitulatif 2D

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur le coin supérieur gauche du graphe, puissélectionnez Définir le graphe.

2 Activez le bouton Récapitulatif 2D dans la boîte de dialogue Définitiond�un graphe.

3 Activez le bouton Groupé par.

4 Choisissez le champ selon lequel vous voulez regrouper les donnéesrécapitulatives dans la zone de liste d�une table.

Il est impossible de choisir le même champ pour les valeurs de l�axe desX, les données de valeur Y et un regroupement supplémentaire. Si deschamps de cette table servent déjà de base aux valeurs de l�axe des X etaux données de l�axe des Y, ils apparaissent en grisé.

Pour contrôler le nombre de groupes (séries) qu�un graphe 2Daffiche

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur le graphe récapitulatif 2D, puis sélectionnezGroupes maximum.

2 Choisissez un nombre de la liste ou cliquez sur les points de suspension(...) situés en haut de la liste pour ouvrir une boîte de dialogue et entrerun nombre plus élevé.

330 Paradox 9 : Chapitre 6

� Rien ne vous empêche de définir un groupe en cliquant, avec le boutondroit de la souris, sur le titre du graphe et en sélectionnant Définir legroupe.

Modification d�un graphe

Propriétés d�un graphe

Un objet graphe se compose de plusieurs parties. Chaque partie de l�objetgraphe dispose d�un menu de propriétés spécifique en plus du menu consacréaux propriétés de l�ensemble du graphe. Cliquez avec le bouton droit de lasouris sur un coin du graphe pour le sélectionner dans son intégralité, oucliquez avec le bouton droit de la souris sur une zone particulière du graphepour la sélectionner. Cliquez sur Propriétés pour faire apparaître la page despropriétés correspondantes. Pour modifier d�autres aspects du graphe,cliquez sur l�une des sélections du menu contextuel :

Sélection du menu Description

Propriétés Affiche la boîte de dialogue Propriétés dont les pages à onglets vouspermettent de modifier les différents aspects. Il s�agit des propriétésstandard Couleur, Motif, Cadre, Conception et Exécution qu�utilisent aussid�autres objets de conception. Pour accéder à l�aide consacrée à cespages, sélectionnez-les et appuyez sur F1.

Explorateur d�objet Affiche l�Explorateur d�objet qui vous permet de modifier les méthodesObjectPAL, les événements et les propriétés d�objet (fiches uniquement).

Définir le graphe Affiche la boîte de dialogue Définition d�un graphe où vous pouvezchoisir les champs à utiliser pour chaque axe du graphe ainsi que le typede données.

Type de données Indique s�il s�agit de Tabulaire, Récapitulatif 1D ou Récapitulatif 2D.

Type de graphe Affiche une liste des types de graphe 2D et 3D.

Groupes maximum Contrôle le nombre de groupes (séries) qu�affiche un graphe récapitulatif2D.

Valeurs x minimum Fixe la valeur minimum des séries d�un graphe.

Graphes et références croisées 331

Valeurs x maximum Fixe la valeur maximum des séries d�un graphe.

Options Permet de personnaliser le graphe à l�aide des options suivantes :Afficher le titre : Active ou désactive l�affichage du titre. Par défaut, cetteoption est activée.Afficher la légende : Active ou désactive l�affichage de la légende. Pardéfaut, cette option est désactivée.Afficher la grille : Active ou désactive l�affichage de la grille. Par défaut,cette option est activée.Afficher les axes : Active ou désactive l�affichage des axes. Par défaut,cette option est activée.Afficher les libellés : Active ou désactive l�affichage des libellés. Pardéfaut, cette option est désactivée.Rotation : Fait pivoter un graphe selon son axe vertical conformément audegré choisi. Cette option n�est disponible que pour les graphes 3D àl�exception des diagrammes sectoriels et des empilements 3D.Élévation : Modifie l�angle de vue d�un graphe 3D. Cette option n�estdisponible que pour les graphes 3D à l�exception des diagrammessectoriels et des empilements 3D.

� Pour plus d�informations sur les propriétés spécifiques d�un graphe,reportez-vous à la référence Propriétés des objets de l�aide en ligne.

Propriétés des zones d�un grapheLibre à vous de modifier les propriétés de chacune des zones d�un graphe.Lorsque le pointeur se transforme en petite flèche verticale, cliquez sur lebouton droit de la souris pour faire apparaître la liste des propriétés de cettezone.

Pour l�axe des X, l�axe des Y et la zone de regroupement, vous pouvez définirle champ, l�échelle, la grille, les graduations et le titre. Dans un grapherécapitulatif 2D, vous pouvez aussi définir le groupe. Il suffit pour cela decliquer avec le bouton droit de la souris sur le titre du graphe, puis desélectionner Propriétés.

Les options suivantes vous permettent de personnaliser les libellés de lasérie :

Propriété Description

Définir la valeur Y Indique le champ dont les valeurs seront représentées sur l�axe des Y.Vous pouvez aussi cliquer sur le haut de la liste pour ouvrir la boîte dedialogue Définition de l�objet champ qui vous permet de choisir unchamp dans une autre table du modèle relationnel.

332 Paradox 9 : Chapitre 6

Rien ne vous empêche d�indiquer plusieurs valeurs Y si vous cliquez avecle bouton droit de la souris sur l�axe des Y plutôt que sur une sérieproprement dite.

Titre Permet de choisir le texte et la police ou d�utiliser les valeurs par défaut.

Couleur Affiche la palette de couleurs standard de Paradox.

Motif Permet de définir la couleur et le style du motif.

Retirer cette valeur Y Supprime une série d�un graphe. Ce champ est également retiré de la listedes champs Valeur Y de la boîte de dialogue Définition d�un graphe. Cetteoption n�est disponible qu�avec des données de type Tabulaire etRécapitulatif 1D.

Remplacement de type Donne à la série choisie un type d�affichage différent du reste du graphe.Choisissez Aucun, Histogramme 2D, Linéaire 2D ou Aire 2D. Cette optionest compatible avec tout histogramme 2D, graphe linéaire 2D,diagramme à aires 2D ou rotation d�histogramme 2D.

Modification du type ou du type de données d�un grapheIl existe une grande diversité pour ce qui est des types de graphe :histogramme, diagramme à aire, diagramme linéaire et sectoriel, entreautres.

En modifiant le type de données, vous modifiez également l�objet graphe. Lessélections choisies dans les pages des propriétés de l�objet changent aussi enfonction du type de données.

Pour modifier le type d�un graphe

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur le coin supérieur gauche du graphe, puiscliquez sur Type de graphe.

2 Choisissez un type de graphe dans la liste.

Pour modifier le type de données d�un graphe

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur le coin supérieur gauche du graphe, puiscliquez sur Type de données.

2 Dans la zone Type de données de la boîte de dialogue Définition d�ungraphe, activez l�une des options suivantes :

� Tabulaire

� Récapitulatif 1D (à une dimension)

� Récapitulatif 2D (à deux dimensions)

Graphes et références croisées 333

� Pour plus d�informations sur les types de données, reportez-vous à larubrique Notions fondamentales sur les graphes.

Modification de l�axe des X d�un grapheNon content de décider des données à utiliser sur l�axe des X de votregraphe, vous pouvez aussi fixer les valeurs minimum et maximum ainsi quechoisir l�échelle à appliquer.

Pour modifier l�axe des X d�un graphe

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez sur l�axedes X du graphe et cliquez sur Définir la valeur X.

2 Choisissez un champ dans la zone de liste d�une table.

Pour fixer le nombre minimum et maximum des valeurs à incluredans l�axe des X

� Cliquez sur le coin supérieur gauche du graphe et choisissez Valeurs xminimum ou Valeurs x maximum. Choisissez un nombre ou cliquez sur lespoints de suspension (...) situés en haut du menu pour préciser vospropres valeurs.

Pour formater le titre et les graduations de l�axe des X (etl�échelle des graphes XY)

Cliquez avec le bouton droit de la souris sur la zone entourant l�axe des X,puis cliquez sur un ou plusieurs des éléments suivants :

� Cliquez sur Titre et Texte ou Police pour entrer le texte ou définir lescaractères, la taille, le style, la couleur ou le script de la police.

� Cliquez sur Graduations pour indiquer le format des nombres, la policede caractères, le style, la couleur ou le script des graduations et desnombres de l�axe des X.

� Cliquez sur Échelle pour préciser le type d�échelle à utiliser(logarithmique, par exemple).

Modification de l�axe des Y d�un grapheEn cas de graphes tabulaires, vous ne pouvez choisir que des champsnumériques pour la valeur Y. Les champs non numériques apparaissent engrisé.

334 Paradox 9 : Chapitre 6

En cas de graphes récapitulatifs à une dimension (1D), définissez l�axe des Yen choisissant un ou plusieurs champs parmi les champs disponibles etvalides. Lorsque vous choisissez un champ pour l�axe des Y, Paradox l�associeà une opération récapitulative par défaut. Par défaut, Paradox :

� calcule la somme des données de type numérique, monétaire, entiercourt, entier long, à incrémentation automatique et BCD (Binary CodedDecimal) ;

� compte le nombre des données de type alphanumérique, date, heure,date/heure ou logique.

Ces opérations récapitulatives par défaut apparaissent dans la zone de listeRécapitulatif de la boîte de dialogue Définition d�un graphe lorsque vousmettez en surbrillance chaque champ dans la zone Opérateurs récapitulatifs.

En cas de graphes récapitulatifs à deux dimensions (2D), définissez l�axe desY en choisissant l�un des champs disponibles et valides. Lorsque vouschoisissez un champ pour l�axe des Y, Paradox l�associe à une opérationrécapitulative par défaut.

Pour modifier l�axe des Y d�un graphe

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur l�axe des Y du graphe ou sur une sérieparticulière, cliquez ensuite sur Définir la valeur Y.

2 Dans la boîte de dialogue Définition de l�objet champ, choisissez le ou leschamps à utiliser pour l�axe des Y à partir de la zone de liste.

Pour formater le titre, l�échelle et les graduations de l�axe des Y

Cliquez avec le bouton droit de la souris sur la zone de l�axe des Y, puissélectionnez l�un des éléments suivants :

� Cliquez sur Titre et Texte ou Police pour entrer le texte ou définir lescaractères, la taille, le style, la couleur ou le script de la police.

� Cliquez sur Graduations pour indiquer le format des nombres, la policede caractères, le style, la couleur ou le script des graduations et desnombres de l�axe des Y.

� Cliquez sur Échelle pour préciser le type d�échelle à utiliser(logarithmique, par exemple).

Graphes et références croisées 335

Modification de l�ordre des champs de valeur Y sur un graphe

Dans les graphes tabulaires ou récapitulatifs 1D, vous pouvez définir l�axedes Y en fonction d�un ou de plusieurs champs. Ces champs apparaissentdans l�ordre où vous les avez sélectionnés dans la boîte de dialogueDéfinition d�un graphe. Leur ordre détermine l�ordre des séries de donnéesdans le graphe : les valeurs du premier champ constitueront la premièresérie, celles du deuxième la deuxième série, et ainsi de suite.

Pour modifier l�ordre des champs des valeurs Y sur un graphe

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur le coin supérieur gauche du graphe et cliquezsur Définir le graphe.

2 Utilisez les flèches Modifier l�ordre situées au bas de la zone Champutilisé dans. Ces flèches sont activées lorsque vous définissez un graphetabulaire ou récapitulatif 1D, que vous sélectionnez une valeur Y et queplusieurs champs figurent dans la zone Valeur Y.

Modification de l�axe des Z d�un grapheLa plupart des graphes à trois dimensions (3D) (à l�exception des graphessectoriels) possèdent un troisième axe, appelé l�axe des Z. L�axe des Z sesitue dans la troisième dimension du graphe. Selon le type de graphe, leslibellés des axes des Z se situent à côté du graphe ou s�affichent dans lalégende, sous le graphe.

Pour modifier les propriétés de la police de l�axe des Z

� Cliquez avec le bouton droit de la souris sur l�axe des Z (dans un graphe3D bien sûr) pour modifier la police utilisée dans le libellé.

Modification du titre d�un graphePour mettre en valeur votre fiche ou votre état, choisissez la position etl�apparence du titre de votre graphe.

Pour modifier le titre d�un graphe

� Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur la zone de titre du graphe, puis cliquez surTitre pour préciser le texte, la police, les caractères, la taille, la couleur etle script du titre.

336 Paradox 9 : Chapitre 6

Suppression d�un champ d�un grapheVous pouvez supprimer des champs de l�axe des X, des valeurs Y et deszones de regroupement d�un graphe à partir de la boîte de dialogue Définitiond�un graphe.

Pour supprimer des champs d�un graphe

1 Ouvrez une fiche ou un état dans la fenêtre Conception, puis sélectionnezle graphe.

2 Cliquez avec le bouton droit de la souris sur le coin supérieur gauche dugraphe, puis sélectionnez Définir le graphe.

3 Dans la boîte de dialogue Définition d�un graphe, sélectionnez le champ àsupprimer de l�axe des X, de la valeur Y ou des zones de regroupement(Groupé par).

4 Cliquez sur le bouton Retirer un champ.

Modification de l�aspect d�un grapheLibre à vous de choisir la façon de présenter chaque partie d�un graphe ;autrement dit, vous pouvez modifier :

� la police, la couleur et le motif de fond du titre ;

� la couleur et le motif d�une série de données ;

� la couleur et le motif du fond ;

� le style et la couleur du cadre ;

� la couleur et la police des titres des axes ;

� la couleur, la police et la fréquence des graduations.

Il est également possible de modifier les propriétés propres à certains typesde graphe. Pour plus d�informations sur les propriétés propres aux zones d�ungraphe, reportez-vous à la référence Propriété des objets.

Modification des polices d�un grapheUtilisez la palette Police pour choisir les caractères, la taille et le style d�ungraphe.

Graphes et références croisées 337

Pour modifier les polices d�un graphe

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur une zone du graphe comportant du texte (letitre ou un axe, par exemple), puis sélectionnez Titre, Police.

2 Modifiez les caractères, la taille, le style, la couleur et le script de lapolice.

Modification du fond d�un grapheLe fond du graphe est la zone où ne figure aucune donnée. Il peut se situer,par exemple, au-dessus des colonnes et entre ces dernières dans un graphetabulaire. Libre à vous de choisir la couleur du fond ainsi que la couleur et lestyle du motif à lui appliquer.

Pour modifier la couleur du fond d�un graphe

1 Ouvrez une fiche ou un état dans la fenêtre Conception, puis sélectionnezle graphe.

2 Cliquez avec le bouton droit sur le fond, cliquez sur Couleur, puissélectionnez une couleur de la palette.

Pour modifier le motif du fond d�un graphe

1 Ouvrez une fiche ou un état dans la fenêtre Conception, puis sélectionnezle graphe.

2 Procédez de l�une des façons suivantes :

� Cliquez sur le fond, puis sur Motif et sélectionnez une couleur dans lapalette pour modifier la couleur du motif.

� Cliquez sur le fond, puis sur Motif et sélectionnez un style dans lapalette pour modifier le motif du fond.

� Pour rendre le graphe transparent, sélectionnez le graphe au lieu du fond ;cliquez avec le bouton droit de la souris sur le graphe et sélectionnezPropriétés. Cochez la case Transparente de la page Général de la boîte dedialogue Propriétés.

338 Paradox 9 : Chapitre 6

Modification de la couleur et de la transparence d�un grapheSélectionnez le graphe et utilisez la palette Couleur de la page Général de laboîte de dialogue Propriétés correspondante pour choisir la couleur et latransparence du graphe et créer des couleurs personnalisées.

Pour modifier la couleur et la transparence d�un graphe

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur le coin supérieur gauche du graphe, puissélectionnez Propriétés.

2 À la page Général de la boîte de dialogue Propriétés, cliquez sur unecouleur de la palette.

3 Cochez la case Transparente pour rendre le graphe transparent.

Pour modifier la couleur d�une zone d�un graphe

1 Cliquez avec le bouton droit de la souris sur la zone voulue, puis cliquezsur Couleur.

2 Cliquez sur une couleur dans la palette.

Création de couleurs personnalisées pour un grapheParadox enregistre les couleurs personnalisées dans la base de registresWindows, et non dans le document de travail traité lors de la création de lacouleur. Par conséquent, vous pouvez créer une couleur personnalisée dansun document de conception et l�utiliser par la suite dans un autre.

Pour créer des couleurs personnalisées pour un graphe

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur le coin supérieur gauche du graphe, puissélectionnez Propriétés.

2 À la page Général de la boîte de dialogue Propriétés, cliquez sur l�un desespaces blancs de la palette de couleurs.

3 Cliquez sur le bouton Ajouter une couleur personnalisée.

4 Dans la boîte de dialogue Personnalisation des couleurs, choisissez unecombinaison de couleurs (RVB, NSB ou CMJ).

5 Faites glisser les réglettes pour obtenir le mélange souhaité.

6 Cliquez sur OK pour ajouter la couleur personnalisée à la palette.

La couleur personnalisée s�affiche alors dans la palette et reste disponiblepour une utilisation ultérieure.

Graphes et références croisées 339

Utilisation des références croiséesL�outil Référence croisée est un outil d�analyse des données qui permet derésumer (croiser) les informations en fonction d�une ou de plusieurscatégories.

Une référence croisée est un objet de conception et les catégories sont deschamps. Les données résumées pour une référence croisée sont issues d�unerequête. Puisque les références croisées créent et exécutentautomatiquement des requêtes, il est inutile de définir une requête aupréalable. Cela dit, le principe de la requête peut vous aider à comprendre letype d�information qu�est amenée à contenir une référence croisée.

Une référence croisée :

� classe les données en fonction d�une ou de plusieurs catégories ;

� résume les données dans chacune de ces catégories ;

� trie les informations résumées ;

� affiche les données sous forme de feuille de calcul.

La référence croisée suivante a été créée à partir de la table exempleCommande. Échéance est le champ colonne, Transporteur la catégorie etMontant Total le champ récapitulatif. La zone récapitulative de la référencecroisée indique la somme de Montant Total par transporteur et conditions.

Prenons un autre exemple, vous savez très probablement que les ventes devotre société se sont élevées, l�an dernier, à 100 millions de francs sur le plannational. Mais, supposons que vous vous intéressiez surtout à votre budgetpublicitaire. En décomposant les informations par région, vous aurez déjà uneidée plus précise pour vous décider.

Région Ventes

Nord 25.000.000 F

Sud 30.000.000 F

340 Paradox 9 : Chapitre 6

Est 15.000.000 F

Ouest 30.000.000 F

Vous pourriez encore décomposer cette table pour, par exemple, analyser lacontribution de chaque produit aux ventes de sa région.

VENTES

Région Produit N° 1 Produit N° 2

Nord 12.000.000 F 13.000.000 F

Sud 10.000.000 F 20.000.000 F

Est 10.000.000 F 5.000.000 F

Ouest 15.000.000 F 15.000.000 F

Les références croisées vous permettent d�obtenir rapidement une analyseapprofondie de vos données.

Notions fondamentales sur les références croiséesLes références croisées peuvent avoir une ou deux dimensions et reposersur une ou plusieurs tables.

Références croisées à une dimension

Lorsque vous créez une référence croisée à une dimension, vous cherchez àanalyser un type de données par rapport à un autre.

La table Commande comporte un champ Mode de règlement. La référencecroisée compte le nombre de commandes passées à l�aide des sept modes depaiement possibles. Dans ce cas, Mode de règlement constitue la catégoried�informations et le calcul Nombre(COMMANDE.No Commande) fournit lesdonnées de chaque catégorie.

Vous pouvez afficher les informations horizontalement ou verticalement. Ilest généralement plus rapide de calculer et de créer une référence croisée àune dimension verticale qu�horizontale.

Graphes et références croisées 341

Un exemple de référencecroisée utilisée pourdifférencier les diversmodes de réglement.

Références croisées à deux dimensions

Une référence croisée à deux dimensions synthétise les informations enfonction de plusieurs catégories.

Pour créer une référence croisée à deux dimensions, indiquez deux champsde catégorie (les zones Colonne et Catégories de la boîte de dialogue Définirla référence croisée) et le champ dont vous voulez résumer les données(saisi dans la zone Opérateurs récapitulatifs de la boîte de dialogue Définir laréférence croisée). Dans ce cas, à partir de la table Commande, vous pouvezafficher le nombre de commandes (le récapitulatif apparaissant dans lescellules de l�objet référence croisée) passées par mois pour chaque mode depaiement (les catégories apparaissant au sommet et le long de la colonnegauche de l�objet référence croisée). Les données sont dites à deuxdimensions puisqu�elles tiennent compte à la fois du mois de passation descommandes et du mode de paiement utilisé.

Les informations récapitulatives (nombre de numéros de commande)apparaissent dans les cellules de la référence croisée, triées selon le champMois sur les lignes et le champ Mode de règlement dans les colonnes. Pouridentifier le nombre de commandes d�un mois donné, il vous suffit deconsulter l�intersection des colonne et ligne appropriées. Par exemple, lenombre 4 de la première colonne des cellules indique que quatre commandesont été passées en décembre par des clients détenteurs de la carte AmericanExpress. Ainsi, il vous est très facile d�analyser les habitudes d�achat desclients sur une période donnée.

Références croisées multi-tables

Pour analyser des données contenues dans deux tables ou plus, les tablesdoivent être liées. Une référence croisée peut extraire des informations d�unnombre quelconque de tables à condition que ces dernières fassent l�objetd�une relation monovaleur (un un ou plusieurs un). Avant de créerune référence croisée multi-table d�une relation liée un-à-un, vous devezdéfinir la relation à l�aide d�un modèle relationnel.

342 Paradox 9 : Chapitre 6

Un exemple deréférence croisée àdeux dimensions.

Par exemple, pour consulter le nombre d�articles en stock par classed�équipement ainsi que le fournisseur correspondant, vous pouvez lier lestables Stock et Fourniss. Il vous appartient ensuite de définir les lignes, lescolonnes et les opérateurs récapitulatifs à l�aide des champs de l�une ou del�autre table.

La figure suivante vous montre une référence croisée multi-table qui utilisele champ Nom Fournisseur de la table Fourniss et le champ Typed�équipement de la table Stock :

Sur cette figure :

� Les valeurs récapitulatives vous indiquent le nombre d�articles enprovenance de chaque fournisseur et ce, pour chaque type de stock.

� Les titres des lignes présentent les valeurs du champ Nom Fournisseurde la table Fourniss.

� Les titres des colonnes présentent les valeurs du champ Typed�équipement de la table Stock.

Vous ne pouvez combiner, dans la même référence croisée, des champsextraits de tables liées que si le lien établit une relation monovaleur. Vousn�êtes pas en mesure d�analyser des informations de champs combinés detables liées par des relations multivaleurs (un plusieurs). Il n�estpossible d�analyser les informations de la table détail que s�il s�agit d�unerelation un plusieurs.

Références croisées des tables détail

Supposons que vous soyez en présence d�une relation liée multivaleur(un-à-plusieurs) et que vous ne vouliez établir une référence croiséerécapitulative que pour les seuls enregistrements de la table détailcorrespondant à un enregistrement spécifique de la table maître.

Graphes et références croisées 343

Prenons un exemple, vous souhaitez peut-être définir une référence croiséedans la table détail Commande qui calcule le champ Montant Total par Modede règlement et par Mois pour chaque client de la table Clients.

La relation entre les tables Clients et Commande sous-entend que chaqueclient peut avoir plusieurs commandes. Vous pouvez lier les deux tables etcréer une référence croisée dans la table détail Commande. Il suffit ensuitede placer, dans la fiche, le champ No Client ou Nom (ou les deux) de la tablemaître Clients. Grâce au modèle relationnel, Paradox sait que lesinformations de la référence croisée ne s�appliquent qu�à l�enregistrementcourant de la table maître. Dans cet exemple, le champ Nom, situé en haut,vient de la table Clients. Si vous passez d�un client à un autre, la référencecroisée se met à jour en conséquence pour vous afficher les commandes dechaque client.

Création d�une référence croisée dans une fiche ou un étatLa référence croisée, que vous insérez dans une fiche ou dans un état, sesert du modèle relationnel de la fiche ou de l�état en question.

Si vous souhaitez consulter les données issues des tables placées dans laréférence croisée nouvellement créée, il vous faut exécuter cette référencecroisée.

Pour créer une référence croisée dans une fiche ou un état

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez sur l�outilRéférence croisée.

2 Cliquez sur la fiche ou sur l�état pour créer une référence croisée de lataille par défaut, ou cliquez et faites glisser la référence croisée à ladimension voulue.

Un objet référence croisée vide apparaît avec des champs non définis dansl�en-tête de ligne, l�en-tête de colonne et la première zone d�opérateurrécapitulatif.

344 Paradox 9 : Chapitre 6

Pour exécuter une référence croisée

Ouvrez une fiche ou un état dans la fenêtre Conception, puis procédez del�une des manières suivantes :

� Cliquez sur Affichage, Exécuter la fiche ou sur Affichage, Exécuterl�état.

� Appuyez sur F8.

� Paradox exécute une requête pour calculer les informationsrécapitulatives de la référence croisée. La procédure risque d�échouer si latable réponse résultante contient trop de champs ou si vous ne disposezpas d�un espace disque suffisant pour la requête. En cas d�échec de laréférence croisée, une grille vide apparaît.

Enregistrement d�une référence croisée dans une tableAprès avoir créé la référence croisée dans une fiche, vous pouvez exécuter lafiche, puis enregistrer la référence croisée dans une table.

Pour enregistrer une référence croisée dans une table

1 Créez une référence croisée et enregistrez la fiche où elle se trouve.

2 Cliquez sur Édition, Enregistrer la référence croisée (cette sélection demenu n�est disponible que lors de l�exécution d�une fiche contenant uneréférence croisée).

3 Entrez le nom de la nouvelle table ou sélectionnez-en un dans la liste.

Définition d�une référence croiséeLes références croisées peuvent reposer sur une ou plusieurs tables etpermettent de comparer au moins deux catégories de données. Pour cela, ilfaut que les tables analysées appartiennent au modèle relationnel et que lescatégories comparées soient liées soit par le modèle relationnel, soit par lebiais de l�intégrité référentielle. Il vous faut ensuite définir la référencecroisée à l�aide des champs de la (ou des) table(s) du modèle relationnel.

Graphes et références croisées 345

Définition d�une référence croiséeDéfinissez la référence croisée à l�aide des champs de la (ou des) table(s) dumodèle relationnel de la fiche ou de l�état.

Pour définir une référence croisée

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur le coin supérieur gauche de l�objet référencecroisée et cliquez sur Définir la référence croisée.

2 Dans la boîte de dialogue Définir la référence croisée, activez le boutonColonne et choisissez, dans la zone de liste de la table, les champs quiserviront de titres de colonne (au sommet de la référence croisée).

3 Activez le bouton Catégories et choisissez, dans la zone de liste de latable, les champs qui serviront de titres de ligne (dans la colonne gauchede la référence croisée).

4 Activez le bouton Opérateurs récapitulatifs et choisissez, dans la zone deliste de la table, les champs qui serviront de base à une opérationrécapitulative. C�est ainsi que s�obtiennent les données de la référencecroisée.

� Vous pouvez choisir plusieurs champs à la fois dans les tables du modèlerelationnel. Rien ne vous empêche de réviser le modèle relationnel dudocument et de choisir des opérations récapitulatives.

� Le nombre total de champs de catégorie plus le nombre de colonnescréées pour une référence croisée ne peut pas dépasser 254.

Définition des champs d�une référence croiséeLorsque vous placez un nouvel objet référence croisée dans une fiche oudans un état, le champ de la première colonne, de la première ligne et de lapremière zone récapitulative ne sont pas définis. À vous de définir ou desupprimer les champs utilisés pour les titres de colonne, les catégories deligne et les récapitulatifs quand bon vous semble.

Pour définir les champs d�une référence croisée

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur un champ de la référence croisée, puissélectionnez Définir le champ.

2 Dans la boîte de dialogue Définition de l�objet champ, choisissez le champvoulu dans la zone de liste de la table.

346 Paradox 9 : Chapitre 6

Pour supprimer un champ d�une référence croisée

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur le coin supérieur gauche de la référencecroisée, puis cliquez sur Définir la référence croisée.

2 Sélectionnez un champ dans les zones Colonne, Catégories ou Opérateursrécapitulatifs.

3 Cliquez sur le bouton Retirer un champ.

Définition des titres de colonne et de ligne (catégories ) d�uneréférence croisée

Si vous choisissez plusieurs champs pour les catégories, le tri desinformations se fait en fonction de la première catégorie puis de la suivante,et ainsi de suite, lors de la création de la référence croisée. En cas deréférences croisées à une dimension, seul un champ pourra servir à extraireles valeurs des titres de colonne. En cas de références croisées à deuxdimensions, vous pouvez, à condition d�avoir retenu au moins un champ pourles titres de colonne, choisir autant de champs disponibles et corrects qu�enproposent les tables du modèle relationnel pour les catégories de ligne.Chaque champ ajouté à la liste des catégories affine le regroupement desinformations.

Pour définir les titres de colonne d�une référence croisée

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur un champ de la référence croisée, puissélectionnez Définir le champ.

2 Dans la boîte de dialogue Définir la référence croisée, activez le boutonColonne et choisissez, dans la zone de liste de la table, le champ quiservira de titre de colonne (au sommet de la référence croisée).

Pour définir les titres de ligne (catégories) d�une référencecroisée

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur un champ de la référence croisée, puissélectionnez Définir le champ.

2 Dans la boîte de dialogue Définir la référence croisée, activez le boutonCatégories et choisissez, dans la zone de liste de la table, le champ quiservira de titre de ligne (dans la colonne gauche de la référence croisée).

Graphes et références croisées 347

� Il est impossible d�utiliser le même champ pour les titres de colonne et lescatégories de ligne. Si un champ de cette table sert déjà à fournir lesvaleurs des titres de colonne, il apparaît en grisé.

� Si vous créez une référence croisée horizontale à une dimension, nechoisissez aucun champ pour les catégories de ligne.

� Si vous créez une référence croisée verticale à une dimension, nechoisissez aucun champ pour les valeurs des titres de colonne.

Définition des champs récapitulatifs d�une référence croiséeRien ne vous empêche de choisir plusieurs fois les opérateurs récapitulatifs,contrairement aux champs retenus pour les valeurs des titres de colonne etdes catégorie de ligne. Le nombre d�opérateurs récapitulatifs multiplié par lenombre de valeurs de colonne ne peut pas dépasser 254. Après avoir préciséle (ou les) champ(s) à résumer dans une référence croisée, il vous appartientde choisir l�opération à effectuer (somme, nombre, minimum, maximum oumoyenne). Par défaut, les opérations s�effectuent dans l�ordre suivant :

� Somme des données de type numérique, monétaire, entier court, entierlong, à incrémentation automatique et BCD (Binary Coded Decimal) ;

� Compte des données de type alphanumérique, date, heure, date/heure oulogique.

Pour définir les champs récapitulatifs d�une référence croisée

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur un champ de la référence croisée, puissélectionnez Définir le champ.

2 Dans la boîte de dialogue Définir la référence croisée, activez le boutonOpérateurs récapitulatifs et choisissez, dans la zone de liste de la table, lechamp sur lequel s�effectuera une opération récapitulative. C�est ainsi ques�obtiennent les données de la référence croisée.

Pour modifier une opération récapitulative

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur un champ de la référence croisée, puissélectionnez Définir le champ.

2 Dans la boîte de dialogue Définir la référence croisée, activez le boutonOpérateurs récapitulatifs et choisissez l�opération voulue dans la listeRécapitulatif.

348 Paradox 9 : Chapitre 6

� Il est impossible de retenir comme opérateur récapitulatif un champ choisipour les titres de colonne ou pour les catégories de ligne. Si des champsde cette table servent déjà à fournir les valeurs des titres de colonne etdes catégories de ligne, ils apparaissent en grisé.

� Vous pouvez choisir autant de champs disponibles et corrects qu�enproposent les tables du modèle relationnel. L�ordre dans lequel vous leschoisissez détermine celui dans lequel les données résumées apparaissentdans la référence croisée.

Modification d�une référence croiséeVous pouvez modifier les propriétés de chaque partie de la référence croiséeainsi que l�ordre d�apparition des données. Pour plus d�informations sur lespropriétés que peuvent prendre les références croisées, reportez-vous à laréférence Propriétés des objets.

Modification de l�aspect d�une référence croiséeVous pouvez changer la façon dont se présente chaque partie d�une référencecroisée ; autrement dit, vous pouvez modifier les propriétés des champs, descolonnes, des lignes et des zones récapitulatives de la référence croisée àl�aide de la boîte de dialogue Propriétés.

Vous pouvez aussi redimensionner l�ensemble de la référence croisée, lazone des colonnes ou la zone des lignes.

Pour modifier l�aspect d�une référence croisée

1 Ouvrez une fiche ou un état dans la fenêtre Conception, puis sélectionnezla référence croisée. Des poignées de sélection apparaissent tout autourde la référence croisée.

2 Cliquez avec le bouton droit de la souris sur la zone voulue et cliquez surPropriétés.

3 Sélectionnez les propriétés à appliquer à la référence croisée.

Pour redimensionner l�ensemble de la référence croisée

� Sélectionnez la référence croisée dans la fenêtre Conception, faites glisserles bords à la dimension voulue.

Pour redimensionner la zone des colonnes

� Faites glisser le quadrillage qui entoure la référence croisée sélectionnée.

Graphes et références croisées 349

Pour redimensionner la zone des lignes

� Faites glisser les bords de la zone des lignes de la référence croiséesélectionnée.

Réorganisation des champs de catégorie et de récapitulatif d�uneréférence croisée

Lorsque vous choisissez plusieurs champs pour définir les catégories deligne et les récapitulatifs, il vous appartient aussi de définir leur ordred�apparition dans les zones Catégories et Opérateurs récapitulatifs.

Pour réorganiser les champs de catégorie et de récapitulatifd�une référence croisée

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur le coin supérieur gauche de l�objet référencecroisée, puis cliquez sur Définir la référence croisée.

2 Utilisez les flèches Modifier l�ordre situées au bas de la zone Champutilisé dans.

Ces flèches sont activées dès que vous sélectionnez les optionsCatégories ou Opérateurs récapitulatifs et que plusieurs champs figurentdans leurs zones.

� Vous pouvez réorganiser les champs de catégorie et de récapitulatif dansles fenêtres Conception de fiche et Conception d�état en les faisant glisservers un emplacement différent.

350 Paradox 9 : Chapitre 6

Interrogation de votre base de données 351

INTERROGATION DE VOTREBASE DE DONNÉES 7Une requête vous permet d�extraire des informations en provenance de votrebase de données. En général, une requête se présente sous forme dequestions. Vous pouvez, par exemple, identifier les clients ayant passé descommandes sur un mois donné, le montant total facturé pour toutes leurscommandes et les factures non encore réglées.

En général, dans une requête, vous indiquez :

� les tables à interroger ;

� les champs à afficher dans la table réponse ;

� les enregistrements à sélectionner ;

� les calculs à effectuer ;

� les nouveaux champs à créer à l�issue des calculs effectués sur lesdonnées de la table.

Interrogez une ou plusieurs tables, si nécessaire, pour obtenir lesinformations dont vous avez besoin. Paradox recherche les enregistrementsrépondant aux critères définis et affiche les résultats dans une table réponse.Si vous n�obtenez pas les résultats voulus, il vous suffit de redéfinir larequête et de l�exécuter de nouveau. Enregistrez ensuite cette requête sivous souhaitez l�utiliser ultérieurement.

� La plupart des procédures et exemples de ce chapitre s�appuient sur lesfichiers du répertoire Exemple de Paradox (chemin par défaut :c:\Program\Files\Corel\Shared\Exemple). Si vous n�avez pas installé cesfichiers d�exemple, vous pouvez y remédier en effectuant une installationpersonnalisée.

Utilisation des requêtes

Lorsque vous créez des requêtes qui se complètent, vous pouvez effectuerdes simulations en formulant des questions du type « Et si... ». Exemples :

� À combien s�élèveraient les ventes totales si les ventes pour la régionparisienne augmentaient de 8 % ?

� À combien s�élèveraient nos frais de déplacement si les compagniesaériennes augmentaient leurs tarifs de 10 % ?

Vous pouvez également faire appel aux requêtes pour insérer, supprimer etmodifier des enregistrements ainsi que pour y appliquer des calculs.

Préférences et propriétés d�une requête

Vous pouvez définir les propriétés d�une requête, tels que le nom, le type dela table de résultats à créer et, le cas échéant, l�ordre de tri des résultats.Vous pouvez tout aussi bien définir les préférences par défaut pourl�ensemble des requêtes.

Vue de requête reliée

En général, lorsque vous exécutez une requête, Paradox crée une tableréponse accessible en lecture seule. En d�autres termes, il est impossible demodifier les informations contenues dans les enregistrements. Libre à vous,toutefois, de créer une requête reliée plutôt qu�une table réponse. Il suffit,pour cela, de modifier le paramétrage des propriétés de la requête, puis demettre à jour les informations dans les enregistrements sélectionnés.

Modes de création d�une requête

Paradox vous permet de créer des requêtes sur votre base de données dequatre façons différentes, à savoir :

� La méthode de requête Query By Example (QBE) est un mode decréation bien connu des utilisateurs des versions précédentes de Paradox.Pour exécuter une requête QBE, vous devez fournir à Paradox unexemple du résultat que vous souhaitez obtenir. Lorsque vous définissezune requête, vous utilisez des critères de sélection ainsi que des élémentsd�exemple.

352 Paradox 9 : Chapitre 7

� Le Créateur de requête visuel (CRV) vous permet de générer facilementet rapidement des requêtes SQL sans taper une seule ligne de code SQL.Vous créez votre requête en choisissant les tables, les champs et touteautre option par l�intermédiaire d�une interface graphique ; le code SQLcorrespondant est généré en arrière-plan. Rien ne vous empêche de voirle code SQL généré dans l�créateur SQL au fur et à mesure que vouschoisissez les options dans la fenêtre CRV. Pour plus d�informations sur leCRV, reportez-vous à la rubrique Création de requêtes SQL à l�aide ducréateur de requête visuel de l�aide en ligne.

� Les développeurs de base de données expérimentés, possédant unebonne maîtrise de SQL, peuvent sans problème envisager un codagedirect dans l�Créateur SQL. L�Créateur SQL vous permet aussi demodifier les requêtes précédemment créées par le créateur de requêtevisuel ou l�Expert de requête. Pour plus d�informations sur SQL,reportez-vous aux rubriques Utilisation de l�Créateur SQL et Utilisationde SQL local de l�aide en ligne.

� L�Expert de requête constitue le moyen le plus simple. Il convientparfaitement aux novices et plaît beaucoup aux nouveaux utilisateurs de labase de données. Il vous guide pas à pas dans la création des modèles derequête les plus fréquents. Pour lancer l�Expert de requête, cliquez surOutils, Experts, puis cliquez deux fois sur l�icône Requête.

Création d�une requête QBELes types de requête que Paradox et QBE vous permettent de créer sontpresque illimités. Vous pouvez utiliser des opérateurs de requête et desinstructions de calcul pour extraire les informations dont vous avez besoin.Quelle que soit la nature de la requête créée, la technique utilisée varie peu.

Création d�une requête à partir d�une tableVous pouvez créer une image de requête QBE directement à partir d�une oude plusieurs tables existantes.

Pour créer une requête en fonction d�une table

1 Cliquez sur Fichier, Nouveau, Requête.

2 Choisissez le dossier où se trouvent les tables dans la zone de listeRechercher dans.

3 Choisissez une ou plusieurs tables dans la liste des tables et cliquez surOuvrir.

Pour choisir plusieurs tables, maintenez la touche CTRL enfoncée tout encliquant sur chaque table à ouvrir.

Interrogation de votre base de données 353

4 Activez la case à cocher en regard de chacun des champs que vous voulezafficher dans la table réponse.

5 Cliquez sur Requête, Exécuter la requête.

� Si la requête porte sur plusieurs tables, liez ces dernières à l�aided�éléments d�exemple avant d�exécuter la requête. Pour plusd�informations, reportez-vous à la rubrique Établissement de liens entreles tables d�une requête QBE à la page 362.

Création d�une requête QBE à partir d�un modèle relationnel, d�unefiche ou d�un état

Vous pouvez créer une requête en fonction d�un modèle relationnel, d�unefiche ou d�un état existants. Lorsque vous créez une requête à partir d�unefiche ou d�un état, Paradox place dans la fenêtre Requête une image dechacune des tables utilisées dans le modèle relationnel de la fiche ou de l�étatchoisis. Il place également les éléments d�exemple et, le cas échéant, lesopérateurs d�inclusion requis pour joindre les tables en fonction du modèlerelationnel. C�est de cette façon qu�il convient de lier plusieurs tables dansune requête.

Pour créer une requête en fonction d�un modèle relationnel,d�une fiche ou d�un état

1 Cliquez sur Fichier, Nouveau, Requête.

2 Choisissez Modèles relationnels, Fiches ou États dans la zone de listeTypes de fichier.

3 Choisissez le dossier où se trouvent le modèle relationnel, la fiche oul�état dans la zone de liste Rechercher dans.

4 Cliquez deux fois sur le modèle relationnel, la fiche ou l�état qui vousintéresse dans la liste de fichiers.

5 Activez la case à cocher en regard de chacun des champs que vous voulezafficher dans la table réponse.

6 Cliquez sur Requête, Exécuter la requête.

Création d�une requête QBE à partir d�une autre requêtePour créer des requêtes semblables, il vous suffit de modifier une requêteexistante et de l�enregistrer sous un nouveau nom. Lorsque vous créez unerequête à partir d�une autre, Paradox place une copie de la requête dans lafenêtre Requête. Les critères de sélection, les éléments d�exemple et, le cas

354 Paradox 9 : Chapitre 7

échéant, les opérateurs d�inclusion existants, figurent également dans cetteimage.

Pour créer une requête à partir d�une autre requête

1 Cliquez sur Fichier, Nouveau, Requête.

2 Choisissez le dossier où se trouve la requête existante dans la zone deliste Rechercher dans.

3 Choisissez Requêtes dans la zone de liste Types de fichier.

4 Cliquez deux fois sur une requête dans la liste de fichiers.

5 Modifiez l�image de la requête en fonction de vos besoins.

6 Cliquez sur Fichier, Enregistrer et saisissez un nom dans la zone Nom defichier.

Ouverture et exécution d�une requête QBECompte tenu de l�évolution de votre base de données (augmentation oumodification des informations), vous serez sûrement amené à exécuter lamême requête plusieurs fois. Une fois la ou les requêtes créées etenregistrées, rien ne vous empêche de les ouvrir et de les exécuter pourobtenir des informations mises à jour. Après l�exécution d�une requête,Paradox affiche une table réponse ou modifie les données d�une table, enfonction de la nature de la requête. Pour plus d�informations, reportez-vous àla rubrique Affichage des résultats d�une requête à la page 368.

Pour ouvrir une requête

1 Cliquez sur Fichier, Ouvrir, Requête.

2 Choisissez le dossier où se trouve la requête dans la zone de listeRechercher dans.

3 Cliquez sur la requête dans la liste de fichiers.

4 Cliquez sur le bouton Ouvrir.

Pour exécuter une requête

� Cliquez sur Requête, Exécuter la requête.

Exemple de création d�une requête QBE simplePour créer une requête simple permettant d�obtenir la liste des noms et desnuméros de téléphone de vos clients, procédez comme suit. Cet exemplerepose sur la table CLIENTS.DB située dans le répertoire Exemple.

Interrogation de votre base de données 355

1 Choisissez Exemple dans la zone de liste de la fenêtre Projet.

2 Cliquez sur Fichier, Nouveau, Requête.

3 Cliquez deux fois sur la table CLIENTS.DB.

4 Cochez la case en regard du champ Nom.

5 Cochez la case en regard du champ Téléphone.

6 Cliquez sur Requête, Exécuter la requête.

Paradox affiche les données dans une table réponse.

Opérateurs de requête QBEDans Paradox, il existe huit types d�opérateurs de requête.

Symboles réservés

Opérateur Signification

Sélection Affiche les valeurs uniques de champ dans une table réponse.

SélectionPlus Affiche les valeurs de champ comprenant des doublons dans une tableréponse.

SélectionDécroissante Affiche le champ dont les valeurs sont triées en ordre décroissant.

SélectionGrouperpar Spécifie un groupe pour les opérateurs de groupe.

Mots réservés

Opérateur Signification

CALC Calcule un nouveau champ.

INSÉRER Insère des enregistrements avec des valeurs spécifiées.

SUPPRIMER Supprime les enregistrements comportant des valeurs spécifiées.

REMPLACERPAR Modifie des valeurs spécifiées dans les champs.

ENSEMBLE Définit des enregistrements spécifiques comme ensemble de comparaison.

Opérateurs arithmétiques

Opérateur Signification

+ Addition ou concaténation d�une chaîne alphanumérique

- Soustraction

* Multiplication

356 Paradox 9 : Chapitre 7

/ Division

( ) Groupe des opérations arithmétiques

Opérateurs de comparaison

Opérateur Signification

= égal à (facultatif)

> supérieur à

< inférieur à

>= supérieur ou égal à

<= inférieur ou égal à

Opérateurs génériques

Opérateur Signification

.. Représente n�importe quelle série de caractères.

@ Représente n�importe quel caractère.

Opérateurs spéciaux

Opérateur Signification

COMME Similaire

SAUF Différent de

BLANC Aucune valeur

CEJOUR Date du jour

OU Spécifie des conditions OU dans un champ.

, (virgule) Spécifie des conditions ET dans un champ.

EN Spécifie le nom d�un champ d�une table réponse.

! (point d�exclamation) Affiche toutes les valeurs d�un champ, qu�il y ait ou non correspondance

Opérateurs récapitulatifs

Opérateur Signification

MOYENNE Calcule la moyenne des valeurs d�un groupe.

NOMBRE Compte le nombre de valeurs d�un groupe.

MAX Détermine la valeur maximale d�un groupe.

Interrogation de votre base de données 357

MIN Détermine la valeur minimale d�un groupe.

SOMME Cumule les valeurs d�un groupe.

TOUTES Calcule le récapitulatif en fonction de toutes les valeurs d�un groupe, ycompris les doublons.

UNIQUE Calcule le récapitulatif en fonction des valeurs uniques d�un groupe.

Opérateurs de comparaison d�ensembles

Opérateur Signification

RIENQUE Affiche les enregistrements qui correspondent uniquement aux membresde l�ensemble défini.

AUCUN Affiche les enregistrements qui ne correspondent à aucun membre del�ensemble défini.

CHAQUE Affiche les enregistrements qui correspondent à chacun des membres del�ensemble défini.

IDENTIQUE Affiche les enregistrements qui correspondent à tous les membres del�ensemble défini uniquement.

Priorité des opérateurs dans les requêtes QBEDans les requêtes, Paradox évalue les opérateurs dans un ordre bienparticulier.

Dans les expressions contenant plusieurs opérateurs, l�évaluation s�effectuedans l�ordre indiqué dans le tableau ci-dessous :

Priorité Opérateur

1 ()

2 * /

3 + -

4 = <> < <= > >=

5 SAUF

6 OU

7 , (virgule)

Toute expression entre parenthèses est évaluée en premier, et les niveauxintérieurs de parenthèses sont évalués avant les niveaux extérieurs. Lorsquedeux opérateurs de priorité égale ou plus se trouvent dans une seuleexpression, ils sont évalués de gauche à droite.

358 Paradox 9 : Chapitre 7

Règles de saisie des nombres dans les requêtes QBELorsque vous entrez un nombre dans un champ numérique (champ Paradoxde type numérique, entier court, entier long, monétaire ou champ dBASE detype numérique ou flottant) d�une image de requête, veillez à ne pas inclure :

� le signe Franc ;

� les parenthèses pour représenter une valeur négative ;

� les séparateurs de milliers (virgule ou point) lorsque vous définissez uneconcordance de modèle à l�aide des opérateurs génériques .. ou @. Pourplus d�informations, reportez-vous à la rubrique Utilisation des caractèresgénériques dans un modèle à la page 383.

En revanche, précisez bien :

� les séparateurs décimaux (le point selon la norme américaine et la virguleselon la norme internationale) ;

� le signe moins pour indiquer une valeur négative ;

� les séparateurs de milliers lorsque vous entrez un critère de sélection detype numérique pour une correspondance exacte.

Paradox détermine si une virgule ou un point est un séparateur décimal ou demilliers en fonction tout d�abord des conventions utilisées (américaines ouinternationales) et ensuite de la position ainsi que du contexte du symbole. Ilrisque d�y avoir des confusions car une virgule peut également représenterl�opérateur ET de Paradox (symbolisé par une virgule) et un point peut fairepartie du caractère générique .. de Paradox (symbolisé par deux pointsd�affilée).

Si la signification d�une virgule ou d�un point est ambiguë, utilisez desguillemets ou des espaces pour bien faire comprendre à Paradox de quoi ils�agit. La virgule et le point ne sont pas reconnus comme séparateurs demilliers lorsque vous définissez une concordance de modèle à l�aide desopérateurs génériques .. ou @ ; il est donc recommandé de ne pas entrer deséparateurs de milliers dans un modèle numérique utilisant les opérateurs ..ou @.

Si vous utilisez le format numérique américain,

Paradox considère qu�un point unique dans un champ est un séparateurdécimal.

Paradox considère que deux points à la suite (..) représentent l�opérateurgénérique ..

Interrogation de votre base de données 359

Si Paradox rencontre trois points à la suite dans un champ numérique, ilconsidère qu�il s�agit de l�opérateur générique .. suivi du séparateur décimal.Pour que Paradox interprète le premier point comme le séparateur décimal,placez-le entre guillemets.

Une virgule est considérée comme un séparateur de milliers si vousdéfinissez une correspondance exacte et si la virgule est correctementpositionnée. Pour que Paradox interprète une virgule comme l�opérateur ETdans des contextes ambigus, ajoutez un espace ou tout autre caractère nonnumérique (à l�exception de @ ou du point) après la virgule ET. Vous pouvezutiliser un opérateur de comparaison, par exemple.

Si vous utilisez le format numérique international

Paradox considère que la première virgule d�un nombre contenu dans unchamp numérique est un séparateur décimal.

Il considère qu�une virgule suivie d�un espace ou de tout autre caractère nonnumérique (à l�exception de @ ou du point) est l�opérateur ET dans unchamp numérique.

Il interprète un point comme un séparateur de milliers dans un champnumérique si vous spécifiez une correspondance exacte et que le pointoccupe une position correcte dans le critère de sélection.

Utilisation de mots ou de symboles réservés dans des critères desélectionSi, dans une image de requête QBE, vous voulez spécifier une valeuralphanumérique contenant un point ou une virgule ou encore un mot réservéParadox, placez cette valeur entre guillemets. Paradox interprète alors lescaractères entre guillemets comme une valeur et ne leur donne pas unesignification particulière.

Si la valeur contient elle-même des guillemets, faites-les précéder d�unebarre oblique inversée (\) :

� Thomas E. \«Ned\» Lawrence

Si la valeur contient déjà une barre oblique inversée, faites précéder cettedernière d�une autre barre oblique inversée (\\).

Vous n�avez pas besoin de placer entre guillemets les espaces contenus dansune valeur. En revanche, vous devez en ajouter pour tous les autressymboles et opérateurs dotés d�une signification particulière dans Paradox,tels que le point, l�astérisque et la virgule.

360 Paradox 9 : Chapitre 7

Choix des tables pour une requête QBELibre à vous de créer une requête simple en fonction d�une seule et uniquetable ou une requête plus complexe basée sur plusieurs tables (24 aumaximum). Pour pouvoir interroger plusieurs tables, vous devez tout d�abordles lier par des champs communs.

Requêtes multi-tables

Les informations concernant une personne, un lieu ou un article sontsouvent contenues dans plusieurs tables. Pour les combiner, vous pouvezinterroger toutes les tables requises en même temps.

Les requêtes multi-tables sont semblables aux requêtes simples, si ce n�estque :

� vous devez remplir une image de requête distincte pour chaque table ;

� vous devez utiliser des éléments d�exemple pour identifier les champscommuns à toutes les tables. En d�autres termes, vous devez lier lestables à l�aide des champs qu�elles ont en commun pour obtenir desrésultats.

Établissement de liens entre les tables d�une requête multi-table

Il arrive parfois de retrouver un même champ dans au moins trois des tablesà interroger. Dans ce cas, utilisez le même élément d�exemple pour liertoutes les tables.

Le plus souvent, les tables ont divers champs en commun. Par exemple, latable 1 a un champ commun avec la table 2, la table 2 avec la table 3 mais lestables 1 et 3 n�ont aucun champ commun. Vous devez utiliser un élémentd�exemple unique pour chaque lien. Par exemple, utilisez l�élément abc pourlier les tables 1 et 2 et xyz pour les tables 2 et 3.

Utilisation d�une conception multi-table pour lier les tables

Paradox vous permet de lier automatiquement les tables d�une requête àl�aide d�un document de conception multi-table lié déjà créé. Si vous avezdéjà défini des liens entre des tables pour les besoins de ce document,utilisez ce dernier comme base de votre requête. Paradox inclut les tablesutilisées dans le document dans la fenêtre Requête et place les élémentsd�exemple pour joindre les tables en fonction du modèle relationnel dudocument. Pour plus d�informations, reportez-vous à la rubrique Créationd�une requête QBE à partir d�un modèle relationnel, d�une fiche ou d�unétat à la page 354.

Interrogation de votre base de données 361

Ajout de tables dans une requêteVous pouvez ouvrir une requête avec une ou plusieurs tables et ajouter destables à cette requête.

Pour ajouter des tables à une requête

1 Ouvrez la requête à laquelle vous voulez ajouter des tables.

2 Cliquez sur Édition, Insérer une table.

3 Sélectionnez la ou les tables à ajouter à la requête.

Pour sélectionner plusieurs tables, maintenez la touche CTRL enfoncéetout en cliquant sur le nom de chaque table.

4 Cliquez sur Ouvrir.

� Chaque fois que vous créez une requête en utilisant plusieurs tables, vousdevez lier les tables entre elles. Pour plus d�informations, reportez-vous àla rubrique Établissement de liens entre les tables d�une requête QBE à lapage 362.

Retrait d�une table d�une requêteVous pouvez ouvrir une requête avec une ou plusieurs tables et retirercertaines d�entre elles de la requête.

Pour retirer des tables d�une requête

1 Ouvrez la requête dont vous voulez retirer des tables.

2 Cliquez sur Édition, Retirer la table.

3 Sélectionnez la ou les tables que vous voulez retirer dans la liste Table àretirer.

Pour sélectionner plusieurs tables, maintenez la touche CTRL enfoncéetout en cliquant sur le nom de chaque table.

Établissement de liens entre les tables d�une requête QBELorsque vous interrogez plusieurs tables, utilisez des éléments d�exemplepour les lier à l�aide de champs communs. Les champs servant de lienscontiennent le même type d�information dans chaque table. Par exemple, lestables Clients et Commande contiennent, toutes deux, un champ No Client.Ces deux champs présentant des informations compatibles, vous pouvez lesutiliser pour lier les tables.

362 Paradox 9 : Chapitre 7

Les champs servant de liens n�ont pas besoin de porter le même nom maisdoivent répondre aux critères suivants :

� Ils doivent être de type compatible. Par exemple, vous ne pouvez pas lierun champ numérique d�une table à un champ alphanumérique d�une autre.

� Ils ne doivent pas être de type mémo, mémo formaté, graphique, OLE oubinaire.

Les éléments d�exemple qui servent à joindre les tables peuvent êtren�importe quelle combinaison de lettres et de nombres, à condition d�êtreunique. Si vous utilisez la commande Joindre pour lier vos tables, Paradoxaffecte automatiquement un élément d�exemple, sous la forme de « lien1 »,« lien2 », etc. Si vous liez les tables à l�aide d�un élément d�exemple, vousdevez cocher l�un des champs d�une des tables pour faire apparaître celui-cidans la table réponse.

Pour lier les tables à l�aide d�éléments d�exemple

1 Cliquez sur le premier champ qui servira de lien.

2 Appuyez sur F5 et saisissez les caractères d�exemple dans le champ.

Ces derniers doivent apparaître en rouge.

3 Cliquez sur le prochain champ qui servira de lien.

4 Appuyez sur F5 et saisissez le même élément d�exemple que dans l�étape2.

5 Si vous devez lier d�autres champs, répétez les étapes 3 et 4 en utilisant lemême élément d�exemple.

Pour lier les tables à l�aide de la commande Joindre

1 Cliquez sur le bouton Joindre les tables.

2 Cliquez sur le champ approprié de chaque image de requête.

� La commande Joindre ne vous permet de lier que deux tables à la fois.

Interrogation de votre base de données 363

Exemples de requête QBE multi-table

Exemple 1

Supposons que vous vouliez utiliser des tables exemples pour afficher le nomdes magasins d�articles de plongée ayant passé des commandes. La tableCommande affiche uniquement le numéro d�identification des clients, pas lenom des magasins. En revanche, cette information est contenue dans la tableClients. Vous devez donc utiliser des éléments d�exemple pour lier les tablesClients et Commande à l�aide du champ No Client pour extraire :

� les informations relatives aux commandes figurant dans la tableCommande ;

� le nom des magasins figurant dans la table Client et ayant passé descommandes.

La figure suivante montre comment utiliser un élément d�exemple pour lierdeux tables :

Exemple 2

Supposons que vous vouliez savoir quels magasins d�articles de plongéesitués en dehors de la Californie ont commandé des articles dont le prix devente est compris entre 500 F et 1 500 F et demandé que ces articles leursoient livrés via Federal Express ou Emery.

La figure suivante montre comment utiliser deux éléments d�exemple pourlier trois tables.

364 Paradox 9 : Chapitre 7

Sélection des champs à afficher dans une requêteQBE

Après avoir sélectionné les tables à interroger, indiquez les champs à afficherdans la table réponse. Chacun des champs d�une image de requête comporteune case à cocher. La colonne la plus à gauche en dessous du nom de la tablecomporte également une case à cocher. Pour inclure un champ dans la tableréponse de la requête, cochez la case de ce champ. Lorsque vous cliquez àl�aide du bouton droit de la souris sur la case à cocher d�un champ, lesdifférents types de sélection que vous pouvez utiliser apparaissent.

Type de sélection Propriétés

Sélection Affiche toutes les valeurs uniques du champ sélectionné dans l�ordrecroissant (de A à Z ou 0 à 9). Utilisé conjointement avec un opérateurrécapitulatif, ce symbole indique que les enregistrements doivent êtredivisés en différents groupes en fonction des valeurs du champsélectionné.

SélectionPlus Affiche toutes les valeurs d�un champ, y compris les doublons, et ne lestrie pas. Les valeurs s�inscrivent dans la table réponse dans l�ordre oùelles apparaissent dans la table interrogée.

SélectionDécroissante Affiche les valeurs uniques triées dans l�ordre décroissant (de Z à A et de9 à 0).

SélectionGrouperpar Spécifie le groupe d�enregistrements à utiliser dans une requêted�ensemble. Un champ sélectionné par Grouperpar n�apparaît pas dansla table réponse.

Interrogation de votre base de données 365

� Lorsque vous utilisez SélectionPlus dans un champ de l�image de requête,tous les mots-clés Sélection et SélectionDécroissante placés dans lesautres champs sont annulés. En effet, Paradox ne peut pas à la fois trier etexclure les doublons (comme le lui commandent Sélection etSélectionDécroissante) et ne pas trier et inclure les doublons (commeSélectionPlus le lui commande).

� Bien que vous puissiez placer les mots-clés Sélection etSélectionDécroissante dans des champs BLOB, Paradox les traite commedes mots-clés SélectionPlus. Paradox ne peut ni trier ni distinguer lesvaleurs uniques et les doublons dans ces types de champ.

Sélection des champs d�une requête QBEPour faire apparaître un champ dans la table réponse, vous devez placer unecoche d�un type ou d�un autre dans la case à cocher correspondant à cechamp.

Pour placer la sélection par défaut

� Activez la case à cocher du champ.

Pour placer une coche de type SélectionPlus,SélectionDécroissante ou Grouperpar

� Cliquez sur la case à cocher du champ avec le bouton droit de la souris etchoisissez le type de sélection voulu dans le menu.

Pour sélectionner tous les champs d�une table

� Activez la case à cocher située dans la colonne la plus à gauche de l�imagede requête (sous le nom de la table).

366 Paradox 9 : Chapitre 7

Sélection des champsà l�aide du symboleSélection

Utilisation des images de requête QBEUne fois les tables à interroger sélectionnées, Paradox ouvre la fenêtreRequête avec l�image de requête de chacune des tables sélectionnées.L�image de requête comporte les mêmes champs, dans le même ordre, que latable qu�elle représente, mais sans aucune donnée. Si vous avez modifié lespropriétés d�une table (par exemple, l�ordre des champs ou la présentation dutexte des en-têtes), l�image de requête ne répercute pas ces modifications.

La saisie des données et les déplacements entre les champs d�une image derequête se font exactement de la même manière que dans une table en modeÉdition. Par exemple :

Pour... Effectuez cette opération...

Ajouter une ligne Appuyez sur la touche INSER (ne fonctionne que si vous avez modifié laligne courante).

Supprimer une ligne Appuyez sur CTRL+SUPPR.

Activer la Vue champ Appuyez sur F2.

Pour disposer les images de requête en cascade ou en mosaïque

Paradox vous permet d�afficher les différentes images de requête d�unefenêtre Requête de deux manières.

� Cliquez sur Affichage, Tables en cascade pour disposer les images derequête en cascade dans la fenêtre Requête.

� Cliquez sur Affichage, Tables en mosaïque pour disposer les images derequête en mosaïque verticale dans la fenêtre Requête (valeur par défaut).

Déplacement des champs dans une image de requête QBEVous pouvez faire passer un champ vers un nouvel emplacement de l�imagede requête ou à la fin de l�image de requête. La position des champs dansl�image de requête n�influe pas sur l�ordre de tri de la table réponse.

Pour déplacer un champ dans une image de requête

� Faites glisser un en-tête de colonne vers le nouvel emplacement del�image de requête.

Pour faire passer un champ à la fin d�une image de requête

� Sélectionnez la colonne à déplacer et appuyez sur Ctrl+R.

Interrogation de votre base de données 367

Affichage des résultats d�une requêteLors de l�exécution, la plupart des requêtes affichent une table réponse quiest placée dans votre répertoire privé. Néanmoins, si votre requête utiliseles mots réservés INSÉRER, SUPPRIMER ou REMPLACERPAR, Paradoxn�affiche pas de table réponse. À la place, il modifie les données de l�une destables représentées dans la requête et crée une table Inséré, Supprimé ouModifié. Si vous avez activé l�option Requêtes rapides de la page QBE de laboîte de dialogue Préférences, Paradox ne créera pas de table INSÉRÉ,SUPPRIMÉ et MODIFIÉ.

Vue de requête reliée

Rien ne vous empêche de modifier la table réponse, mais les modificationsapportées ne se répercutent pas dans les tables d�origine interrogées. Si vousvoulez créer une table réponse capable de mettre à jour la table d�origine,lors de sa modification, vous devez créer une vue de requête reliée à la placed�une table réponse. Pour plus d�informations, reportez-vous à la rubriqueVue de requête reliée à la page 372.

Table réponseUne requête Paradox qui extrait des données ou effectue des calculs vouspropose une table réponse. La table réponse est une table provisoire queParadox stocke dans votre répertoire privé et remplace à chaque exécutiond�une requête. Paradox supprime la table réponse dès que vous quittez leprogramme. Pour conserver la table réponse, renommez-la ou enregistrez-ladans un autre répertoire.

Modification de la table réponse et attribution d�un nouveau nomSi vous en éprouvez le besoin, modifiez les propriétés de la table réponseavant d�exécuter la requête et renommez-la après l�exécution d�une requête.Par défaut, Paradox appelle le résultat d�une requête REPONSE.DB et lestocke dans votre répertoire privé. Si vous renommez cette table, Paradox nela traite plus comme une table temporaire et ne la supprime pas lorsque vouschangez de répertoire de travail ou quittez le programme.

La structure de la table réponse reproduit fidèlement celle de l�exemple derequête : le champ le plus à gauche coché dans la première image devient lechamp le plus à gauche de la table réponse, etc. Libre à vous de modifierl�ordre des champs en fonction de vos besoins particuliers.

Pour modifier les propriétés de la table réponse

1 Cliquez sur Requête, Propriétés.

2 Cliquez sur l�onglet Réponse.

368 Paradox 9 : Chapitre 7

3 Choisissez l�une des options suivantes :

� Activez le bouton Vue de requête reliée pour créer une vue de requêtereliée à la place d�une table réponse.

� Activez le bouton dBASE pour générer une table réponse dans leformat d�une table dBASE.

� Saisissez le nouveau nom et le nouvel emplacement de votre tableréponse dans la zone Nom de table.

Pour obtenir une description complète des propriétés d�une requête,reportez-vous à la rubrique Définition des propriétés d�une requête QBE àla page 399.

Pour renommer la table réponse

1 Exécutez votre requête.

2 Cliquez sur Format, Renommer la table.

3 Entrez le nouveau nom de la table

Pour enregistrer la table dans un dossier différent de votre dossier privé,entrez le chemin complet.

Pour modifier l�ordre de tri de la table réponse

1 Cliquez sur Requête, Propriétés.

2 Cliquez sur l�onglet Structure.

3 Cliquez sur le nom du champ à déplacer dans la liste Champs réponse.

4 Cliquez sur les boutons FLÈCHE HAUT ou FLÈCHE BAS pour déplacerle champ.

� Les paramètres configurés à l�aide de la commande Propriétés de larequête sont enregistrés avec la requête.

Interrogation de votre base de données 369

Attribution de nouveaux noms aux champs de la table réponseLorsque vous activez la case à cocher en regard d�un champ d�une image derequête, Paradox affiche ce champ dans la table réponse avec le nom qu�ilportait dans la table d�origine. Si la table réponse contient des champs demême nom issus de tables différentes, Paradox donne au premier champ sonnom exact et numérote ensuite les doublons, les appelant respectivementNom_1, Nom_2, etc. Vous pouvez utiliser l�opérateur EN pour modifier lenom des champs de la table réponse. L�opérateur EN modifie les noms dechamp uniquement dans la table réponse. Il ne modifie pas les noms deschamps dans les tables faisant l�objet de votre requête.

Lors de l�utilisation de l�opérateur CALC, Paradox crée un nouveau champdans la table réponse où figurent les résultats d�un calcul. Paradox placeautomatiquement le nouveau champ calculé à la fin de la table réponse et luidonne le nom du calcul. Vous pouvez définir un nouveau nom à l�aide del�opérateur EN.

Pour définir un autre nom

1 Cliquez sur le champ de l�image de requête auquel vous voulez attribuerun nouveau nom.

2 Tapez EN, suivi d�un espace.

3 Entrez le nom du champ qui doit apparaître dans la table réponse.

Pour définir un nouveau nom à l�aide d�un critère de sélection

� Entrez le critère de sélection suivi d�une virgule ( , ), puis tapez EN, suivid�un espace et suivi du nouveau nom de champ.

Tri de la table réponseVous pouvez modifier l�ordre de tri de la table réponse avant d�exécuter votrerequête. Par défaut, Paradox effectue tout d�abord le tri en fonction du chample plus à gauche de la table réponse, puis du champ immédiatement adjacent,etc. Vous pouvez définir la table réponse de façon à ce que le tri se fasse enfonction de n�importe quel champ sans pour autant changer l�ordred�apparition.

Pour trier la table réponse

1 Après avoir ouvert la requête, cliquez sur Requête, Propriétés.

2 Cliquez sur l�onglet Tri.

370 Paradox 9 : Chapitre 7

3 À l�aide du bouton FLÈCHE DROITE, déplacez les champs de la listeChamps réponse vers la liste Ordre de tri. Ajoutez les champs dans l�ordreselon lequel vous souhaitez trier la table réponse.

4 Pour supprimer un champ de la liste Ordre de tri, cliquez sur son nompuis cliquez sur le bouton FLÈCHE GAUCHE.

5 Pour modifier l�ordre des champs dans la liste Ordre de tri, sélectionnezun champ et utilisez les boutons FLÈCHE HAUT et FLÈCHE BAS pourdéplacer le champ vers le haut ou vers le bas de la liste.

� Étant donné que le tri est une propriété de la requête, les paramètres detri sont enregistrés avec la requête et s�appliquent uniquement à cetterequête.

Tri des valeurs de la table réponse en ordre décroissantPar défaut, Paradox trie les enregistrements de la table Réponse dans l�ordrecroissant en fonction des valeurs figurant dans les champs activés, de gaucheà droite. C�est-à-dire qu�il commence à trier les valeurs en fonction du chample plus à gauche, puis en fonction du champ suivant, etc.

Voici comment l�ordre de tri s�applique aux différents types de champ :

Type de champ Exemples de valeurs triées (de la plus faibleà la plus élevée)

Numérique 0 à 10

Alphanumérique A, a à Z, z

Date 1/1/97 au 31/12/97

Monétaire 1,99 F à 99,99 F

Mémo (non trié)

Graphique (non applicable)

Horaire 00:00:01 à 23:59:59

Logique Faux à VraiF à VNon à Oui0 à 1

Paradox trie les nombres et les autres caractères non alphabétiques enfonction de l�ordre de tri installé. Le 10 alphanumérique apparaît avant le 2même s�il est supérieur numériquement.

Interrogation de votre base de données 371

Pour définir un ordre de tri décroissant des valeurs

� Cliquez avec le bouton droit de la souris sur la case à cochercorrespondant au champ approprié et choisissez SélectionDécroissante.

� Dans les champs BLOB et dans les champs mémo dBASE, Paradox traiteles options Sélection et SélectionDécroissante comme s�il s�agissait deSélectionPlus. Il est impossible d�utiliser l�option Grouperpar dans leschamps BLOB ou mémo dBASE.

Vue de requête reliéeLorsque vous créez une requête Paradox qui génère une table réponse, cettedernière ne maintient pas de relation avec la table d�origine qui a fait l�objetde votre requête. Les modifications apportées à REPONSE.DB ne serépercutent pas dans la table d�origine. Si vous voulez reporter cesmodifications dans la table d�origine, créez une vue de requête reliée.

Dans ce cas, Paradox génère un jeu de réponses qui est une vue limitée etdirecte de la table interrogée. La vue est limitée par les critères de sélectionspécifiés dans la requête. En modifiant la vue de requête reliée, vousmodifiez réellement la table qui a fait l�objet de la requête. Grâce à cette vuedirecte limitée, vous pouvez ne consulter que les données qui vousintéressent.

Les requêtes multi-tables QBE ne sont pas en mesure de renvoyer des vuesde requêtes reliées. En revanche, les requêtes SQL (Structured QueryLanguage) portant sur trois tables maximum le sont.

� Ce n�est pas parce que vous demandez une vue de requête reliée dans lapage Réponse de la boîte de dialogue Propriétés de la requête que Paradoxva nécessairement pouvoir en générer une. Il ne le fera pas, en effet, sivous n�avez pas utilisé SélectionPlus puisque les options Sélection etSélectionDécroissante donnent lieu à un tri. Paradox ne générera pasdavantage de vue de requête reliée si vous avez exécuté une requêteINSÉRER, SUPPRIMER, REMPLACERPAR ou CALC.

� S�il ne parvient pas à relier une vue de requête, Paradox génère tout demême la vue, et non une table réponse, mais affiche tous les champs enlecture seule. Vous verrez toujours les mises à jour qu�apportent lesautres utilisateurs à la table, à condition qu�il s�agisse d�une table Paradoxet que le taux de rafraîchissement ne soit pas de 0.

372 Paradox 9 : Chapitre 7

� Vous obtiendrez de meilleures performances sur des requêtes monotablessi vous utilisez une vue de requête reliée. Il vous appartient de définir lesoptions par défaut de votre requête pour que soient créées des vues derequêtes reliées. Pour plus d�informations, reportez-vous à la rubriqueModification de la table réponse et attribution d�un nouveau nom à la page368.

Règles des vues de requêtes reliéesToutes les requêtes ne renvoient pas de vue de requête reliée. Une vue derequête reliée doit satisfaire les conditions suivantes :

� Vous ne pouvez créer une vue de requête reliée que dans les requêtesmonotables.

� Vous devez utiliser l�opérateur SélectionPlus. La vue de requête reliée nepeut pas être triée ; par conséquent, les opérateurs Sélection,SélectionDécroissante et Grouperpar ne sont pas autorisés.

� Vous ne pouvez utiliser ni le bouton Trier table réponse ni les paramètresde tri sur une vue de requête reliée.

� Vous ne pouvez pas utiliser de champs calculés dans une vue de requêtereliée.

� Les requêtes multilignes OU ne sont pas autorisées.

� Les critères de sélection définis dans la requête doivent pouvoirs�exprimer sous forme de filtre, ce qui exclut les structures de requêtesuivantes :

� Références à un champ dans le critère de sélection d�un autre champ.

� Références à des agrégats dans le critère de sélection.

� Utilisation de l�opérateur générique @.

� Utilisation de l�opérateur générique .. avant les critères de sélection.

� L�utilisation de l�opérateur générique .. après un critère de sélection estpossible, comme par exemple Canada.., et produit un jeu de réponses nedistinguant pas les majuscules des minuscules.

Création d�une vue de requête reliéeVous pouvez créer une vue de requête reliée sur n�importe quelle requêtemonotable QBE à condition qu�elle respecte les règles présentées à larubrique Règles des vues de requêtes reliées à la page 373.

Interrogation de votre base de données 373

Pour créer une vue de requête reliée

1 Ouvrez la requête pour laquelle vous voulez créer une vue de requêtereliée.

2 Cliquez sur Requête, Propriétés.

3 Cliquez sur l�onglet Réponse.

4 Activez le bouton Vue de requête reliée et cliquez sur OK.

� N�oubliez pas que tous les champs sélectionnés dans l�image de requêtedoivent l�être à l�aide de l�opérateur SélectionPlus. Pour changerd�opérateur de sélection, cliquez sur la case à cocher avec le bouton droitde la souris et choisissez SélectionPlus dans la liste.

Modification d�une vue de requête reliéeVous pouvez modifier les données d�une vue de requête reliée comme s�ils�agissait de n�importe quelle autre table Paradox. Lorsque Paradox crée unevue de requête reliée, vous voyez apparaître les mots Vue de requête et lenom du fichier .QBE qui en est à l�origine (si le fichier .QBE a été enregistré)dans la barre de titre de la vue de requête reliée. Toutes les modificationsapportées aux données de la vue de requête reliée se répercutentimmédiatement dans la table d�origine.

Pour modifier la vue de requête reliée

1 Cliquez sur Affichage, Modifier les données.

2 Modifiez les données de la vue reliée comme bon vous semble.

� Vous pouvez utiliser CTRL+SUPPR pour supprimer un enregistrementde la vue de requête reliée ; cette commande permet également desupprimer l�enregistrement de la table qui a fait l�objet de votre requête. Ilest impossible d�annuler les suppressions effectuées dans les tablesParadox.

� Pour plus d�informations sur la modification des données d�une table,reportez-vous à la rubrique Modification des données à la page 168.

374 Paradox 9 : Chapitre 7

Enregistrement d�une requête reliéeVous pouvez enregistrer une vue de requête reliée de même que s�ils�agissait d�une requête générant une table réponse. À chaque ouverture etexécution de la requête, Paradox génère une nouvelle vue de requête reliéedes données de la table.

La vue de requête reliée est une vue provisoire de la table interrogée. Vouspouvez enregistrer cette vue de requête en tant que nouvelle table. Lesmodifications apportées après l�enregistrement de la vue de requête reliée nese répercutent plus dans la table de votre requête.

Pour enregistrer une requête reliée

1 Cliquez sur Fichier, Enregistrer sous.

2 Choisissez le dossier où vous voulez enregistrer la vue de requête reliéedans la zone de liste Enregistrer dans.

3 Entrez le nom que vous voulez donner à la requête reliée dans la zoneNom de fichier.

Pour enregistrer une vue de requête reliée en tant que tableréponse

1 Exécutez la requête reliée.

2 Cliquez sur Fichier, Enregistrer.

La vue de requête reliée est convertie en table réponse standard et placéedans votre répertoire privé.

Pour enregistrer une vue de requête reliée en tant que tableParadox

1 Exécutez la requête reliée.

2 Cliquez sur Fichier, Enregistrer sous.

3 Choisissez le dossier où vous voulez enregistrer la vue de requête reliéedans la zone de liste Enregistrer dans.

4 Entrez le nom que vous voulez donner à la vue de requête reliée dans lazone Nom de fichier.

Interrogation de votre base de données 375

Définition des critères de sélection d�une requêteEn général, vous définissez des requêtes de façon à extraire desenregistrements répondant à certains critères. Pour définir ces critères, ilfaut utiliser les opérateurs de requête.

Les critères de sélection vous permettent de vérifier les types decorrespondance suivants :

� Correspondances exactes

� Concordances avec une fourchette de valeurs : opérateurs de comparaison

� Correspondances inexactes : opérateur COMME

� Non-correspondances : opérateur SAUF

� Champs vides : opérateur BLANC

� Date actuelle : opérateur CEJOUR

� Modèles de caractères : opérateurs génériques

Si nécessaire, utilisez les opérateurs ET et OU pour indiquer qu�unenregistrement doit répondre à tous les critères de sélection définis ou à l�und�entre eux uniquement.

Compréhension des critères de sélectionLes critères de sélection permettent de restreindre le domaine de recherchedes informations que vous voulez extraire à l�aide d�une requête. Vousdéfinissez le type d�information que vous recherchez en utilisant descombinaisons d�opérateurs, de mots réservés et de symboles. Certainesrègles sont à respecter lors de la saisie des critères de sélection et desformules de calcul dans les images de requête.

Vous pouvez entrer un critère de sélection dans un champ sans cocher lacase correspondante. Cochez cette case lorsque vous voulez faire apparaîtrele champ dans la table réponse. Ce n�est pas parce qu�un champ sert àsélectionner un enregistrement qu�il doit figurer dans la table réponse.

Définition de deux critères de sélection par champRien ne vous empêche d�entrer deux ou plusieurs critères de sélection dansle même champ d�une requête ; il suffit de les séparer par une virgule. Lavirgule se comporte comme l�opérateur ET et indique à Paradox que tous lescritères définis doivent être satisfaits pour qu�il y ait correspondance. Vouspouvez combiner des conditions ET et OU dans une même requête.

376 Paradox 9 : Chapitre 7

Pour rechercher une valeur contenant une virgule (comme Acme, Inc., parexemple), placez la valeur entre guillemets afin que Paradox n�interprète pasla virgule comme un opérateur ET. Par exemple, entrez Acme, Inc.

Dans certains cas, vous devez utiliser l�opérateur OU lorsque vous posez unequestion de type « et ». Par exemple, si vous voulez afficher tous lesenregistrements contenant CA et HI, entrez CA OU HI car aucunenregistrement ne contient ces deux valeurs.

Utilisation des opérateurs arithmétiques dans les requêtesQBE

Vous pouvez utiliser des expressions arithmétiques dans les champs de typenumérique, monétaire, horaire et date d�une requête.

Opérateur Signification

+ Addition ou concaténation de chaînes

- Soustraction

* Multiplication

/ Division

( ) Permet de grouper des expressions

Utilisez les parenthèses ( ) pour combiner et grouper des opérations et pourindiquer l�ordre d�exécution des calculs. Dans les expressions sansparenthèses, les multiplications et les divisions s�exécutent avant lesadditions et les soustractions. Les opérations dont le niveau de priorité estidentique se calculent de gauche à droite. Pour plus d�informations sur lapriorité des opérateurs, reportez-vous à la rubrique Priorité des opérateursdans les requêtes QBE à la page 358.

Les opérateurs arithmétiques sont particulièrement utiles avec lesopérateurs CEJOUR, CALC et les éléments d�exemple.

Vous pouvez utiliser des expressions arithmétiques avec des dates etl�opérateur CEJOUR pour :

� ajouter un nombre de jours à une date ;

� soustraire un nombre de jours d�une date ;

� soustraire une date d�une autre pour obtenir un nombre de jours.

Utilisez ce type d�opérateur pour créer des expressions arithmétiques avecdes valeurs de champ. Les opérateurs arithmétiques sont compatibles avecles champs numériques, autrement dit les champs Paradox de typenumérique, entier court, entier long, BCD, monétaire et les champs dBASEnumériques et flottants.

Interrogation de votre base de données 377

� Sachez que tous les types de champ Paradox ne prennent pas en chargeles opérateurs arithmétiques. Pour connaître la liste des types de champcompatibles, reportez-vous à la rubrique Types de champ Paradoxcompatibles avec les opérateurs arithmétiques dans la section Référencede l�aide en ligne.

Définition des correspondances dans les critères desélection

Paradox vous permet de créer des critères de sélection qui correspondent àune ou plusieurs valeurs particulières des tables interrogées. Vous pouvezétablir des correspondances avec des types de valeur ou des modèles decaractères.

Vous pouvez définir les types de correspondance suivants :

� Correspondances exactes

� Correspondances inexactes : opérateur COMME

� Concordances avec une fourchette de valeurs : opérateurs de comparaison

� Non-correspondances : opérateur SAUF

� Champs vides : opérateur BLANC

� Date actuelle : opérateur CEJOUR

� Modèles de caractères : opérateurs génériques

Définition des correspondances exactesVous pouvez définir un critère de sélection qui n�extrait que lesenregistrements comportant une valeur particulière dans un champ. Seulsles enregistrements ayant la valeur choisie s�afficheront dans la tableréponse. Les majuscules et les minuscules sont prises en compte lors de larecherche de correspondances exactes. Vous pouvez définir ce type decorrespondance pour tous les champs de votre choix. Entrez toutes lesvaleurs que vous voulez afficher (telles qu�elles apparaissent dans la table)dans les champs correspondants de l�image de requête.

Pour créer un critère de sélection en vue d�une correspondanceexacte

� Entrez la valeur recherchée dans le champ approprié de l�image derequête.

378 Paradox 9 : Chapitre 7

Restrictions quant au type de fichier

Vous ne pouvez pas définir de correspondances exactes pour les champsBLOB. Utilisez l�opérateur générique .. pour définir des critères de sélectiondans des champs mémo et mémo formaté. Pour plus d�informations,reportez-vous à la rubrique Utilisation des caractères génériques dans unmodèle à la page 383.

Les correspondances exactes de champs logiques incluent le V et le Fmajuscules ou minuscules et n�importe quelle combinaison de majuscules etde minuscules composant les mots Vrai et Faux.

Définition de correspondances inexactes : l�opérateur COMMEVous pouvez utiliser l�opérateur COMME dans une image de requête pourdétecter des correspondances inexactes de valeurs alphanumériques. Cetopérateur est particulièrement utile pour rechercher des valeurs entréessous des formes légèrement différentes ou contenant des erreurstypographiques ou des fautes d�orthographe.

Si la table réponse d�une requête ne contient pas tous les enregistrementsrecherchés, essayez d�utiliser l�opérateur COMME dans un ou plusieurschamps alphanumériques ; les enregistrements requis sont peut-êtreorthographiés différemment ou contiennent des erreurs typographiques oudes fautes d�orthographe.

Il existe deux règles générales à respecter pour obtenir une correspondanceà l�aide de l�opérateur COMME :

� Le premier caractère du modèle que vous définissez avec l�opérateurCOMME doit correspondre au premier caractère de l�enregistrementrecherché (bien que les majuscules et les minuscules ne soient pas prisesen compte). COMME Californie ne permet pas de rechercher Kalifornie.

� Pour obtenir un résultat, au moins la moitié ou les deux tiers descaractères du modèle doivent correspondre à ceux des valeurs àrechercher.

Pour utiliser l�opérateur COMME

� Saisissez COMME devant la valeur censée correspondre auxenregistrements voulus.

Restrictions quant au type de fichier

L�opérateur COMME n�est pas admis dans les champs mémo dBASE ou leschamps BLOB.

Interrogation de votre base de données 379

Bien que vous puissiez utiliser cet opérateur dans des champs de typenumérique et date, vous obtiendrez de meilleurs résultats avec lesopérateurs génériques .. et @.

Concordances avec une fourchette de valeurs : opérateurs decomparaison

Si vous voulez extraire des enregistrements correspondant à une fourchettede valeurs, utilisez les opérateurs de comparaison. Ces derniers vouspermettent de définir une fourchette de valeurs dans un seul champ. Vouspouvez combiner des opérateurs de comparaison pour définir une fourchettelimitée de valeurs.

Pour utiliser un opérateur de comparaison

� Saisissez-le devant la valeur qui sert à définir la fourchette.

Pour combiner des opérateurs de comparaison

� Séparez les critères de comparaison par une virgule.

Égal à* (=)

Exemples Correspondance

= 17/3/97 Uniquement 17 mars 1997

= Ralph Uniquement Ralph

= Faux Uniquement Faux

Supérieur à (>)

Exemples Correspondance

> 17/3/97 Dates postérieures au 17 mars 1997

> Ralph Rat, Rudolph, etc.

> Faux Vrai, V, Oui, 1

Inférieur à (<)

Exemples Correspondance

< 17/3/97 Dates antérieures au 17 mars 1997

< Ralph Charles, etc.

< Vrai Faux (par convention, Faux < Vrai)

380 Paradox 9 : Chapitre 7

Supérieur ou égal à (>=)

Exemples Correspondance

>= 17/3/97 le 17 mars 1997 et les dates postérieures

>= Ralph Ralph, Raphael, Randolph, etc.

Inférieur ou égal à (<=)

Exemples Correspondance

<= 17/3/97 le 17 mars et les dates antérieures

<= Ralph Ralph, Manny, Charles, etc.

*L�opérateur = est facultatif dans ces exemples car il est automatiquementutilisé lorsqu�aucun autre opérateur de comparaison n�est entré.

Exemple

La requête suivante extrait tous les stocks dont la valeur est supérieure à1000 F :

Restrictions quant au type de fichier

Vous pouvez utiliser les opérateurs de comparaison avec des valeursalphanumériques, toutes les valeurs logiques et numériques ainsi que lesdates. En revanche, ils sont incompatibles avec des valeurs BLOB ou mémodBASE ; ces dernières n�admettent que l�opérateur Égal à (=).

Définition des non-correspondances : l�opérateur SAUFL�opérateur SAUF détecte les enregistrements qui n�ont pas la valeurspécifiée dans un champ particulier. Vous pouvez entrer SAUF avant unevaleur exacte, une fourchette de valeurs, un modèle de caractères génériquesou tout autre critère de sélection. En fait, vous pouvez l�entrer avantn�importe quel critère de sélection admis dans Paradox.

Interrogation de votre base de données 381

Si le critère de sélection défini après SAUF est une correspondance exacte,vous devez entrer ce critère en respectant l�orthographe et la combinaisonmajuscules/minuscules utilisées dans la valeur correspondante affichée dansla table. Les valeurs des champs logiques font exception à cette règle. Lacasse de l�opérateur SAUF importe peu.

Pour utiliser l�opérateur SAUF

� Saisissez SAUF devant l�exemple de la valeur que vous ne voulez pas voir.

Détection des champs videsL�opérateur BLANC permet de rechercher les enregistrements qui necomportent aucune valeur dans un champ spécifié. Dans certains cas,l�absence de valeur constitue une information utile. Vous pouvez égalementrechercher un enregistrement contenant un champ videpour entrer uneinformation qui n�était pas disponible lors de la saisie de cet enregistrement.Vous pouvez combiner les opérateurs SAUF et BLANC pour rechercher tousles enregistrements comportant n�importe quelle valeur dans le champspécifié.

Rechercher des valeurs vides et laisser volontairement un champ vide dansune requête sont deux opérations totalement différentes. Lorsque vousutilisez l�opérateur BLANC, vous indiquez que vous ne voulez afficher queles enregistrements ne contenant aucune valeur dans le champ défini. Enrevanche, lorsque vous laissez le champ d�une image de requête vide,Paradox ignore totalement ce champ lors de la sélection desenregistrements.

Pour utiliser l�opérateur BLANC

� Saisissez BLANC dans le champ approprié de l�image de requête.

� Lorsque vous utilisez des opérateurs de comparaison ou que vous triezles champs, notez que ceux ne comportant aucune valeur n�ont pas lapriorité sur ceux en comportant une.

Détermination de la date actuelleDans les champs de type date d�une image de requête, l�opérateur CEJOURcorrespond toujours à la date actuelle. Assurez-vous que le calendrier devotre ordinateur est correctement configuré. Cet opérateur estparticulièrement utile pour classer les effets à payer et à recevoir lors del�utilisation des opérateurs arithmétiques Paradox.

382 Paradox 9 : Chapitre 7

Pour utiliser l�opérateur CEJOUR

� Saisissez CEJOUR dans le champ approprié de l�image de requête, encombinaison avec les opérateurs ou les valeurs arithmétiques voulues.

Par exemple :

Expression Signification

< CEJOUR Permet de rechercher les dates antérieures à la date actuelle.

< CEJOUR - 90 Permet de rechercher les dates antérieures à la date actuelle moins 90jours.

CEJOUR + 30 Permet de rechercher les dates ultérieures à la date actuelle plus 30jours.

Exemple

La requête suivante extrait les commandes passées le jour de l�exécution dela requête :

Utilisation des caractères génériques dans un modèleParadox met à votre dispositions deux opérateurs génériques pour établir descorrespondances avec des modèles de caractères dans les requêtes QBE.Bien que vous puissiez utiliser l�opérateur COMME pour rechercher descorrespondances inexactes dans des champs alphanumériques, lesopérateurs génériques offrent une plus grande souplesse.

Votre requête produira les mêmes résultats, quelle que soit la combinaisonde lettres majuscules et minuscules.

L�opérateur générique ..

L�opérateur générique .. permet de rechercher une chaîne comportant unnombre quelconque de caractères, y compris des espaces. L�opérateurgénérique .. distingue les majuscules des minuscules.

Interrogation de votre base de données 383

Modèle Correspondances

G.. Géant, gigantesque, Garonne

g..t Géante, garantie

..D Grand, Établissement Dupond

..e..s Philippe Edward Wilson, roses

7..5 7485, 70,005

6/../96 6/01/96, 6/12/96

L�opérateur générique @

L�opérateur générique @ permet de rechercher n�importe quel caractère(lettre ou chiffre). Vous pouvez utiliser autant de caractères @ que vousvoulez pour définir un modèle. L�opérateur générique @ peut correspondre àune lettre majuscule ou minuscule.

Si vous connaissez le nombre exact de caractères contenus dans les valeursrecherchées, vous pouvez utiliser le même nombre d�opérateurs @ plutôtque l�opérateur générique ..

Modèle Correspondances

m@@e Mike, mode, mise

m@@@@ Marin, Marie, matin

19@2 1922, 1972, 1992

Restrictions quant au type de fichier

Vous pouvez utiliser ce type d�opérateur dans n�importe quel champ àl�exception des champs binaires, graphiques, OLE ou logiques.

Si vous voulez extraire des valeurs d�un champ mémo ou mémo formaté,utilisez l�opérateur générique .. pour définir un critère de sélection demodèle. Saisir une correspondance exacte dans des champs de ce typerevient à saisir la valeur entière du mémo. Pour éviter cet effort inutile,Paradox en interdit l�utilisation. Vous pouvez aussi utiliser l�opérateurgénérique @ pour définir une correspondance de modèle dans les champs dece type, mais vous devez le combiner à l�opérateur générique ..

Utilisation des opérateurs génériques avec des nombresSi la signification d�une virgule ou d�un point n�est pas claire, utilisez desguillemets ou des espaces afin que Paradox interprète ces signescorrectement. Il peut y avoir ambiguïté lorsque vous utilisez ces signescomme séparateurs de milliers dans un modèle contenant les opérateurs ..

384 Paradox 9 : Chapitre 7

ou @ ; il est donc recommandé de ne pas entrer de séparateurs de milliersdans un modèle numérique utilisant les opérateurs .. ou @.

Si le séparateur décimal ou de milliers risque d�être interprété comme unopérateur générique .. ou @, utilisez des guillemets. Pour plusd�informations, reportez-vous à la rubrique Règles de saisie des nombresdans les requêtes QBE à la page 359.

En cas d�utilisation d�opérateurs génériques, Paradox ne prend en compteque les chiffres significatifs dans les champs numériques Paradox. Parexemple, @@@,@ correspond à 400,70 car le dernier 0 n�est pas significatif.En revanche, @@@,@@ ne correspond pas à 400,70 pour la même raison.

Exemple

La requête suivante extrait tout le stock dont le prix catalogue est de 18 F etquelques centimes.

Nombres dBASE

Des zéros sont ajoutés à droite du séparateur décimal dans les champsnumériques dBASE. Vous devez donc inclure l�opérateur générique .. à la findu modèle numérique, y compris lorsque vous essayez de faire correspondreles derniers chiffres. Par exemple, ..,95.. permet de rechercher toutes lesvaleurs numériques se terminant par ,95 alors que ..,95 ne le permet pas.

Utilisation des opérateurs génériques avec des datesLorsque vous entrez des dates en vue de correspondances exactes dans unerequête, vous pouvez utiliser tout format de date pris en charge par Paradox,y compris les formats personnalisés.

En revanche, lorsque vous utilisez un opérateur générique pour rechercherune date, vous devez définir un modèle conforme au format de date utilisédans l�utilitaire de configuration BDE et dans les Paramètres régionaux duPanneau de configuration de Windows. Les formats de date du BDE et duPanneau de configuration doivent correspondre.

Interrogation de votre base de données 385

Exemple

Si le format de date défini dans le BDE et le Panneau de configurationcorrespond à mm/jj/aa, vous pouvez rechercher les commandes passées aumois de mai 1995 en procédant comme suit :

Si vous utilisez un autre format, définissez-le dans la requête.

Utilisation de ET dans les critères de sélectionLorsque vous entrez des critères de sélection dans des champs distinctsd�une même ligne d�une image de requête, seuls les enregistrements de latable répondant à tous ces critères sont extraits. Ce type d�opération estappelé ET logique et implique le respect de tous les critères.

Vous pouvez également définir une opération ET logique dans un seulchamp, c�est-à-dire entrer plusieurs critères de sélection dans un mêmechamp en les séparant par une virgule.

La virgule se comporte comme un opérateur ET et indique que tous lescritères doivent être respectés pour qu�une correspondance soit établie.

� Si vous voulez saisir une virgule dans une requête sans que Paradoxl�interprète comme l�opérateur ET, faites-la figurer entre guillemets.

� Vous pouvez utiliser l�opérateur ET dans tous les types de champ, ycompris les champs BLOB. Chaque fois que vous interrogez un champmémo ou mémo formaté, vous devez utiliser l�opérateur générique .. avecles critères de sélection et les autres opérateurs définis.

Définition des conditions ET dans le même champLa virgule ( , ) se comporte comme un opérateur ET et indique à Paradox queles deux critères (ou tous) doivent être remplis pour qu�une correspondanceait lieu. Étant donné qu�une valeur d�un seul champ ne peut pas prendre deuxou plusieurs valeurs en même temps, les conditions ET exprimées dans unchamp peuvent être de toute nature sauf du type correspondance exacte,autrement dit deux ou plusieurs types de modèle ou deux fourchettes.

386 Paradox 9 : Chapitre 7

Vous pouvez définir des conditions ET sur des tables liées comme vous leferiez pour une seule table.

Pour définir une condition ET dans un seul champ

� Utilisez une virgule ( , ) pour séparer les conditions ET contenues dans unseul champ d�une image de requête. Entrez les conditions sur la mêmeligne du champ.

Exemple

La requête suivante cherche à connaître les prix catalogue de la table Stockqui sont inférieurs ou égaux à 50,00 F et se terminent par le chiffre 5.

� Si vous utilisez le format numérique américain, vous n�avez pas besoind�inclure un espace entre les critères et l�opérateur ET ( , ). En revanche,si vous utilisez le format international, ajoutez un espace avant ou après lavirgule.

Définition des conditions ET dans des champs différentsVous pouvez définir des correspondances exactes sur plusieurs champs d�unerequête. Autrement dit, pour qu�une correspondance ait lieu, tous les critèresdoivent être remplis. Vous pouvez définir des conditions ET sur des tablesliées comme vous le feriez pour une seule table.

Pour définir des conditions ET dans des champs différents

� Saisissez les critères sur la même ligne d�une image de requête QBE etplacez chaque critère dans son champ respectif.

Entrez toutes les valeurs que vous voulez afficher (telles qu�ellesapparaissent dans la table) dans les champs correspondants de l�image derequête.

Interrogation de votre base de données 387

Exemple

La requête suivante définit des conditions ET sur plusieurs champs :

Utilisation de OU dans les critères de sélectionVous pouvez définir des conditions OU logiques dans une requête QBE. Cesconditions permettent d�extraire tout enregistrement qui remplit au moinsl�un des critères définis. Vous pouvez créer une requête contenant desconditions OU relatives à plusieurs tables. Rien ne vous empêche decombiner des conditions ET et OU dans une seule requête QBE.

Restrictions quant au type de champ

L�opérateur OU est admis dans tous les types de champ, y compris dans leschamps BLOB. Chaque fois que vous interrogez un champ mémo ou mémoformaté, vous devez utiliser l�opérateur générique .. avec les critères desélection et les autres opérateurs définis.

Définition des conditions OU dans le même champDéfinissez les conditions dans un seul champ sur la même ligne d�unerequête pour indiquer que vous voulez extraire les enregistrementscorrespondant à au moins un des critères définis.

Pour définir une condition OU dans un seul champ

� Précisez les critères dans le champ en les séparant par l�opérateur OU.

Exemple

La requête suivante permet d�obtenir la liste de tous les magasins d�articlesde plongée figurant dans la table Clients et situés en Californie ou à Hawaii.

388 Paradox 9 : Chapitre 7

Définition des conditions OU dans des champs différentsVous pouvez définir des conditions OU pour divers champs de la tableinterrogée. Vous réalisez ce type d�opération OU en entrant les critères desélection sur différentes lignes de l�image de requête QBE.

Pour afficher un champ dans la table réponse lorsque vous utilisez ce type derequête, cochez les cases en regard de ce champ dans chaque ligne de larequête. Par exemple, si vous cochez le champ Nom de la première ligne,vous devez également le cocher dans toutes les autres lignes de la requête.Si vous n�effectuez pas cette opération, Paradox affiche des messagesd�erreur indiquant que la requête utilise deux questions qui n�ont aucun lienou qu�une ou plusieurs lignes de la requête ne permettent pas d�obtenir derésultat.

Si vous travaillez avec plusieurs tables, toutes les images de requête destables liées doivent comporter le même nombre de lignes et être liées pardifférents éléments d�exemple sur chaque ligne où se trouve le champcommun.

Pour définir une condition OU entre des champs différents

� Entrez les critères sur des lignes distinctes de l�image de requête.

Pour ajouter des lignes à la requête, suivez les instructions données dansla rubrique Utilisation des images de requête QBE à la page 367.

Exemple

La requête suivante extrait les noms des personnes à contacter pour lesclients situés dans la ville de Nassau ou en Jamaïque. Les mêmes élémentsd�exemple sont utilisés sur les lignes correspondantes des images de requête(lien1 sur les lignes supérieures et lien2 sur les lignes inférieures).

Interrogation de votre base de données 389

� Vous ne pouvez pas utiliser l�opérateur OU sur des éléments d�exemple.Le critère Quantité ou Prix, où Quantité et Prix sont des élémentsd�exemple, renvoie un message d�erreur. Ceci est dû au fait qu�un élémentd�exemple représente toutes les valeurs du champ. Vous ne pouvez pasindiquer à Paradox que Quantité ou Prix sont en mesure de représentertoutes les valeurs du champ.

Utilisation des éléments d�exemple dans les requêtes QBELes éléments d�exemple représentent des valeurs contenues dans leschamps où ils se trouvent. Dans Paradox, les éléments d�exemple sontutilisés de deux façons :

� Dans des requêtes simples et avec des opérateurs de requête poureffectuer des calculs à l�aide des valeurs contenues dans un champparticulier. Un élément d�exemple représente tour à tour chaque valeurdans le critère de sélection.

� Dans des requêtes multi-tables pour lier les tables à l�aide des champsqu�elles ont en commun. Les éléments d�exemple permettent d�indiquer àParadox que deux champs contiennent des données semblables bien queleurs noms soient différents. Chaque élément d�exemple agit comme unmarqueur de positionnement et indique que si l�enregistrementsélectionné dans la table A contient une valeur dans ce champ, il doit êtrelié à tous les enregistrements de la table B contenant la même valeur dansle champ correspondant.

Les éléments d�exemple sont admis dans tous les champs à l�exception deschamps BLOB.

390 Paradox 9 : Chapitre 7

Création d�éléments d�exempleVous pouvez définir vos propres éléments d�exemple en les tapantdirectement dans l�image de requête ou laisser Paradox le faire à votre placeen cliquant sur le bouton Joindre les tables. Lors de la création de voséléments d�exemple, libre à vous de leur donner les noms de votre choix. Lacommande Joindre crée un élément d�exemple spécial, dont le but est de lierdes tables dans une requête multi-table. Pour plus d�informations sur lajointure des tables, reportez-vous à la rubrique Établissement de liens entreles tables d�une requête QBE à la page 362.

Lorsque vous utilisez des éléments d�exemple pour lier des tables, vouspouvez définir autant de critères de sélection que vous voulez. Il suffit deplacer les critères dans une image de requête QBE. La seule exigence àrespecter est de s�assurer que toutes les tables figurant dans la fenêtreRequête sont bien liées.

Les éléments d�exemple peuvent se composer de n�importe quel caractèrealphanumérique (A-Z ou a-z et 0-9). Ils ne doivent contenir aucun espace niaucun des caractères suivants :

* ( ) - + / .

Paradox considère que vous avez terminé l�élément d�exemple lorsque vousaccomplissez l�une des actions suivantes :

� vous sélectionnez une ligne, une requête ou un champ différent ;

� vous appuyez sur la barre d�espacement ;

� vous entrez un caractère non admis dans les éléments d�exemple.

Les caractères entrés à la suite de l�élément apparaissent en mode textenormal.

Pour créer un élément d�exemple

1 Cliquez sur le champ de l�image de requête pour lequel vous voulez créerun élément d�exemple.

2 Appuyez sur F5 et saisissez le mot à utiliser pour l�élément d�exemple.

Le texte doit apparaître en rouge.

Utilisation d�un élément d�exemple pour représenter une valeurVous pouvez utiliser un élément d�exemple dans un critère de sélectionlorsque la valeur à utiliser est stockée dans une table. L�élément d�exemplereprésente toute valeur que Paradox peut extraire.

Interrogation de votre base de données 391

Exemple

Supposons, par exemple, que vous vouliez savoir quels sont les magasinsd�articles de plongée, figurant dans la table Clients, qui se trouvent implantésdans la même ville que le VIP Divers Club. Au lieu de déterminer la villedont il s�agit puis de trouver les villes correspondantes (processus à deuxrequêtes), vous pouvez déterminer la valeur et toutes les valeurscorrespondantes en une seule requête :

1 Cliquez sur Fichier, Nouveau, Requête.

2 Choisissez le dossier où se trouvent les tables dans la zone de listeRechercher dans.

3 Cliquez deux fois sur la table Clients.

4 Dans le champ Nom de l�image de requête, tapez VIP Divers Club.

5 Appuyez sur F5 et entrez le mot ville comme élément d�exemplereprésentant la ville dans laquelle se trouve le VIP Divers Club.

6 Appuyez sur le bouton FLÈCHE BAS pour créer une seconde ligne dansl�image de requête.

7 Cochez les cases en regard des champs No Client, Nom et Ville sur laligne que vous venez de créer.

8 Dans le champ Ville de la seconde ligne, appuyez sur F5 et entrez denouveau le mot ville pour récupérer tous les enregistrements dont lavaleur Ville est identique à celle de l�enregistrement VIP Divers Club.

9 Cliquez sur Requête, Exécuter la requête.

Utilisation d�un élément d�exemple dans une fourchette de valeursVous pouvez utiliser des éléments d�exemple dans une requête pour extrairedes enregistrements correspondant à une fourchette de valeurs.

Exemple

La requête suivante répertorie tous les articles en stock dont le coût estsupérieur à celui de l�article numéro 1320.

392 Paradox 9 : Chapitre 7

La première ligne de cette requête permet d�extraire l�enregistrementcontenant le numéro 1320 de la table Stock. Le prix de cet article estreprésenté par le coût élément d�exemple. Ce même élément est utilisé dansla seconde ligne pour extraire tous les enregistrements dont le coût estsupérieur à celui de l�article 1320. Le prix de cet article est de 171,00 F.

Utilisation d�un élément d�exemple dans un critère de sélection detype date

Vous pouvez utiliser un élément d�exemple dans une expression contenantune date.

Exemple

La requête suivante répertorie toutes les commandes livrées moins de 30jours après la commande numéro 1010 (sont également incluses toutes lescommandes livrées avant la commande numéro 1010). La commande 1010 aété livrée le 14 mai 1991.

Interrogation de votre base de données 393

Cette requête utilise :

� un élément d�exemple pour représenter la date de livraison de lacommande No 1010 ;

� une expression arithmétique pour calculer la date 30 jours après la date delivraison ;

� l�opérateur < (inférieur à) pour sélectionner les enregistrements dont ladate de livraison est antérieure à la date de livraison de la commande No1010 plus 30 jours.

Utilisation des opérateurs COMME ou SAUF avec un élément d�exempleVous pouvez utiliser un élément d�exemple avec les opérateurs COMME etSAUF.

Exemple

La requête suivante permet de répertorier les personnes à contacter figurantplus d�une fois dans la table exemple Contacts mais dont l�orthographe desnoms varie très légèrement. Vous pouvez utiliser l�opérateur COMME pourrechercher, un à un, les doublons pour chaque nom, ou les opérateursCOMME et SAUF avec un élément d�exemple pour rechercher tous lesdoublons en une seule opération.

L�instruction « comme nom, sauf nom » permet d�indiquer les nomslégèrement différents, c�est-à-dire ceux qui ont en commun au moins lamoitié ou les deux tiers des lettres. L�espace après la virgule n�est pasindispensable mais facilite la lecture de l�expression.

394 Paradox 9 : Chapitre 7

Calculs dans des requêtes QBEL�opérateur CALC permet d�effectuer des calculs sur les informationscontenues dans les tables. Utilisez l�opérateur CALC pour :

� définir et évaluer des expressions mathématiques ;

� combiner des valeurs contenues dans au moins deux champs ;

� combiner des valeurs de champ avec des constantes ;

� créer un nouveau champ contenant une valeur constante.

Fonctions de l�opérateur CALC

L�opérateur CALC vous permet de :

� définir des critères de sélection indiquant les enregistrements à utiliserpour exécuter les calculs ;

� entrer l�expression CALC dans n�importe quel champ de l�image derequête ;

� utiliser CALC avec des valeurs alphanumériques et des opérateursrécapitulatifs ;

� faire intervenir des valeurs provenant de plusieurs tables dans les calculs ;

� utiliser des éléments d�exemple dans une expression CALC pour faireréférence à des valeurs d�une même table ou de tables différentes.

Règles d�utilisation de l�opérateur CALC

Lorsque vous utilisez l�opérateur CALC dans une requête, la table réponsecréée par la requête contient un champ supplémentaire indiquant le résultatdes calculs. Ce qui veut dire en clair que :

� lorsque vous créez des tables, vous n�avez pas besoin d�inclure deschamps pour les données calculées à l�aide des valeurs contenues dansd�autres champs ;

� le champ de l�image de requête où vous choisissez d�entrer l�expressionCALC n�a aucune importance ;

� vous n�avez pas besoin de cocher le champ contenant l�opérateur CALCcar cet opérateur entraîne automatiquement la création d�un nouveauchamp dans la table réponse. Si vous cochez ce champ, le groupementainsi que les résultats seront modifiés.

Paradox donne au nouveau champ un nom en fonction du calcul. Utilisezl�opérateur EN si vous souhaitez renommer le champ.

Interrogation de votre base de données 395

Utilisation de l�opérateur CALC avec des opérateurs arithmétiquesVous pouvez utiliser l�opérateur CALC dans n�importe quel champ d�uneimage de requête QBE. Après avoir tapé le mot réservé CALC, entrezl�expression correspondant au calcul à effectuer.

Une expression peut contenir :

� des constantes telles que 154 ou 12/02/91

� des éléments d�exemple tel que QTÉ

� des opérateurs arithmétiques tels que les signes + - * / ( )

� des opérateurs récapitulatifs tels que SOMME ou MAX

� des opérateurs de comparaison tels que = < > <= >=

Exemple

Supposons que vous vouliez multiplier les valeurs contenues dans le champQuantité de la table STOCK.DB par les valeurs du champ Prix Tarif pourobtenir le coût total de votre stock.

1 Cliquez sur Fichier, Nouveau, Requête.

2 Choisissez le dossier où se trouvent les tables dans la zone de listeRechercher dans.

3 Cliquez deux fois sur la table STOCK.DB.

4 Cochez les cases No Stock, No Article, Description, Quantité et Prix Tarifdans l�image de requête.

5 Entrez un élément d�exemple dans le champ Quantité (appuyez sur F5 etentrez une chaîne du type Qté).

6 Entrez un élément d�exemple dans le champ Prix Tarif (appuyez sur F5 etentrez une chaîne du type Prix).

Après avoir ajouté des éléments d�exemple dans les champs Prix Tarif etQuantité pour définir les valeurs sur lesquelles porte le calcul, entrezl�expression CALC en utilisant ces éléments d�exemple dans n�importequel champ de l�image de requête.

7 Dans n�importe quel champ, entrez CALC suivi de l�élément d�exempleutilisé pour le champ Quantité, puis entrez * suivi de l�élément d�exempleutilisé pour le champ Prix Tarif. L�instruction doit se présenter à peu prèsainsi : CALC Qté * Prix (les espaces ne sont pas obligatoires ; Paradox neles prend pas en compte).

8 Cliquez sur Requête, Exécuter la requête.

396 Paradox 9 : Chapitre 7

Utilisation de l�opérateur CALC avec des valeurs alphanumériquesVous pouvez combiner (concaténer) des valeurs alphanumériques et desconstantes en utilisant CALC et l�opérateur +.

Par exemple :

� Vous pouvez ajouter le terme Mme en regard d�un nom de famille lorsquela valeur correspond à F dans le champ Sexe.

� Vous pouvez également utiliser l�opérateur CALC pour combiner desvaleurs contenues dans des champs Ville, État/Province et Code Postaldans un seul champ Adresse.

Création d�un nouveau champ réponse avec une valeur constanteVous pouvez créer un nouveau champ dans la table réponse, champ quicontiendra une valeur constante (nombre, date ou valeur alphanumérique)plutôt que le résultat d�un calcul. Paradox donne le nom de la valeurconstante au nouveau champ créé dans la table réponse. Pour le renommer,utilisez l�opérateur EN comme indiqué à la rubrique Attribution de nouveauxnoms aux champs de la table réponse à la page 370. Si le nouveau champ estde type alphanumérique, il présente assez d�espaces pour contenir la valeurconstante.

Vous pouvez aussi créer un nouveau champ vide. Dans ce cas, vous devezentrer l�expression CALC dans un champ de type identique à celui qu�aura lechamp réponse, à savoir : champ numérique, entier court, entier long,monétaire, date ou alphanumérique.

Pour créer un champ avec une constante de type numérique oudate

1 Cliquez sur un champ de l�image de requête.

2 Tapez le mot réservé CALC, un espace et la valeur constante de typenumérique ou date.

Pour créer un champ avec une constante de type alphanumérique

1 Cliquez sur un champ de l�image de requête.

2 Tapez le mot réservé CALC, un espace, des guillemets, la constantealphanumérique (en respectant la casse) et terminez par des guillemets.

Interrogation de votre base de données 397

Pour créer un champ vide

1 Cliquez sur n�importe quel champ de l�image de requête en sachanttoutefois qu�il doit être du même type que celui que vous voulez créer.

2 Tapez CALC blanc.

Calcul de valeurs numériques contenues dans plusieurs tablesVous pouvez lier plusieurs tables et effectuer des calculs utilisant les valeursqu�elles contiennent dans une seule requête QBE.

Supposons que vous vouliez calculer la valeur totale en francs de tous lesarticles actuellement commandés en fonction du prix catalogue défini dansSTOCK.DB plutôt que du prix de vente dans LIGNES.DB.

Pour calculer cette information, vous devez multiplier le prix catalogue detous les articles par la quantité commandée.

La figure ci-dessous indique le résultat :

Créez les éléments d�exemple suivants en appuyant sur F5 et en entrant :

� qté dans le champ Quantité de l�image de requête de la table Lignes

� prix dans le champ Prix Tarif de l�image de requête de la table Stock

� une virgule, puis l�expression CALC qté * prix (sachant que qté et prixsont des éléments d�exemple)

Utilisez le bouton Joindre les tables pour placer les éléments d�exemple dansles champs No Stock des deux images de requête.

398 Paradox 9 : Chapitre 7

Définition des propriétés d�une requête QBEUne fois les tables à interroger choisies et l�image de requête correspondanteaffichée, vous pouvez faire appel à la commande Propriétés de la requêtepour définir la façon dont Paradox va exécuter vos requêtes et afficher lesrésultats.

Propriétés de la table réponse

Il vous appartient de décider si les résultats apparaîtront dans une tableréponse ou une vue de requête reliée et si la table sera de type Paradox oudBASE. À vous également de choisir le nom et le répertoire à utiliser pour latable réponse. Vous pouvez aussi définir l�ordre d�affichage des champs dansla table réponse. Pour plus d�informations, reportez-vous à la rubriqueModification de la table et attribution d�un nouveau nom à la page 368. Vouspouvez définir les champs de la table réponse à inclure dans un tri et l�ordredans lequel se fait le tri. Pour plus d�informations, reportez-vous à la rubriqueTri de la table réponse à la page 370.

Propriétés QBE

Vous pouvez choisir la façon dont s�exécutent les requêtes (localement, àdistance ou les deux) et décider si Paradox crée des tables auxiliaires pourles requêtes modifiant les données (requêtes INSÉRER, SUPPRIMER etREMPLACERPAR).

Valeurs par défaut ou préférences de la requête

Vous pouvez définir des valeurs par défaut globales pour certaines de cespropriétés et des préférences telles que Type de sélection QBE par défaut.Ces valeurs par défaut sont appelées préférences et sont définies à l�aide dela commande Préférences (Menu Outils, Paramètres) dans la page Requêtede la boîte de dialogue Préférences. Tous les types de préférence sontaccessibles par le biais des préférences système.

� Les propriétés de la requête sont enregistrées avec la requête.

Gestion de la mise à jour des tablesLes paramètres Gestion de la mise à jour des tables apparaissent à la pageRequête de la boîte de dialogue Préférences. Néanmoins, si vous souhaitezmodifier temporairement ces paramètres pendant une seule session detravail, sélectionnez les commandes du menu Requête plutôt que de cliquersur Requête, Propriétés.

Interrogation de votre base de données 399

Lorsque Paradox est utilisé sur un réseau, plusieurs utilisateurs peuventeffectuer simultanément des modifications sur une table partagée dans unrépertoire de données partagé. Vous pouvez demander au programme demettre à jour votre table réponse lorsque des modifications sont apportées àla ou aux tables source de votre requête pendant l�exécution de celle-ci.

Pour modifier la gestion de la mise à jour des tables pour lasession de travail en cours

1 Cliquez sur Outils, Paramètres, Préférences.

2 Cliquez sur l�onglet Requête.

3 Activez l�une des options de gestion de la mise à jour des tablessuivantes :

� Redémarrer la requête en cas de modifications : Paradox relance larequête lorsqu�il détecte une modification apportée sur la ou les tablessource.

� Verrouiller les tables : verrouille toutes les tables de votre requête etempêche d�apporter une modification quelconque aux tables pendantl�exécution de Paradox. Paradox déverrouille les tables à la fin de larequête. Si un autre utilisateur se sert déjà des tables que vous voulezverrouiller et interroger, Paradox ne peut pas placer les verrous etémet un message pour vous en informer.

� Ignorer les modifications : permet aux autres utilisateurs d�apporterdes modifications à la ou aux tables source pendant l�exécution de larequête et empêche Paradox de relancer la requête en cas demodification. Il s�agit de la valeur par défaut.

Définition des propriétés des tables auxiliairesLes requêtes INSÉRER, SUPPRIMER et REMPLACERPAR génèrentplusieurs tables réponses. Les requêtes REMPLACERPAR créent parexemple une table Modifié et les requêtes INSÉRER une table Inséré. Lacréation de ces tables supplémentaires est longue et n�a rien d�obligatoire.

Vous pouvez configurer le programme de telle sorte qu�il ne crée pas de tableauxiliaire pour les requêtes qui modifient les données.

Pour modifier les options par défaut des tables auxiliaires

1 Cliquez sur Outils, Paramètres, Préférences.

2 Cliquez sur l�onglet Requête.

3 Activez l�une des options de tables auxiliaires suivantes :

400 Paradox 9 : Chapitre 7

� Requêtes rapides : empêche Paradox de générer des tables auxiliaires lorsde l�exécution des requêtes qui modifient les données. Lorsque vous negénérez que les tables réponse, les requêtes s�exécutent bien plusrapidement.

� Générer les tables auxiliaires : produit des tables auxiliaires lors del�exécution des requêtes qui modifient les données.

Pour modifier les options de tables auxiliaires pour la requêtecourante

1 Après avoir ouvert la requête, cliquez sur Requête, Propriétés.

2 Cliquez sur la page QBE.

3 Activez l�une des options de tables auxiliaires suivantes :

� Requêtes rapides

� Générer les tables auxiliaires

Les paramètres configurés à l�aide de la commande Propriétés de larequête sont enregistrés avec la requête.

Définition des propriétés des requêtes distantesLorsque vous créez une requête utilisant des données extraites d�un serveurde base de données distant, vous pouvez indiquer si Paradox doit traiter larequête localement (sur votre disque dur) ou à distance (sur le serveur).Vous pouvez également laisser Paradox décider de la méthode à suivre pourune exécution performante de la requête.

Que vous créiez une requête sur des données locales (Paradox ou dBASE) oudistantes (SQL), Paradox peut convertir votre instruction QBE en syntaxeSQL correcte. Cette opération est automatiquement effectuée lorsque vousinterrogez des données distantes. Libre à vous d�afficher cette syntaxe SQL.

Pour afficher la syntaxe SQL

� Après avoir ouvert la requête désirée, cliquez sur Affichage, Afficher SQL.

Si vous préférez rédiger une syntaxe SQL plutôt que de créer desinstructions QBE, utilisez l�Créateur SQL pour écrire des instructionsSQL à exécuter sur des tables locales (Paradox ou dBASE) ou distantes(SQL). La seule restriction réside dans le fait que QBE doit être capabled�interpréter correctement la syntaxe SQL.

Interrogation de votre base de données 401

Pour modifier les paramètres par défaut d�une requête distante

1 Cliquez sur Outils, Paramètres, Préférences.

2 Cliquez sur l�onglet Requête.

3 Activez l�une des options de requête distante suivantes :

� La requête peut être locale ou distante : Paradox tente d�exécuter larequête à distance (sur le serveur). En cas d�échec, Paradox exécute larequête localement (sur votre ordinateur).

� Exécuter la requête de façon distante : Paradox demande au serveurd�exécuter la requête et de ne lui renvoyer que les réponses.

� Exécuter la requête localement : Paradox exécute la requêtelocalement. Paradox demande au serveur toutes les données destables interrogées et exécute la requête sur le bureau de votreordinateur.

Pour modifier les paramètres de requête distante pour larequête courante

1 Après avoir ouvert la requête, cliquez sur Requête, Propriétés.

2 Cliquez sur la page QBE.

3 Activez l�une des options de requête distante suivantes :

� La requête peut être locale ou distante

� Exécuter la requête de façon distante

� Exécuter la requête localement

Les paramètres configurés lorsque vous cliquez sur Requête, Propriétés,sont enregistrés avec la requête.

Requêtes QBE avancées : groupes, ensembles et liensinclusifs

Paradox permet d�exécuter différentes requêtes avancées sur des groupes oudes ensembles d�enregistrements et notamment de :

� manipuler des groupes d�enregistrements à l�aide d�opérateursrécapitulatifs et d�autres outils d�analyse ;

� définir et comparer des ensembles d�enregistrements pour identifier ceuxqui n�appartiennent pas à un ensemble ;

� créer et utiliser des liens inclusifs pour extraire tous les enregistrementsd�une table, qu�ils correspondent ou non à un critère de sélection.

402 Paradox 9 : Chapitre 7

Vous pouvez également utiliser Paradox pour répondre à des questionsportant sur des groupes d�enregistrements et notamment pour :

� sélectionner des enregistrements selon les caractéristiques d�un groupe(par exemple, des articles figurant dans plusieurs bons de commande) ;

� calculer des statistiques sur des groupes d�enregistrements (par exemple,calculer le montant total moyen d�une facture des commandes passéesdans chaque état ou province) ;

� comparer les caractéristiques d�un groupe avec d�autres enregistrements(par exemple, déterminer les clients qui ont passé plus de commandesque ceux de Hawaii).

De par leur nature, ces questions portent sur plusieurs enregistrements à lafois. Pour y répondre, il faut donc analyser un groupe d�enregistrements danssa globalité, et non chaque enregistrement pris isolément.

Les requêtes utilisées pour répondre à ces questions font appel à desopérateurs récapitulatifs.

Interrogation des groupes d�enregistrements à l�aide desopérateurs récapitulatifs

Un opérateur récapitulatif effectue une opération qui s�applique à un grouped�enregistrements que vous définissez en cochant un ou plusieurs champs.Un groupe d�enregistrements est défini à l�aide de critères de sélection.Paradox dispose de cinq opérateurs récapitulatifs :

MOYENNE Calcule la moyenne des valeurs d�un groupe.

NOMBRE Compte le nombre des valeurs d�un groupe.

MAX Détermine la valeur maximale dans un groupe.

MIN Détermine la valeur minimale dans un groupe.

SOMME Calcule la somme des valeurs d�un groupe.

De même que d�autres mots réservés utilisés comme opérateurs dansParadox, les opérateurs récapitulatifs et les modificateurs d�opérateursrécapitulatifs ne respectent pas la casse. Vous pouvez donc les spécifier enmajuscules ou en minuscules.

Interrogation de votre base de données 403

Restrictions quant au type de champ

Vous ne pouvez pas spécifier d�opérateur récapitulatif dans un champ BLOBd�une table Paradox ou dans un champ mémo d�une table dBASE. En outre,les opérateurs MOYENNE et SOMME ne peuvent pas être spécifiés dans unchamp de type alphanumérique, date, heure ou date/heure. Pour obtenir unedescription complète des restrictions de type de fichier lors de l�utilisationdes opérateurs récapitulatifs, reportez-vous à la rubrique Types de champParadox compatibles avec les opérateurs récapitulatifs QBE dans la sectionRéférence de l�aide en ligne.

Modificateurs des opérateurs récapitulatifs

Tous les opérateurs récapitulatifs, à l�exception de NOMBRE, s�appliquentpar défaut à toutes les valeurs d�un groupe. Par défaut, NOMBRE calcule lenombre de valeurs uniques d�un groupe. Pour modifier la portée del�opérateur, appliquez l�un des modificateurs suivants :

TOUTES Prend en compte l�ensemble des valeurs d�un groupe, y compris lesdoublons. L�opérateur NOMBRE TOUTES calcule le nombre total devaleurs dans un groupe, y compris les doublons.

UNIQUE Prend seulement en compte les valeurs uniques d�un groupe. UtilisezUNIQUE avec tous les opérateurs récapitulatifs (à l�exception deNOMBRE) pour que l�opération s�applique aux valeurs uniques d�ungroupe et non à l�ensemble des valeurs.

Définition d�un groupe

Rien ne vous empêche de combiner les opérateurs récapitulatifs avec lamarque de sélection que vous activez dans la case d�un champ. Les marquesde sélection (Sélection, SélectionPlus et SélectionDécroissante) quis�affichent sur la même ligne qu�un opérateur récapitulatif ont les fonctionssuivantes :

� elles divisent les enregistrements en groupes en fonction des valeursaffichées dans le champ activé ;

� elles incluent le champ activé dans la table réponse (fonction normale).

Exemple d�utilisation de NOMBRE : sélection d�enregistrements àpartir du nombre de valeurs d�un groupe

L�opérateur récapitulatif NOMBRE calcule le nombre de valeurs uniquesdans un groupe.

Supposons, par exemple, que vous vouliez connaître les pays où votremagasin de matériel de plongée a plus de trois clients.

1 Cliquez sur Fichier, Nouveau, Requête.

404 Paradox 9 : Chapitre 7

2 Choisissez le dossier où se trouvent les tables dans la zone de listeRechercher dans.

3 Cliquez deux fois sur la table CLIENTS.DB.

4 Dans la fenêtre Requête, cochez la case du champ Pays pour grouper lesenregistrements par pays et ajouter le champ Pays à la table réponse.

5 Tapez NOMBRE >=3 dans le champ No Client pour calculer le nombrede clients différents pour chaque groupe (pays) et sélectionner lesgroupes pour lesquels ce nombre est supérieur ou égal à 3.

6 Cliquez sur Requête, Exécuter la requête.

Comme l�opérateur a été saisi dans le champ No Client, qui est le champ cléde la table, vous savez que chaque numéro de client est unique. Par défaut,l�opérateur NOMBRE calcule le nombre de valeurs uniques. Pour calculer lenombre de valeurs total (doublons compris), tapez NOMBRE TOUTES.

Exemple d�utilisation de SOMME : sélection d�enregistrements à partirde la somme des valeurs d�un groupe

L�opérateur SOMME calcule la somme des valeurs dans un groupe.

Supposons, par exemple, que vous vouliez connaître les clients dont lemontant des commandes est supérieur à 5 000 F.

1 Cliquez sur Fichier, Nouveau, Requête.

2 Choisissez le dossier où se trouvent les tables dans la zone de listeRechercher dans.

3 Maintenez la touche CTRL enfoncée tout en cliquant sur les tablesCLIENTS.DB et COMMANDE.DB.

4 Cliquez sur le bouton Ouvrir.

5 Cliquez sur le bouton Joindre les tables et cliquez sur le champ No Clientde chaque image de requête.

Interrogation de votre base de données 405

6 Cochez les cases des champs No Client et Nom de l�image de requêteCLIENTS.DB.

7 Tapez SOMME >5000 dans le champ Reste à payer de l�image de requêteCOMMANDE.DB.

L�expression SOMME >5000 calcule le solde de chaque groupe (client) etsélectionne ceux dont le montant est supérieur à 5000 F.

8 Cliquez sur Requête, Exécuter la requête.

� Si vous cochez le champ No Client, Paradox groupe les enregistrementspar client et inclut ce champ dans la table réponse. Si vous cochez aussi lechamp Nom, les enregistrements sont également groupés par nom declient et ce champ est ajouté à la table réponse. Paradox ne crée pas ungroupe différent puisqu�il existe une relation un-à-un entre les champs NoClient et Nom ; ils appartiennent donc au même groupe.

Exemple d�utilisation de MOYENNE : sélection d�enregistrements àpartir de la moyenne des valeurs d�un groupe

L�opérateur récapitulatif MOYENNE calcule la moyenne des valeurs d�ungroupe.

Supposons, par exemple, que vous vouliez connaître les états et lesprovinces pour lesquels le montant total des factures est inférieur à 50 000 F.

1 Cliquez sur Fichier, Nouveau, Requête.

2 Choisissez le dossier où se trouvent les tables dans la zone de listeRechercher dans.

3 Maintenez la touche CTRL enfoncée tout en cliquant sur les tablesCLIENTS.DB et COMMANDE.DB.

4 Cliquez sur le bouton Ouvrir.

5 Cliquez sur le bouton Joindre les tables et cliquez sur le champ No Clientde chaque image de requête.

6 Cochez la case du champ État/Province de l�image de requêteCLIENTS.DB pour grouper les enregistrements de la table en fonctiondes valeurs État/Province et ajouter ce champ à la table réponse.

406 Paradox 9 : Chapitre 7

7 Tapez MOYENNE<50000 dans le champ Montant total de l�image derequête COMMANDE.DB pour calculer la moyenne des factures dechaque groupe (état/province) et sélectionner ceux dont le montant estinférieur à 50 000 F.

8 Cliquez sur Requête, Exécuter la requête.

Les résultats de votre requête se présenteront ainsi :

Exemple d�utilisation de MIN/MAX : sélection d�enregistrements àpartir de la valeur maximale/minimale d�un groupe

L�opérateur récapitulatif MAX détermine la valeur maximale d�un groupe.L�opérateur récapitulatif MIN détermine la valeur minimale d�un groupe.L�exemple suivant illustre une requête qui utilise l�opérateur MAX. Vouspourriez réutiliser cet exemple pour déterminer la valeur minimale dugroupe à l�aide de l�opérateur MIN.

Supposons que vous vouliez connaître les pays dont le montant total desfactures le plus élevé est inférieur ou égal à 200 000 F.

1 Cliquez sur Fichier, Nouveau, Requête.

2 Choisissez le dossier où se trouvent les tables dans la zone de listeRechercher dans.

3 Maintenez la touche CTRL enfoncée tout en cliquant sur les tablesCLIENTS.DB et COMMANDE.DB.

4 Cliquez sur le bouton Ouvrir.

5 Cliquez sur le bouton Joindre les tables et cliquez sur le champ No Clientde chaque image de requête.

6 Sélectionnez le champ Pays dans l�image de requête CLIENTS.DB pourgrouper les enregistrements par valeurs de pays et ajouter ce champ à latable réponse.

Interrogation de votre base de données 407

7 Tapez MAX <=200000 dans le champ Montant total de l�image derequête COMMANDE.DB pour calculer le montant total de chaquegroupe (pays) et sélectionner ceux dont le total est inférieur ou égal à 200000 F.

8 Cliquez sur Requête, Exécuter la requête.

Les résultats de votre requête se présenteront ainsi :

Utilisation de l�opérateur CALC avec des opérateursrécapitulatifs

Dans une requête, vous pouvez calculer de nouveaux champs pour chaqueenregistrement ainsi que calculer des statistiques (total et moyenne, parexemple) sur des groupes d�enregistrements. Vous pouvez, par exemple,vous poser les questions suivantes :

� Combien d�articles en stock ont été commandés dans chaque catégorie ?

� Quel est le montant total des ventes pour chaque client ?

� Combien de clients y a-t-il par pays ou état/province ?

� Quel est l�article le plus cher ? Quel est le moins cher ?

Associez les opérateurs récapitulatifs à l�opérateur CALC pour déterminer lenombre de valeurs, la somme totale, la moyenne, la valeur maximale etminimale des champs de vos tables.

Comme toutes les requêtes CALC, celles qui s�appliquent à des groupesajoutent également un nouveau champ dans la table réponse. Le nom queParadox attribue automatiquement au nouveau champ de la table réponse estlié au calcul opéré sur le groupe. Utilisez, le cas échéant, l�opérateur EN pourrenommer le nouveau champ. Pour plus d�informations, reportez-vous à larubrique Attribution de nouveaux noms aux champs de la table réponse à lapage 370.

Exemple d�un calcul simple appliqué à un groupeSupposons que vous vouliez connaître le nombre d�articles que vous avez enstock dans chaque catégorie.

1 Cliquez sur Fichier, Nouveau, Requête.

408 Paradox 9 : Chapitre 7

2 Choisissez le dossier où se trouvent les tables dans la zone de listeRechercher dans.

3 Cliquez deux fois sur la table STOCK.DB.

4 Cochez la case du champ Type d�équipement pour grouper lesenregistrements par catégorie de matériel et ajouter ce champ à la tableréponse.

5 Tapez CALC SOMME dans le champ Quantité pour calculer la somme desvaleurs de ce champ.

6 Cliquez sur Requête, Exécuter la requête.

Les résultats de votre requête se présenteront ainsi :

Exemple d�un calcul de groupe sur une table entièreSi vous ne cochez aucun champ dans une requête, Paradox fait porterl�opération ou le calcul récapitulatif sur l�ensemble des enregistrements de latable, autrement dit c�est l�ensemble de la table qui constitue le groupe.

Supposons que vous vouliez connaître le nombre total d�articles commandés,indépendamment de leur acheteur, de leur nature et de leur prix.

1 Cliquez sur Fichier, Nouveau, Requête.

2 Choisissez le dossier où se trouvent les tables dans la zone de listeRechercher dans.

3 Cliquez deux fois sur la table LIGNES.DB.

4 Tapez CALC SOMME dans le champ Quantité pour calculer le nombretotal d�articles commandés.

5 Cliquez sur Requête, Exécuter la requête.

Interrogation de votre base de données 409

Les résultats de votre requête se présenteront ainsi :

Comme aucun champ n�est sélectionné, le groupe englobe toute la tableLIGNES. Seul le champ Somme des Quantité (le résultat de l�opérationCALC SOMME) vient s�ajouter à la table réponse.

Exemple de calcul du nombre de valeurs uniquesL�opérateur CALC NOMBRE calcule le nombre de valeurs uniques dans ungroupe. L�opérateur NOMBRE ne peut pas être spécifié dans un champBLOB d�une table Paradox ni dans un champ mémo d�une table dBASE. Dansces champs, même si vous spécifiez le modificateur UNIQUE, CALCNOMBRE prend en compte toutes les valeurs d�un groupe (doublonscompris).

Supposons que vous vouliez connaître le nombre de clients vous ayant passéune commande.

1 Cliquez sur Fichier, Nouveau, Requête.

2 Dans le dossier Exemple, cliquez deux fois sur la table COMMANDE.DB.

3 Tapez CALC NOMBRE dans le champ No Client.

4 Cliquez sur Requête, Exécuter la requête.

Les résultats de votre requête se présenteront ainsi :

Comme aucune case n�a été cochée, le groupe englobe toute la tableCommande. Le seul champ de la table réponse est le champ Nombre de NoClient qui est le résultat de l�opération CALC NOMBRE.

410 Paradox 9 : Chapitre 7

Interrogation des ensembles d�enregistrementsLe terme ensemble fait en général référence à un groupe d�objets. DansParadox, un ensemble est un groupe spécifique d�enregistrements qui faitl�objet d�une requête. Une requête ENSEMBLE permet de répondre à unequestion qui autrement nécessiterait aux moins deux requêtes normales.Utilisez une requête ENSEMBLE pour poser des questions sur lescaractéristiques d�un groupe plutôt que sur les enregistrements qui lecomposent. Les requêtes ENSEMBLE permettent notamment de dégagerdes tendances et des schémas récurrents à partir des données.

Eléments d�un requête ENSEMBLE

Une requête ENSEMBLE comporte les éléments suivants :

� une ou plusieurs lignes de définition de l�ensemble ;

� une ou plusieurs lignes de définition d�autres enregistrements quicorrespondent à certaines comparaisons avec l�ensemble ;

� une ou plusieurs lignes d�affichage des informations connexes (facultatif).

Procédure de création de requête ENSEMBLE

Pour appliquer une requête à un ensemble, effectuez les opérationssuivantes :

1 Définissez l�ensemble.

2 Définissez les groupes pour les comparer à l�ensemble.

3 Sélectionnez des groupes spéciaux à l�aide des opérateurs de comparaisond�ensembles. Les opérateurs de comparaison suivants permettent decomparer l�ensemble à d�autre enregistrements ou à d�autres groupesd�enregistrements :

� RIENQUE

� AUCUN

� CHAQUE

� IDENTIQUE

Le type de sélection Grouperpar

Vous devrez parfois grouper des enregistrements dans une requête enfonction des valeurs d�un champ particulier mais sans ajouter ces valeurs à latable réponse. Pour ce faire, choisissez l�option Grouperpar dans le menu destypes de sélection du champ. Cette option ne peut être sélectionnée que pourdes requêtes ENSEMBLE. Vous ne pouvez pas la spécifier dans un champBLOB.

Interrogation de votre base de données 411

Définition d�un ensembleUn ensemble d�enregistrements se définit dans une requête à peu prèscomme lorsque vous sélectionnez des enregistrements à ajouter à la tableréponse. La définition d�un ensemble revient à créer une requête au seind�une autre requête.

Pour définir un ensemble d�enregistrements, effectuez lesopérations suivantes :

1 Cliquez sur Fichier, Nouveau, Requête.

2 Dans la boîte de dialogue Sélection d�un fichier, sélectionnez la ou lestables à interroger.

3 Dans l�image ou les images de requête, entrez les critères de sélection quidéterminent les enregistrements à inclure dans l�ensemble.

Si les enregistrements figurent dans plusieurs tables, liez ces tables àl�aide d�éléments d�exemple.

4 Cliquez, avec le bouton droit de la souris, sur le champ le plus à gauche del�image de requête, puis cliquez sur Ensemble.

5 Au lieu de cocher les champs, tapez des éléments d�exemple.

Vous devez spécifier des éléments d�exemple car les lignes incluses dansune définition d�ensemble ne peuvent contenir ni marque de sélection niopérateur récapitulatif. Lorsque vous effectuerez une comparaison ou uneextraction d�enregistrements, vous spécifierez les mêmes élémentsd�exemple pour lier les lignes de comparaison à la définition del�ensemble.

Exemple de définition d�un ensembleCet exemple utilise la table STOCK.DB. L�unique ligne de cette requêtedéfinit un ensemble d�articles (de petits instruments), mais ne constitue pastoute la requête. Il reste à définir un groupe pour le comparer à l�ensemble.

412 Paradox 9 : Chapitre 7

Comparaison de données à un ensembleAprès avoir défini un ensemble dans une requête, vous pouvez comparerl�ensemble à d�autres enregistrements. Pour ce faire, vous pouvez comparerdes groupes d�enregistrements à cet ensemble.

Pour effectuer une comparaison, vous pouvez notamment :

� comparer d�autres groupes d�enregistrements à l�ensemble ;

� utiliser les opérateurs récapitulatifs SOMME, NOMBRE, MOYENNE,MIN et MAX pour déterminer la somme, le nombre, la moyenne, la valeurmaximale et la valeur minimale des valeurs d�un ensemble et comparerensuite les résultats à d�autres enregistrements.

Paradox définit quatre opérateurs de comparaison d�ensembles quipermettent de définir différents types d�ensemble d�enregistrements.

Opérateur Description

RIENQUE Affiche uniquement les enregistrements qui correspondent aux membresde l�ensemble.

AUCUN Affiche les enregistrements qui ne correspondent à aucun membre del�ensemble.

CHAQUE Affiche les enregistrements qui correspondent à tous les membres del�ensemble.

IDENTIQUE Affiche les enregistrements qui correspondent à tous les membres del�ensemble et à aucun autre.

Vous pouvez utiliser les opérateurs de comparaison d�ensembles dans tousles champs à l�exception des champ BLOB d�une table Paradox et des champsmémo d�une table dBASE.

Pour former des groupes d�enregistrements afin de les comparer àl�ensemble défini, utilisez les marques de sélection. La procédure est lamême que pour les opérateurs récapitulatifs.

Exemple de comparaison de données à un ensembleL�image de requête Stock de cette requête (créée dans la rubrique Exemplede définition d�un ensemble à la page 412) définit l�ensemble d�articles (depetits instruments), mais ne constitue pas toute la requête. Pour complétercette requête, ajoutez la table Lignes et cochez la case du champ NoCommande pour afficher le groupe de numéros de commande qui contient lesenregistrements correspondant aux critères de définition de l�ensemble.Tapez maintenant l�opérateur de comparaison RIENQUE, suivi de l�article(élément d�exemple), dans le champ No Stock de la table Lignes.

Interrogation de votre base de données 413

La requête a l�aspect suivant :

Cette requête :

� définit l�ensemble des articles de la catégorie Small Instruments (petitsinstruments) ;

� groupe les enregistrements de la table Lignes par numéro de commande ;

� ajoute le champ No Commande de la table Lignes à la table réponse ;

� compare le groupe d�articles de chaque numéro de commande àl�ensemble des articles de type petits instruments, et sélectionne lescommandes qui contiennent uniquement des articles de type petitsinstruments.

La table réponse affiche les numéros des commandes qui contiennent desarticles qui appartiennent uniquement à la catégorie petits instruments.

Les opérateurs de comparaison AUCUN, CHAQUE et IDENTIQUEs�utilisent de la même façon que l�opérateur RIENQUE.

Exemple d�utilisation de l�opérateur de comparaison RIENQUEL�opérateur RIENQUE fonctionne comme les autres opérateursrécapitulatifs. Il ne permet que de sélectionner des groupes dont lesenregistrements ont la même valeur. Néanmoins, RIENQUE n�est pas unopérateur récapitulatif de requête car il ne permet pas d�effectuer de calcul.

Vous ne pouvez pas le spécifier dans un champ BLOB d�une table Paradox oudans un champ mémo d�une table dBASE.

L�exemple suivant vous présente une autre requête EXEMPLE quasimentidentique à celle de la rubrique Exemple de comparaison de données à unensemble à la page 413, si ce n�est qu�elle inclut la table Commande. Lesdeux requêtes produisent la même table réponse. La différence entre lesdeux requêtes est l�endroit où vous définissez le groupe de numéros decommande.

414 Paradox 9 : Chapitre 7

La table Commande est une table parent de la table Lignes et les deux tablessont liées par leur champ No Commande. Par conséquent, la table Lignes nedevrait pas contenir de numéro de commande qui n�existe pas dans la tableCommande. Si la table Lignes contenait des enregistrements avec desnuméros de commande qui n�existent pas dans la table Commande, cesenregistrements seraient orphelins : des lignes d�articles apparaîtraient pourdes commandes inexistantes. Si ces enregistrements orphelins figuraientdans la table Lignes, les numéros de commande correspondantsapparaîtraient dans la requête de l�exemple de comparaison de données à unensemble, mais pas dans la requête de l�exemple suivant.

Supposons que vous vouliez interroger les tables exemple pour afficher lescommandes relatives à la catégorie des petits instruments, et pour aucuneautre. Pour créer cette requête, vous devez sélectionner les tables, joindreles images de requête et définir la comparaison à l�ensemble.

Pour sélectionner les tables et joindre les images de requête :

1 Cliquez sur Fichier, Nouveau, Requête.

2 Depuis le dossier Exemple, sélectionnez les tables LIGNES.DB,COMMANDE.DB et STOCK.DB en maintenant la touche CTRLenfoncée.

3 Cliquez sur le bouton Ouvrir.

4 Cliquez sur le bouton Joindre les tables et cliquez sur les champs NoCommande des images de requête LIGNES.DB et COMMANDE.DB.

5 Cliquez sur le bouton Joindre les tables, puis sur le champ No Stock dansles images de requête LIGNES.DB et STOCK.DB.

Pour définir la comparaison à l�ensemble

1 Cliquez avec le bouton droit de la souris sur la colonne la plus à gauche del�image de requête STOCK.DB, puis choisissez Ensemble dans la liste desopérateurs de requête.

2 Dans le champ Type d�équipement de l�image de requête STOCK.DB,tapez Petits instruments pour définir l�ensemble des articles de typepetits instruments.

3 Cochez la case No Commande de l�image de requête pour grouper lesenregistrements en fonction des valeurs de ce champ et afficher cedernier dans la table réponse.

4 Cliquez avec le bouton droit de la souris sur le champ No Commande del�image de requête LIGNES.DB, puis sur la marque de sélectionGrouperpar du menu pour grouper les enregistrements en fonction desvaleurs de ce champ, mais sans afficher ce dernier dans la table réponse.

Interrogation de votre base de données 415

5 Tapez RIENQUE devant l�élément d�exemple (lien2) du champ No Stockde l�image de requête LIGNES.DB pour que Paradox ne sélectionne queles commandes passées pour des petits instruments.

6 Cliquez sur Requête, Exécuter la requête.

� Si vous aviez exécuté cette requête sans l�opérateur RIENQUE et sansavoir défini ENSEMBLE dans la colonne la plus à gauche de STOCK.DB,vous auriez obtenu les commandes concernant à la fois des petitsinstruments et des articles d�autres catégories.

Récapitulatifs des données d�un ensembleVous pouvez comparer un groupe d�enregistrements à un ensemble défini.Vous pouvez également comparer un groupe d�enregistrements aux valeursglobales extraites d�un ensemble. Pour ce faire, définissez l�ensemblenormalement. Dans la ligne de la requête qui sélectionne lesenregistrements à comparer à l�ensemble, spécifiez un opérateur récapitulatifau lieu d�un opérateur de comparaison d�ensembles. Vous pouvez inclurel�opérateur récapitulatif dans une expression arithmétique.

Supposons que vous vouliez identifier les magasins de matériel de plongéedont le total des factures moyen est supérieur à celui d�un magasin donné (àsavoir, Adventure Undersea). Vous devez sélectionner et lier les tables, puisdéfinir la requête.

416 Paradox 9 : Chapitre 7

Pour sélectionner et lier les tables appropriées

1 Cliquez sur Fichier, Nouveau, Requête.

2 Depuis le dossier Exemple, sélectionnez les tables CLIENTS.DB etCOMMANDE.DB en maintenant la touche CTRL enfoncée.

3 Cliquez sur le bouton Ouvrir.

4 Cliquez sur le bouton Joindre les tables et cliquez sur les champs No Clientdes images de requête CLIENTS.DB et COMMANDE.DB.

Pour définir la requête

1 Cliquez à l�aide du bouton droit de la souris sur le champ le plus à gauchedans chacune des deux images de requête, puis cliquez sur Ensembledans le menu des opérateurs de requête.

2 Dans l�image de requête CLIENTS.DB, tapez Adventure Undersea dans lechamp Nom pour définir l�ensemble des magasins de plongée constituéuniquement du magasin Adventure Undersea.

3 Dans l�image de requête CLIENTS.DB, cliquez sur le champ No Client,puis sur la FLÈCHE BAS pour ajouter une deuxième ligne au champ. Àpartir de cette ligne, appuyez sur F5 et tapez client comme élémentd�exemple. Cette valeur représente chaque numéro de client.

4 Sur la deuxième ligne de l�image de requête CLIENTS.DB, cochez la casedu champ Nom.

5 Dans le champ Montant total de l�image de requête COMMANDE.DB,appuyez sur F5 et tapez TOTAL. Cet élément d�exemple représentel�ensemble constitué par le total des factures du magasin AdventureUndersea.

6 Dans l�image de requête COMMANDE.DB, cliquez sur le champ NoClient, puis sur la FLÈCHE BAS pour ajouter une deuxième ligne. Àpartir de la deuxième ligne du champ No Client, appuyez sur F5 et tapezclient. Cet élément d�exemple représente chaque numéro de client.

7 Sur la deuxième ligne du champ Montant total de l�image de requêteCOMMANDE.DB, tapez MOYENNE > MOYENNE, puis appuyez sur F5et tapez TOTAL pour ne sélectionner que les magasins dont le total desfactures moyen est supérieur à celui de Adventure Undersea.

8 Cliquez sur Requête, Exécuter la requête.

Interrogation de votre base de données 417

Les résultats de votre requête se présenteront ainsi :

Interrogation avec des liens inclusifsLes requêtes qui utilisent des éléments d�exemple pour lier des tablesextraient en général tous les enregistrements d�une table correspondant àdes enregistrements d�une autre table. Ce type de requête crée un lienexclusif, également appelé jointure interne.

Utilisez l�opérateur d�inclusion ! pour créer une table réponse qui inclut lesenregistrements qui ne correspondent à aucun des enregistrements de latable auxquels ils sont liés. Ce type de requête crée un lien inclusif,également appelé jointure externe.

Ajoutez l�opérateur ! à un élément d�exemple pour extraire tous lesenregistrements de cette table, qu�ils correspondent ou non à desenregistrements d�une autre table. Vous pouvez également ajouter descritères de sélection pour définir l�ensemble des enregistrements maîtresinclus dans la réponse.

� Utilisation de plusieurs opérateurs d�inclusion (!) pour extraire tous lesenregistrements de plusieurs tables.

� Utilisation de ! dans une requête contenant une expression arithmétique.

� Utilisation de liens inclusifs et exclusifs dans la même requête.

Critères de sélection avec des liens inclusifs

Vous pouvez spécifier des critères de sélection pour des liens inclusifs de lamême manière que dans d�autres requêtes. Vous pouvez ainsi affinerl�ensemble des enregistrements de la table maître ou celui de la table deréférence pour qu�ils correspondent.

418 Paradox 9 : Chapitre 7

� Si vous définissez des critères de sélection pour la table maître, la tableréponse obtenue contient uniquement les enregistrements quicorrespondent au critère de sélection spécifié. Cependant, la tableréponse contient toujours tous les enregistrements correspondants, qu�ilsconcordent ou non avec la table de référence.

Établissement de liens avec tous les enregistrements d�une tableVous pouvez chercher à inclure tous les enregistrements d�une table dans latable réponse même s�ils ne correspondent pas à des enregistrements de latable jointe. Vous devez alors créer un lien inclusif à l�aide de ! (l�opérateurd�inclusion).

Lorsque vous utilisez l�opérateur d�inclusion dans l�une des deux tables,celle-ci devient la table maître. L�autre table devient alors la table deréférence. Paradox extrait tout d�abord tous les enregistrements de la tablemaître. Ensuite, il recherche et extrait les enregistrements correspondantsdans la table de référence. La table réponse obtenue contient tous lesenregistrements de la table maître et les enregistrements de la table deréférence qui ont trouvé une correspondance.

L�opérateur inclusif peut également être spécifié de part et d�autre du lien.Par exemple, dans une base regroupant des données sur des étudiants etleurs cours, vous voulez savoir quels étudiants ne se sont pas inscrits àcertains cours, et quels cours ont un effectif nul.

� Le choix de la table où vous allez ajouter l�opérateur inclusif estimportant. Cette table est la table maître. Elle a la priorité de traitement.Par conséquent, deux requêtes identiques qui ne se distinguent que par laposition de l�opérateur d�inclusion peuvent produire des résultatsvraiment différents.

Règles de définition de liens entre les tables

Vous n�avez pas le droit d�utiliser à la fois un lien inclusif et unlien exclusif dans deux lignes liées.

Pour chaque couple de lignes liées dans une requête QBE, vous pouvez soitutiliser un lien inclusif (!), soit un lien exclusif pour les associer. Vous nepouvez cependant pas utiliser les deux types de lien. En effet, un lien inclusifinclut tous les enregistrements de la table maître alors qu�un lien exclusifinclut uniquement les enregistrements dont les valeurs ont descorrespondances dans les champs liés. Si vous utilisez les deux types de lien,Paradox ne sait pas quelle table traiter en premier. La table réponse obtenuevarie selon l�ordre de traitement des tables.

Interrogation de votre base de données 419

Vous respecterez cette règle si vous spécifiez un seul opérateur ! par ligneavec un élément d�exemple et deux par requête. En d�autres termes, vouspouvez utiliser un seul type de lien pour associer deux lignes dans unerequête.

Vous pouvez utiliser un lien inclusif et un lien exclusif dans lamême requête.

Vous pouvez utiliser les deux types de lien dans la même requête à conditionqu�ils ne soient pas associés à la même paire de lignes. Si les deux types delien sont spécifiés dans une requête, l�ordre de traitement est du moinsinclusif au plus inclusif :

1 Les liens exclusifs, qui n�extraient que des enregistrementscorrespondant aux enregistrements d�une autre table, sont traités enpremier.

2 Les liens inclusifs asymétriques (table maître et table de référence), quiextraient tous les enregistrements de la table maître et lesenregistrements ayant des correspondances à partir de la ou des tables deréférence, sont traités ensuite.

3 Les liens inclusifs symétriques (uniquement avec des tables maîtres), quicontiennent tous les enregistrements des deux types de table, sont traitésen dernier.

En traitant les liens exclusifs avant les liens inclusifs, Paradox garantit lacohérence des résultats des requêtes. Pour que les liens soient traités dansun ordre différent, vous devez scinder votre question en plusieurs requêtes.

Exemple de définition de liens avec tous les enregistrements d�unetable

Supposons que vous vouliez savoir si la table Clients contient des clients quin�ont jamais passé de commande. Si vous liez les tables Clients etCommande, spécifiez un élément d�exemple dans le champ No Client dechaque table, puis cochez les champs que vous souhaitez faire figurer dans latable réponse, vous obtiendrez uniquement les enregistrements de clientsqui ont une ou plusieurs correspondances dans la table Commande.

Cependant, si vous ajoutez l�opérateur inclusif (!) après l�élément d�exempledans le champ No Client de la table Clients, tous les enregistrements declients s�afficheront, y compris ceux des clients qui n�ont jamais passé decommande. Pour créer cette requête, vous devrez sélectionner les tablesappropriées, ajouter un nouvel enregistrement à la table Clients, puis définirla requête.

420 Paradox 9 : Chapitre 7

Pour sélectionner les tables

1 Cliquez sur Fichier, Nouveau, Requête.

2 Depuis le dossier Exemple, sélectionnez les tables CLIENTS.DB etCOMMANDE.DB en maintenant la touche CTRL enfoncée.

3 Cliquez sur le bouton Ouvrir.

Pour ajouter un nouvel enregistrement à la table Clients :

1 Cliquez sur Fichier, Ouvrir, Table.

2 Dans la boîte de dialogue Ouverture d�une table, cliquez deux fois sur latable CLIENTS.DB.

3 Sélectionnez l�option Aller à du menu Enregistrement, puis cliquez surDernier.

4 Appuyez sur F9 pour passer en mode Édition.

5 Appuyez sur la FLÈCHE BAS pour ajouter un enregistrement vide à latable.

6 Tapez les informations suivantes dans les champs correspondants de latable :

Nom de champ Données

No Client 9999

Nom The Human Gill Dive Shop

Rue 1225 E. River St.

Ville Savannah

État/Province GA

Code Postal 30541

Country U.S.A.

Téléphone 404-555-1451

Premier Contact 5/31/92

7 Appuyez sur F9 pour quitter le mode Édition.

8 Sélectionnez l�option Fermer du menu Fichier pour fermer la table.

Pour définir la requête

1 Cliquez sur le bouton Joindre les tables et cliquez sur les champs No Clientdes images de requête CLIENTS.DB et COMMANDE.DB.

Interrogation de votre base de données 421

2 Entrez ! après l�élément d�exemple (lien1) dans le champ No Client del�image de requête CLIENTS.DB pour inclure tous les clients de la tableClients dans la table réponse, même s�ils n�ont pas d�enregistrementcorrespondant dans la table Commande.

3 Cochez la case des champs No Client et Nom de l�image de requêteCLIENTS.DB.

4 Cochez la case du champ No Commande de l�image de requêteCOMMANDE.DB.

5 Cliquez sur Requête, Exécuter la requête.

Les clients qui n�ont jamais passé de commande (sans numéro decommande) s�affichent en bas de la table réponse.

Exemple d�utilisation de l�opérateur d�inclusion dans une requête QBEde calcul

Vous pouvez utiliser des opérateurs d�inclusion dans une requête de calcul.

Supposons que vous vouliez connaître les commandes que vous ne pouvezpas honorer en l�état actuel de votre stock. Vous voulez plus particulièrementobtenir une liste de toutes les commandes et mettre en évidence celles pourlesquelles la quantité dépasse le quart du volume en stock. Pour cela, vousdevez sélectionner et joindre les tables appropriées, puis créer la requête.

Pour sélectionner et joindre les tables appropriées

1 Cliquez sur Fichier, Nouveau, Requête.

2 Depuis le dossier Exemple, sélectionnez les tables STOCK.DB,LIGNES.DB et COMMANDE.DB en maintenant la touche CTRLenfoncée.

3 Cliquez sur le bouton Ouvrir.

4 Cliquez sur le bouton Joindre les tables et cliquez sur les champs NoCommande des images de requête COMMANDE.DB et LIGNES.DB.

5 Cliquez sur le bouton Joindre les tables pour définir des élémentsd�exemple dans le champ No Stock des images de requête LIGNES.DB etSTOCK.DB.

Pour définir la requête

1 Entrez ! après l�élément d�exemple du champ No Commande de l�imagede requête COMMANDE.DB pour voir tous les numéros de commande.

2 Cochez la case du champ No Commande dans l�image de requêteCOMMANDE.DB.

422 Paradox 9 : Chapitre 7

3 Cochez la case des champs No Stock et Quantité de l�image de requêteLIGNES.DB.

4 Dans le champ Quantité de l�image de requête LIGNES.DB, appuyez surF5 et tapez l�élément d�exemple qté qui représente chacune des valeursdu champ Quantité de la table Lignes.

5 Dans le champ Quantité de l�image de requête LIGNES.DB, tapez Qtécommande après l�élément d�exemple qté (voir l�étape 4).

6 Cochez la case du champ Quantité de l�image de requête STOCK.DB.

7 Dans le champ Quantité de l�image de requête STOCK.DB, tapez < (,puis appuyez sur F5 et tapez qté suivi d�un espace, puis tapez * 4), Qté enstock.

8 Cliquez sur Requête, Exécuter la requête.

L�opérateur ! dans la table Commande inclut tous les enregistrements decommande dans la table réponse. Dans l�expression qté * 4, l�élémentd�exemple qté permet de multiplier par 4 chaque quantité d�article dans lechamp Quantité de la table Lignes (qui correspond à la quantité commandéepour chaque article). L�opérateur de comparaison < recherche les quantitésen stock réelles qui sont inférieures à cette valeur et permet d�extraire lescommandes qui dépassent un quart du stock. Les enregistrements de la tableréponse qui contiennent uniquement un numéro de commande sont ceux quine correspondent pas aux critères de sélection. Ils apparaissent dans la tableréponse car l�opérateur d�inclusion a été spécifié.

Insertion, suppression et remplacement de valeursdans les requêtes QBE

Utilisez les requêtes SUPPRIMER, REMPLACERPAR et INSÉRER pourmodifier les données d�une table. Ces types de requête produisent des tablestemporaires qui apparaissent dans une fenêtre distincte. Les tablestemporaires contiennent les données qui ont été insérées, supprimées oumodifiées ; elles vous donnent, par conséquent, la possibilité de toujoursrevenir à la table d�origine.

Vous pouvez mêler plusieurs opérations dans une seule requête. Si c�est lecas, les requêtes SUPPRIMER s�effectuent en premier, suivies de toutes lesrequêtes REMPLACERPAR et enfin de toutes les requêtes INSÉRER. Vouschoisissez INSÉRER et SUPPRIMER à partir d�un menu situé dans le chample plus à gauche d�une image de requête. Vous placez REMPLACERPARdans le champ où se trouve la valeur à modifier.

SUPPRIMER : supprime les enregistrements qui répondent aux critèresspécifiés.

Interrogation de votre base de données 423

REMPLACERPAR : donne à des valeurs existantes une nouvelle valeur devotre choix.

INSÉRER : insère de nouveaux enregistrements d�une table dans une autre.

� La table que vous cherchez à modifier à l�aide de ces requêtes n�a pasbesoin d�être ouverte dans une fenêtre.

Ordre des opérations dans une requête multi-opérationVous pouvez apporter, en une seule requête, des modifications sur plusieurstables. Si une fenêtre Requête présente plusieurs images de requête, il fautque toutes les tables soient liées avec des éléments d�exemple pour que larequête fonctionne.

Vous pouvez, par exemple, exécuter une seule requête pour supprimer desenregistrements d�une table, insérer des enregistrements dans une autre etmodifier des valeurs d�une troisième. Vous pouvez aussi exécuter unerequête qui assure des opérations INSÉRER, SUPPRIMER etREMPLACERPAR dans une seule table.

La procédure suivante explique l�ordre dans lequel Paradox réalise lesrequêtes impliquant plusieurs opérations :

1 Paradox extrait les enregistrements en fonction de tous les critères desélection.

2 Paradox procède ensuite aux suppressions dans l�ordre indiqué, autrementdit Paradox regarde la première image de requête, puis la deuxième, etainsi de suite.

3 Paradox procède aux remplacements spécifiés dans l�ordre où il lesrencontre.

4 Paradox procède en fin aux insertions spécifiées dans l�ordre où il lesrencontre.

5 Paradox affiche les tables temporaires, y compris une table réponse, àcondition que les champs correspondants aient été cochés dans l�image derequête (et que le bouton Générer les tables auxiliaires n�ait pas étédésactivé dans la page QBE des Propriétés de la requête).

Vous pouvez concevoir des requêtes complexes qui vous éviterontd�effectuer plusieurs requêtes séquentielles. Attention toutefois, car plusvous regroupez d�opérations dans une seule requête, plus vous aurez dedifficultés à l�annuler.

424 Paradox 9 : Chapitre 7

Insertion d�enregistrements à l�aide des requêtes QBEUtilisez une requête INSÉRER pour insérer des enregistrements d�une oude plusieurs sources dans une même table cible. Les requêtes INSÉRERvous permettent d�identifier les valeurs source à insérer dans les champs devotre table cible.

Avec INSÉRER, vous pouvez insérer des enregistrements issus d�une tabled�un certain type dans une table d�un autre (de dBASE à Paradox ouinversement, par exemple). Vous pouvez, par exemple, placer :

� des données numériques dans un champ de type numérique (Paradoxou dBASE) ;

� des données alphanumériques ou des caractères dans un champ detype alphanumérique ou caractère ;

� des dates dans des champs date.

Les champs qui restent vides (sans aucun élément d�exemple) dans la tablecible ne reçoivent aucune valeur des tables source. Étant donné qu�il estimpossible de placer des éléments d�exemple dans des champs BLOB destables Paradox et dans des champs mémo des tables dBASE, vous ne pouvezpas insérer des valeurs de ce type dans ces types de champ.

Au lieu de produire une table réponse, une requête INSÉRER crée une tabletemporaire appelée INSERE.DB, où ne se trouvent que les enregistrementsinsérés.

Utilisation des tables temporaires des requêtes INSÉRERParadox génère une ou deux tables temporaires au cours d�une requêteINSÉRER.

INSERE.DB

Une requête INSÉRER crée une table temporaire du nom de INSERE.DB.De même que pour une table réponse, Paradox enregistre la tableINSERE.DB dans votre répertoire privé, l�écrase chaque fois que vousexécutez une requête INSÉRER et la supprime dès que vous quittez leprogramme.

Pour enregistrer INSERE.DB sous un autre nom

1 Ouvrez la table INSERE.DB, cliquez sur Format, Renommer.

2 Entrez un nouveau nom dans la boîte de dialogue Renommer.

Interrogation de votre base de données 425

Outre la table INSERE.DB, vous avez la possibilité de créer une tableréponse à condition d�activer les cases à cocher des champs sur une lignedistincte de l�image de requête cible. Si vous inscrivez aussi des critères desélection sur cette ligne, les enregistrements de la table réponse entiendront compte. Sachez, toutefois, qu�une table réponse de ce type necontient aucune information afférente à l�opération INSÉRER. Pour plusd�informations, reportez-vous à la rubrique Ordre des opérations dans unerequête multi-opération à la page 424.

Vous pouvez utiliser la table INSÉRÉ en parallèle à une requêteSUPPRIMER pour annuler une insertion.

ERRINSER.DB

Si vous tentez d�insérer des enregistrements qui transgressent soitl�intégrité référentielle de la table cible, soit les contrôles de validité établispour cette table (sauf les contrôles de validité de modèle), Paradox place lesnouveaux enregistrements dans une table temporaire appeléeERRINSER.DB. Les enregistrements qui ne transgressent ni l�intégritéréférentielle ni les contrôles de validité sont placés dans la tableINSERE.DB.

� Paradox ne crée pas de table INSÉRÉ si vous avez activé l�optionRequêtes rapides dans la boîte de dialogue Propriétés de la requête.

Exécution d�une requête INSÉRERLorsque vous exécutez une requête INSÉRER, Paradox insère lesenregistrements de la table source dans la table cible pour chaque champchoisi. La table source n�est nullement affecté par la requête INSÉRER.

Si la table cible n�existe pas, vous devez la créer avant de créer la requête.

Pour exécuter une requête INSÉRER

1 Cliquez sur Fichier, Nouveau, Requête.

2 Dans la boîte de dialogue Sélection d�un fichier, sélectionnez les tablessource et cible appropriées en maintenant la touche CTRL enfoncée.

3 Cliquez sur le bouton Ouvrir.

4 Liez toutes les tables à l�aide des éléments d�exemple.

5 Pour chaque table source, précisez les critères de sélection.

426 Paradox 9 : Chapitre 7

6 Dans la table cible, placez le mot INSÉRER dans la colonne la plus àgauche (sous le nom de la table) en procédant de l�une des façonssuivantes :

� Tapez la lettre i.

� Cliquez avec le bouton droit de la souris sur la colonne puis cliquez surInsérer.

� Appuyez sur la barre d�espacement et cliquez sur Insérer.

Ne cochez aucun des champs situés sur la même ligne que l�opérateurINSÉRER. Si vous le faites, vous obtiendrez une erreur.

7 Cliquez sur Requête, Exécuter la requête.

Exemple d�insertion d�un enregistrement à l�aide d�une requêteINSÉRER

Supposons que vous vouliez insérer un enregistrement de valeurs littéralesdans la table CONTACTS.DB à l�aide d�une requête INSÉRER.

1 Cliquez sur Fichier, Nouveau, Requête.

2 Dans le dossier Exemple, cliquez deux fois sur la table CONTACTS.DB.

3 Cliquez avec le bouton droit de la souris sur la colonne la plus à gauche del�image de requête de CONTACTS.DB et choisissez Insérer à partir dumenu des opérations de requête.

4 Dans le champ Nom, tapez Salviola.

5 Dans le champ Prénom, tapez Dolores.

6 Dans le champ Société, tapez Keith�s Dive Shop.

7 Dans le champ Téléphone, tapez 404-555-4251.

8 Cliquez sur Requête, Exécuter la requête.

Paradox ouvre la table INSERE.DB.

Si vous ouvrez la table CONTACTS.DB et allez à la fin de la table, vous ytrouverez l�enregistrement inséré.

Interrogation de votre base de données 427

Suppression d�enregistrements à l�aide des requêtes QBEUtilisez les requêtes SUPPRIMER pour supprimer des enregistrementssélectionnés d�une table. Les requêtes SUPPRIMER s�avèrent utiles lorsqueles enregistrements à supprimer présentent des caractéristiques communesque vous pouvez retenir comme critères de sélection. Une requêteSUPPRIMER ne supprime que les enregistrements. Elle ne touche pas auxvaleurs proprement dites des champs. Pour modifier ou supprimer desvaleurs de champ spécifiques, utilisez REMPLACERPAR.

Au lieu de produire une table réponse, une requête SUPPRIMER crée unetable temporaire appelée SUPPRIME.DB, où ne se trouvent que lesenregistrements supprimés.

Utilisation des tables temporaires d�une requête SUPPRIMERParadox génère une ou deux tables temporaires au cours d�une requêteSUPPRIMER.

SUPPRIME.DB

Une requête SUPPRIMER crée une table temporaire du nom deSUPPRIME.DB qui ne contient que les enregistrements supprimés. Paradoxenregistre SUPPRIME.DB dans votre répertoire privé, l�écrase à chaquenouvelle exécution d�une requête SUPPRIMER et la supprime lorsque vousquittez le programme.

Pour enregistrer SUPPRIME.DB sous un autre nom

1 Ouvrez SUPPRIME.DB, cliquez sur Format, Renommer.

2 Entrez un nouveau nom dans la boîte de dialogue Renommer.

Outre la table SUPPRIME.DB, vous avez la possibilité de créer une tableréponse à condition de cocher des champs sur une ligne distincte de l�imagede requête. Si vous fournissez aussi des critères de sélection sur cette ligne,les enregistrements de la table réponse les respecteront. Sachez, toutefois,qu�une table réponse de ce type n�est pas très utile puisqu�elle ne contientaucune information afférente à l�opération SUPPRIMER.

Utilisation de SUPPRIME.DB pour annuler une suppression

Vous pouvez utiliser la table SUPPRIME.DB et une requête INSÉRER, pourannuler une suppression. Utilisez SUPPRIME.DB comme table source pourréinjecter les enregistrements supprimés dans la table d�où ils l�ont été. Sivous réinsérez des enregistrements supprimés d�une table non indexée, ilsviennent s�ajouter à la fin de la table et RISQUENT, par conséquent, de neplus être dans leur ordre d�origine.

428 Paradox 9 : Chapitre 7

Vous pouvez également réinsérer les enregistrements supprimés dans latable d�origine en cliquant sur Outils, Utilitaires, Ajouter. À part ces deuxméthodes, vous n�avez aucun autre moyen de récupérer des enregistrementssupprimés d�une table Paradox.

ERRSUPPR.DB

Si vous tentez de supprimer des enregistrements qui transgressent soitl�intégrité référentielle de la table cible, soit les contrôles de validité établispour cette table (sauf les contrôles de validité de modèle), Paradox place lesnouveaux enregistrements dans une table temporaire appeléeERRSUPPR.DB. Les enregistrements qui ne transgressent ni l�intégritéréférentielle ni les contrôles de validité vont dans la table SUPPRIME.DB.

� Paradox ne crée pas de table SUPPRIME.DB si vous avez activé l�optionRequêtes rapides dans la boîte de dialogue Propriété de la requête.

Exécution d�une requête SUPPRIMERAu lieu de produire une table réponse, une requête SUPPRIMER crée unetable temporaire appelée SUPPRIME.DB, où ne se trouvent que lesenregistrements supprimés.

Pour exécuter une requête SUPPRIMER

1 Cliquez sur Fichier, Nouveau, Requête.

2 Dans la boîte de dialogue Sélection d�un fichier, maintenez la toucheCTRL enfoncée et sélectionnez la table dont vous voulez supprimer desenregistrements et la ou les tables (s�il y en a) à joindre à la table cible et àutiliser pour définir les critères de sélection.

3 Cliquez sur le bouton Ouvrir.

4 Placez le mot SUPPRIMER dans la colonne la plus à gauche (sous le nomde table) de la table dont vous voulez supprimer les enregistrements enprocédant de l�une des façons suivantes :

� Tapez la lettre d.

� Cliquez avec le bouton droit de la souris et sélectionnez Supprimerdans le menu des opérations de requête.

� Appuyez sur la barre d�espacement et cliquez sur Supprimer dans lemenu des opérations de requête.

N�activez aucune des cases à cocher situées sur la même ligne de l�imagede requête que l�opérateur SUPPRIMER.

Interrogation de votre base de données 429

5 Entrez les critères permettant de sélectionner les enregistrements àsupprimer. Vous pouvez entrer plusieurs critères de sélection dansplusieurs champs de la même image de requête ou dans des champs detables liées par des éléments d�exemple.

Attention : Si vous ne précisez aucun critère de sélection, Paradoxsupprime tous les enregistrements de la table.

6 Cliquez sur Requête, Exécuter la requête.

Exemple de suppression d�un enregistrement à l�aide de la requêteSUPPRIMER

Supposons que Larry�s Diving School ait fait faillite et que vous vouliezsupprimer ce magasin de plongée de la table CONTACTS.DB.

1 Cliquez sur Fichier, Nouveau, Requête.

2 Dans le dossier Exemple, cliquez deux fois sur la table CONTACTS.DB.

3 Cliquez avec le bouton droit de la souris sur la colonne la plus à gauche del�image de requête et choisissez Supprimer dans le menu des opérationsde requête.

4 Dans le champ Société, tapez Larry�s Diving School.

5 Cliquez sur Requête, Exécuter la requête.

� Vous pouvez annuler cette requête en suivant les étapes expliquées dansla rubrique Exemple d�annulation d�une requête SUPPRIMER à la page430.

Exemple d�annulation d�une requête SUPPRIMERSupposons que vous supprimiez George Ahearn, votre contact chez Larry�sDiving School, puis décidiez ensuite de vouloir le conserver comme contactpour d�autres clients éventuels.

La manière la plus simple d�annuler la suppression, dans ce cas, serait decliquer sur Outils, Utilitaires, Ajouter, puis de réintégrer l�enregistrementsupprimé de SUPPRIME.DB dans CONTACTS.DB. L�exemple suivant vousmontre une deuxième façon de procéder. Votre choix dépendra de lacomplexité de la suppression que vous tentez d�annuler. Quelle que soit laméthode, faites des copies de la table à chaque stade de façon à pouvoirrevenir en arrière en cas d�erreur dans le processus de reprise.

430 Paradox 9 : Chapitre 7

Utilisation de la fenêtre Requête selon les instructions de la rubriqueExemple de suppression d�un enregistrement à l�aide d�une requêteSUPPRIMER à la page 430.

1 Effacez les critères de sélection existant dans l�image de requêteCONTACTS.DB en appuyant sur CTRL+SUPPR dans un champquelconque de l�image.

2 Ajoutez l�image de requête SUPPRIME.DB à la fenêtre Requête.

3 Cliquez sur le bouton Joindre les tables et cliquez sur chaque couple dechamps correspondants dans CONTACTS.DB et SUPPRIME.DB.

4 Cliquez avec le bouton droit de la souris sur la colonne la plus à gauche deCONTACTS.DB, puis cliquez sur Insérer dans le menu des opérations derequête.

5 Cliquez sur Requête, Exécuter la requête.

Si vous ouvrez la table CONTACTS.DB et allez à la fin de cette table, vousconstaterez que l�enregistrement de George Ahern a bien été ajouté.

Remplacement de valeurs à l�aide des requêtes QBEUtilisez les requêtes REMPLACERPAR pour modifier des valeurs de champspécifiques d�une table en fonction de critères de sélection choisis. Larequête REMPLACERPAR constitue, en fait, un moyen de recherche et deremplacement global. Elle s�avère particulièrement utile lorsque vous voulezmodifier plusieurs valeurs présentant des caractéristiques communes.

Au lieu de produire une table réponse, une requête REMPLACERPAR créeune table temporaire appelée MODIFIE.DB, où se trouve une copie desenregistrements tels qu�ils existaient avant modification.

Utilisation des tables temporaires de la requête REMPLACERPARParadox génère une ou deux tables temporaires au cours d�une requêteREMPLACERPAR.

MODIFIE.DB

Une requête REMPLACERPAR crée une table temporaire du nom deMODIFIE.DB qui contient une copie des enregistrements tels qu�ilsexistaient avant la modification. Paradox enregistre MODIFIE.DB dans votrerépertoire privé, l�écrase chaque fois que vous exécutez une requêteREMPLACERPAR et la supprime dès que vous quittez le programme.

Interrogation de votre base de données 431

Pour enregistrer MODIFIE.DB sous un autre nom

1 Ouvrez MODIFIE.DB, cliquez sur Format, Renommer la table.

2 Entrez un nouveau nom dans la boîte de dialogue Renommer.

Outre la table MODIFIE.DB, vous avez la possibilité de créer une tableréponse à condition de cocher des champs sur une ligne distincte de l�imagede requête. Si vous fournissez aussi des critères de sélection sur cette ligne,les enregistrements de la table réponse les respecteront. Sachez, toutefois,qu�une table réponse de ce type n�est pas très utile puisqu�elle ne contientaucune information afférente à l�opération REMPLACERPAR.

Vous pouvez utiliser la table MODIFIE.DB pour annuler des modificationsapportées à la suite d�une requête REMPLACERPAR.

ERRMODIF.DB

Si vous tentez de modifier des enregistrements qui transgressent soitl�intégrité référentielle de la table soit les contrôles de validité établis pourcette table (sauf les contrôles de validité de modèle), Paradox place lesnouveaux enregistrements dans une table temporaire appeléeERRMODIF.DB. Seuls les enregistrements qui ne transgressent nil�intégrité référentielle ni les contrôles de validité vont dans la tableMODIFIE.DB.

� Si vous avez activé l�option Requêtes rapides de la boîte de dialoguePropriétés de la requête, Paradox ne crée pas la table MODIFIE.DB.

Exécution d�une requête REMPLACERPARAu lieu de produire une table réponse, une requête REMPLACERPAR créeune table temporaire appelée MODIFIE.DB, où se trouve une copie desenregistrements tels qu�ils existaient avant modification.

Pour exécuter une requête REMPLACERPAR

1 Entrez la valeur que vous voulez modifier dans le champ approprié del�image de requête.

2 Faites suivre cette valeur d�une virgule (,).

3 Après la virgule, tapez REMPLACERPAR suivi d�un espace (comme pourtous les opérateurs de Paradox, vous pouvez utiliser des majuscules oudes minuscules).

4 À la suite de REMPLACERPAR et de l�espace, tapez la nouvelle valeurque vous voulez donner à la valeur actuelle.

432 Paradox 9 : Chapitre 7

Vous pouvez également entrer des critères de sélection dans d�autreschamps pour définir plus à fond les enregistrements à modifier.

L�opérateur REMPLACERPAR doit se trouver sur la même ligne del�image de requête que tout autre critère de sélection. N�activez aucunedes cases à cocher sur cette ligne de l�image de requête.

5 Cliquez sur Requête, Exécuter la requête.

Paradox modifie tous les enregistrements qui répondent aux critères desélection.

Annulation des modifications à l�aide de la table MODIFIEUtilisez la table MODIFIE pour vérifier que les modifications portent sur lesbons enregistrements. Si vous avez modifié des enregistrements par erreur,vous avez la possibilité de supprimer les enregistrements modifiés de la tableobjet de la requête et de réinsérer les enregistrements d�origine à partir de latable MODIFIÉ.

Pour annuler les modifications à l�aide de la table MODIFIE

1 Exécutez une requête SUPPRIMER sur la table dont vous avez modifiéaccidentellement les enregistrements, en utilisant comme critères desélection la ou les nouvelles valeurs de champ, c�est-à-dire celles quevous venez d�attribuer.

Vous supprimez ainsi les enregistrements incorrects.

2 En prenant la table MODIFIE.DB comme source et la table d�originecomme cible, utilisez une requête INSÉRER pour réinsérer lesenregistrements supprimés dans la table d�origine.

De ce fait, la table objet de la requête retrouve son état d�origine. Si vousréinsérez des enregistrements dans une table indexée, Paradox les insèreà la fin de la table. Ils risquent, par conséquent, de ne pas retrouver leurplace d�origine.

� Pour plus d�informations sur l�exécution d�une requête SUPPRIMER,reportez-vous à la rubrique Exécution d�une requête SUPPRIMER à lapage 429.

� Pour plus d�informations sur l�exécution d�une requête INSÉRER,reportez-vous à la rubrique Exécution d�une requête INSÉRER à la page426.

Interrogation de votre base de données 433

Exécution d�une requête REMPLACERPAR multi-tableVous pouvez créer une requête REMPLACERPAR pour modifier lesenregistrements d�une table de façon à ce qu�ils correspondent à ceux d�uneautre table liée par le biais de l�intégrité référentielle.

Pour exécuter une requête REMPLACERPAR multi-table1 Cliquez sur Fichier, Nouveau, Requête.

2 Dans le dossier Exemple, cliquez sur les tables maître et détails tout enmaintenant la touche CTRL enfoncée, puis cliquez sur le bouton Ouvrir.

3 Cliquez sur le bouton Joindre les tables et cliquez sur les champscorrespondant dans les images de requête.

4 Dans l�image de requête de la table parent, tapez REMPLACERPAR et unespace avant l�élément d�exemple dans chaque champ que vous voulezmodifier.

5 Cliquez sur Requête, Exécuter la requête.

Paradox modifie les valeurs des champs appropriés de la table parent pourles faire correspondre à celles de la table détail.

Exemple d�utilisation d�une requête REMPLACERPAR avec des élémentsd�exemple

Vous pouvez utiliser une requête REMPLACERPAR avec des élémentsd�exemple pour effectuer un calcul sur des valeurs d�un champ et donner auxvaleurs d�origine du même champ les nouvelles valeurs calculées. Si vousfaisiez appel à l�opérateur CALC, Paradox créerait un nouveau champ pour yenregistrer les résultats dans une table réponse et ne toucherait pas auxvaleurs d�origine.

Cette requête augmente de 15 % le prix catalogue de tous les articles enstock de la table Stock. Dans l�image de requête, Prix catalogue est unélément d�exemple qui représente la valeur du champ Prix Tarif.

434 Paradox 9 : Chapitre 7

UTILISATION DES OBJETS DECONCEPTION 8Les objets de conception sont les champs, les boutons et tous les autresattributs que vous voyez lorsque vous ouvrez un document de conceptiondans Paradox. Un objet de conception peut être un simple attribut visuel telqu�une zone ou une ligne ou encore un outil de saisie de données tel qu�unchamp. Les objets de conception vous permettent d�améliorer lafonctionnalité et l�efficacité des fiches et des états que vous créez. Il estnotamment possible de programmer un objet bouton dans ObjectPAL defaçon à pouvoir passer d�un enregistrement à l�autre d�une table.

Paradox propose toute une série d�objets de conception qui vous permettentd�améliorer l�aspect et la fonctionnalité de vos documents de conception. Ils�agit des outils :

� zone, ellipse et ligne pour ajouter des éléments graphiques à votreconception ;

� bouton pour émettre des commandes à Paradox ;

� graphe pour afficher des informations sous forme graphique ;

� référence croisée pour regrouper les informations en fonction d�une ou deplusieurs catégories ;

� champ pour afficher les données des tables sur lesquelles reposel�élaboration de la fiche ou de l�état ;

� champ calculé pour effectuer des calculs sur les valeurs d�un ou deplusieurs champs :

Utilisation des objets de conception 435

� graphique pour insérer des images bitmap dans une fiche ou un état ;

� multi-enregistrement pour afficher simultanément plusieursenregistrements ;

� classeur pour organiser de grandes fiches ;

� contrôles ActiveX et natif Windows pour permettre aux objets Paradox decontenir des données en provenance d�une autre application ;

� cadre de table pour consulter tout ou partie d�une table source ;

� texte pour ajouter des titres et des libellés ainsi que pour fournir desinstructions.

Dans de nombreux cas, il est possible de modifier les propriétés des objetsde conception pour répondre à des besoins spécifiques. Vous pouvez modifierles propriétés visuelles d�un objet telles que la taille, la couleur ou le style dutexte. Rien ne vous empêche par ailleurs de contrôler le comportement d�unobjet lors de l�exécution de votre document de conception.

� Pour apprendre à ajouter des méthodes ObjectPAL aux objets deconception, reportez-vous au guide de référence ObjectPAL en ligne.

� Pour obtenir la liste des propriétés et des fonctions des objets etapprendre à les modifier, reportez-vous à la référence Propriétés desobjets de la section Références générales de l�aide en ligne.

Zones, ellipses et lignesParadox dispose de trois outils de dessin (Zone, Ellipse et Ligne) qui vouspermettent d�ajouter des éléments graphiques à votre conception.

Utilisez l�outil Zone pour créer des carrés, des rectangles etdes zones.

Utilisez l�outil Ligne pour tracer des lignes horizontales,verticales ou diagonales.

Utilisez l�outil Ellipse pour créer des cercles et des ellipses.

436 Paradox 9 : Chapitre 8

Imbrication des objets de conception à l�aide des zones et desellipses

Lorsqu�une zone ou une ellipse entoure intégralement les bordures de toutautre objet, l�objet figurant à l�intérieur est alors dit « imbriqué ».

Les objets imbriqués

� se déplacent lorsque vous déplacez leurs conteneurs ;

� sont supprimés lorsque vous supprimez leurs conteneurs ;

� sont copiés avec le conteneur en tant que groupe lorsque vous utilisez lacommande Dupliquer (menu Conception).

Suppression des objets à l�aide d�une zone ou d�une ellipse

Si une zone ou une ellipse entoure un objet et que vous voulez supprimer lazone ou l�ellipse tout en conservant l�objet imbriqué, assurez-vous que lapropriété Imbriquer les objets est désactivée pour la zone ou l�ellipse.

� Pour plus d�informations sur les propriétés des zones, des ellipses et deslignes, consultez la référence Propriétés des objets de l�aide en ligne.

Insertion d�une zone dans une fiche ou un étatInsérez une zone pour encadrer des objets ou leur donner un simple effetvisuel. Pour entourer les objets d�une zone, tracez une zone autour desobjets existants ou faites glisser les objets vers une zone. Rien ne vousempêche ensuite de personnaliser les zones pour obtenir l�aspect et lafonctionnalité que vous souhaitez.

Utilisation des objets de conception 437

Exemple d�objetimbriqué dans unautre. Ici, l�ellipsecontient une ligne.

Pour insérer une zone dans une fiche ou un état

1 Cliquez sur l�outil Zone.

2 Cliquez sur l�un des boutons suivants :

� Pour créer une zone de la taille par défaut, cliquez sur la fiche ou l�état àl�endroit précis où vous voulez placer la zone.

� Pour créer une zone de toute autre taille, cliquez sur la fiche ou l�état àl�endroit où vous voulez placer la zone et faites glisser les bords enfonction des dimensions voulues.

3 Cliquez sur les huit poignées qui entourent la zone et faites-les glissercomme bon vous semble pour obtenir la forme souhaitée.

Insertion d�une ellipse dans une fiche ou un étatInsérez une ellipse pour encadrer des objets ou pour leur donner un simpleeffet visuel. Pour entourer des objets d�une ellipse, tracez une ellipse autourdes objets existants ou faites glisser les objets vers une ellipse. Rien ne vousempêche ensuite de personnaliser les ellipses pour obtenir l�aspect et lafonctionnalité dont vous avez envie.

Pour insérer une ellipse dans une fiche ou un état

1 Cliquez sur l�outil Ellipse.

2 Cliquez sur l�un des boutons suivants :

� Pour créer une ellipse de la taille par défaut, cliquez sur la fiche ou l�état àl�endroit précis où vous voulez placer l�ellipse.

� Pour créer une ellipse de toute autre taille, cliquez sur la fiche ou l�état àl�endroit où vous voulez placer l�ellipse et faites glisser les bords enfonction des dimensions voulues.

3 Si vous relâchez le bouton de la souris avant que l�ellipse n�ait ladimension ou la forme voulue, cliquez sur les huit poignées qui entourentl�ellipse et faites-les glisser comme bon vous semble.

Insertion d�une ligne dans une fiche ou un étatVous pouvez placer les types de ligne suivants dans les fiches :

� Lignes droites à n�importe quel angle ;

� Lignes elliptiques ;

� Lignes dotées de flèches aux extrémités (ne s�appliquent qu�aux lignesdroites).

438 Paradox 9 : Chapitre 8

Rien ne vous empêche de personnaliser les lignes pour obtenir l�aspect et lafonctionnalité que vous souhaitez.

Pour insérer une ligne dans une fiche ou un état

1 Cliquez sur l�outil Ligne.

2 Cliquez sur l�un des boutons suivants :

� Pour créer une ligne de la taille par défaut, cliquez sur la fiche ou l�étatà l�endroit précis où vous voulez placer la ligne.

� Pour créer une ligne de toute autre taille, cliquez sur la fiche ou l�état àl�endroit où vous voulez commencer la ligne et faites-la glisser à ladimension voulue.

3 Si vous relâchez le bouton de la souris avant que la ligne n�ait la taille ou laforme voulue, cliquez sur les huit poignées qui l�entourent et faites-lesglisser comme bon vous semble.

Pour créer une ligne elliptique

1 Cliquez sur la ligne avec le bouton droit de la souris, puis cliquez surPropriétés.

2 Dans la boîte de dialogue Propriétés, cliquez sur la page Style.

3 Activez le bouton Elliptique.

4 Cliquez sur OK pour revenir à la fiche ou à l�état.

5 Faites glisser l�extrémité pour ajuster l�angle de la courbe.

La direction de la courbe dépend de la direction dans laquelle vous tracezla ligne, de l�extrémité que vous faites glisser et de la direction danslaquelle vous faites glisser l�extrémité.

Dans l�illustration suivante, chaque ligne elliptique a été tracée dans ladirection représentée par la flèche au-dessus de la ligne. Le X indiquel�extrémité à partir de laquelle la courbe a été tracée.

Utilisation des objets de conception 439

Faites-vous même l�expérience en faisant glisser tour à tour les deuxextrémités pour obtenir l�effet recherché.

Pour redresser une ligne elliptique

1 Cliquez sur la ligne avec le bouton droit de la souris, puis cliquez surPropriétés.

2 Dans la boîte de dialogue Propriétés, cliquez sur la page Style.

3 Activez le bouton Normale.

Pour ajouter des flèches aux lignes droites

1 Cliquez sur la ligne avec le bouton droit de la souris, puis cliquez surPropriétés.

2 Dans la boîte de dialogue Propriétés, cliquez sur la page Style.

3 Activez l�une des options suivantes :

� Aucune flèche : supprime les flèches d�une ligne.

� Flèche à une extrémité : insère une flèche à la fin de la ligne. La flèchedésigne la direction dans laquelle vous avez fait glisser la souris pourcréer la ligne.

� Flèches aux deux extémités : insère des flèches à chaque extrémitéde la ligne.

440 Paradox 9 : Chapitre 8

Objet boutonVous avez tout loisir de créer des boutons sur une fiche, puis d�utiliserensuite ObjectPAL pour leur associer une méthode. L�utilisateur clique sur lebouton pour déclencher l�opération que vous avez définie dans la méthode.

Paradox vous permet de créer trois types de bouton.

Type de bouton Aspect et fonction

Bouton poussoir Bouton rectangulaire qui exécute le code ObjectPAL associé lorsque vouscliquez dessus. Si besoin est, faites appel à l�Expert de bouton pourassocier du code à un bouton ou, en cas de code plus évolué, programmezmanuellement le bouton à l�aide de l�Explorateur d�objet. Il s�agit dutype de bouton par défaut.

Case d�option Bouton libellé rond ou en forme de losange qui offre deux possibilités àl�utilisateur. À chaque clic, la valeur de ce bouton bascule entre vrai etfaux.

Case à cocher Bouton libellé carré qui indique une situation oui/non. Chaque fois quel�utilisateur clique sur le bouton, il passe de oui/vrai à non/faux.

� Les boutons ne sont disponibles que dans les fiches. Il ne peut pas y enavoir dans les états.

Insertion d�un bouton dans une ficheVous insérez un bouton dans une fiche à l�aide de l�outil Bouton. Une fois lebouton inséré dans votre fiche, un objet texte apparaît sur le dessus dubouton pour vous laisser entrer un libellé. Rien ne vous empêche desupprimer le libellé et d�utiliser l�outil Graphique pour le remplacer par uneimage ou une icône.

Pour insérer un bouton dans une fiche

1 Ouvrez une fiche dans la fenêtre Conception, puis cliquez sur l�outilBouton.

2 Cliquez sur la fiche pour placer le bouton s�il est à la taille par défaut oucliquez sur la fiche et faites glisser le bouton pour le placer à l�endroitvoulu et lui donner la taille de votre choix.

Utilisation des objets de conception 441

Pour modifier le libellé

1 Cliquez sur l�objet texte.

2 Cliquez une nouvelle fois pour placer le point d�insertion dans l�objettexte.

3 Entrez le nouveau libellé.

Pour supprimer le libellé

1 Sélectionnez l�objet texte.

2 Cliquez sur Édition, Effacer.

� Paradox centre automatiquement le texte sur le bouton. Si vous ne voulezpas centrer le libellé, cliquez sur le bouton avec le bouton droit de lasouris, puis sélectionnez Propriétés et désactivez la case à cocher Libellécentré de la page Général.

� Si vous déplacez le libellé, vous désactiverez automatiquement l�optionLibellé centré ; vous devrez alors activer cette option manuellement pourcentrer de nouveau le libellé.

Sélection d�un type de boutonCette propriété permet de contrôler la fonctionnalité du bouton. Par défaut,un bouton est un bouton poussoir. Mais rien ne vous empêche de créer unecase d�option ou une case à cocher. Consultez la rubrique Objet bouton à lapage 441 pour connaître la description de ces trois types de bouton.

Vous pouvez également créer un groupe de cases d�option ou une case àcocher à partir d�un objet champ. Un champ (le bouton ou la case à cocherque l�utilisateur choisit) présente un avantage certain. Il est capable devalider une valeur dans la table à laquelle la fiche est liée. Il suffit de cliquersur le bouton pour valider la valeur dans la table.

Pour sélectionner un type de bouton

1 Ouvrez une fiche dans la fenêtre de conception.

2 Cliquez sur le bouton avec le bouton droit de la souris, puis sélectionnezPropriétés.

3 Cliquez sur la page Général de la boite de dialogue Propriétés, choisissezle type de bouton et activez l�une des options suivantes :

442 Paradox 9 : Chapitre 8

� Bouton poussoir : crée un bouton rectangulaire, contenant un libellé. Ilest associé à une action basée sur une méthode ObjectPAL. Lorsquel�utilisateur appuie sur ce bouton, sa valeur est Vrai. Dans le cascontraire, sa valeur est Faux. Le bouton poussoir est le type de boutonpar défaut.

� Case d�options : crée un bouton rond ou en forme de losange,contenant un libellé. Il est associé à une option. Il suffit de cliquer surle bouton pour le désactiver (vide) ou l�activer (noirci). À chaque clic, lebouton bascule entre les valeurs Faux et Vrai.

� Case à cocher : crée un bouton carré, contenant un libellé. Il disposed�un état de type oui/non. Il suffit de cliquer sur le bouton pour l�activerou le désactiver. À chaque clic, le bouton bascule entre les valeurs Fauxet Vrai.

� Pour plus d�informations sur les types de bouton, reportez-vous auxpropriétés Type de bouton de la référence Propriétés des objets de l�aideen ligne.

Sélection d�un style de boutonLe style d�un bouton détermine son aspect à l�écran. Vous êtes tout à faitlibre de personnaliser le style des cases d�option et des cases à cocher.

Pour sélectionner un style de bouton

1 Ouvrez une fiche dans la fenêtre Conception, cliquez sur la fiche avec lebouton droit de la souris, puis sélectionnez Propriétés.

2 Activez le bouton Case d�option ou le bouton Case à cocher de la pageGénéral de la boîte de dialogue Propriétés.

3 Activez l�un des boutons suivants :

� Borland : crée des cases d�option et des cases à cocher ayant uneapparence tri-dimensionnelle. Les cases d�option sont des losangesgris en relief ; les cases à cocher sont des carrés gris en relief.

� Windows 3D : crée des cases d�option et des cases à cocher similaires àcelles trouvées dans la plupart des produits Windows. Les casesd�option sont des cercles gris en trois dimensions. Les cases à cochersont rondes.

Utilisation des objets de conception 443

� Pour plus d�informations sur les styles des boutons, reportez-vous à lapropriété Style de la référence Propriétés des objets de l�aide en ligne.

Modification des événements et des méthodes des boutonsFaites appel à ObjectPAL pour modifier les méthodes et les événementsexistants ou ajoutez vous-même de nouvelles méthodes au bouton. C�estainsi que vous pouvez affecter une fonctionnalité au bouton. L�utilisateurclique sur le bouton pour déclencher l�opération que vous avez définie dans laméthode. Vous pouvez, par exemple, associer une méthode à un bouton pourque, dès que vous appuyez sur le bouton, Paradox imprime un étatspécifique, déplace un enregistrement particulier ou recherche une valeurdonnée.

Pour modifier les événements et les méthodes des boutons

1 Cliquez avec le bouton droit de la souris et choisissez Explorateur d�objet.

2 Cliquez soit sur la page Méthodes, soit sur la page Événements.

3 Modifiez une ou plusieurs méthodes ou événements ObjectPAL pour lebouton.

Objet grapheLes graphes vous permettent de présenter une vue globale de vos données.Ils peuvent révéler des tendances ou des physionomies et expliquer lacontribution de chacun des éléments d�un ensemble. Les graphes vouspermettent de tirer rapidement des conclusions et d�analyser les relationsexistant entre les données, ce que vous risquez de ne pas faire autrement. Ilscommuniquent les informations « cachées » de vos tables en :

� décomposant les données dans des catégories choisies ;

� synthétisant les données dans chacune de ces catégories ;

� triant les données résumées.

� Pour plus d�informations sur les graphes et leurs propriétés,reportez-vous à la rubrique Utilisation des graphes à la page 324.

444 Paradox 9 : Chapitre 8

Insertion d�un graphe dans une fiche ou un étatPour insérer un graphe dans une fiche ou un état, utilisez l�outil Graphe. Legraphe peut prendre la taille que vous voulez.

Pour insérer un graphe dans une fiche ou un état

1 Ouvrez une fiche ou un état dans la fenêtre Conception, puis cliquez surl�outil Graphe.

2 Cliquez sur l�emplacement de la fiche ou de l�état où vous voulez insérerle graphe.

Un objet graphe tabulaire vierge s�affiche avec un axe des X, un axe des Yet des données non définies.

3 Faites glisser les poignées de dimensionnement pour donner au graphe ladimension voulue.

� Dans un état, la portée d�un graphe est déterminée en partie par la sectionde l�état où il se trouve.

Modification des propriétés d�un grapheChaque partie d�un graphe dispose de propriétés uniques et l�objet graphe, entant que tel, dispose aussi de ses propres propriétés. Pour plusd�informations sur les propriétés spécifiques d�un graphe, reportez-vous à laréférence Propriétés des objets de l�aide en ligne.

Pour modifier les propriétés d�un graphe

Avec le bouton droit de la souris, cliquez sur :

1 La zone de titre pour définir ou personnaliser l�affichage du titre ;

2 Le fond pour modifier son format d�affichage ;

Utilisation des objets de conception 445

3 Les séries pour définir la valeur sur l�axe des y de chaque série ;

4 La légende pour modifier son format d�affichage et son emplacement ;

5 L�axe des x pour définir le champ requis pour former les séries le long del�axe des x ;

6 L�axe des y pour définir les champs formant l�axe des y ;

7 Le coin en haut à gauche du graphe pour définir l�objet graphe en entier.

� Les poignées n�apparaissent pas autour des différentes zones distinctes dugraphe lorsque vous les sélectionnez, étant donné qu�il est impossible deles déplacer de façon individuelle. Toutefois, le curseur se transforme enflèche vers le haut lorsque vous passez sur une zone modifiable dugraphe.

Objet référence croiséeL�outil Référence croisée est un outil d�analyse des données qui permet derésumer (croiser) les informations en fonction d�une ou de plusieurscatégories.

Les catégories d�une référence croisée sont des champs. Les donnéesrésumées pour la référence croisée sont issues d�une requête. Puisque lesréférences croisées créent et exécutent automatiquement des requêtes, il estinutile de définir une requête au préalable. Cela dit, le principe de la requêtepeut vous aider à comprendre le type d�information qu�est amenée à contenirune référence croisée.

� Pour plus d�informations sur les références croisées et leurs propriétés,reportez-vous à la rubrique Utilisation des références croisées à la page340.

Insertion d�une référence croisée dans une fiche ou un étatLorsque vous insérez une référence croisée dans une fiche ou dans un état,la référence croisée se sert du modèle relationnel de la fiche ou de l�état enquestion.

Pour insérer une référence croisée dans une fiche ou un état

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez sur l�outilRéférence croisée.

446 Paradox 9 : Chapitre 8

2 Cliquez sur la fiche ou sur l�état pour créer une référence croisée de lataille par défaut, ou cliquez et faites glisser la référence croisée à ladimension voulue.

Un objet référence croisée vide apparaît avec des champs non définis dansl�en-tête de ligne, l�en-tête de colonne et la première zone d�opérateurrécapitulatif.

Modification des propriétés d�une référence croiséeUn objet référence croisée est un objet composite constitué de :

� champs

� lignes

� colonnes

� opérateurs récapitulatifs

Chaque partie d�une référence croisée dispose de propriétés uniques et laréférence croisée en tant que telle dispose de ses propres propriétés.

Pour modifier les propriétés de l�ensemble de la référencecroisée

� Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur l�angle supérieur gauche de la référencecroisée et sélectionnez Propriétés.

Pour modifier les propriétés d�une partie de la référence croisée

� Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez avec lebouton droit de la souris sur la partie de la référence croisée qui vousintéresse et sélectionnez Propriétés.

Objets champsVous pouvez insérer un champ d�une table Paradox dans une fiche ou un état.Les objets champ affichent les données de la ou des tables sur lesquellesrepose la fiche ou l�état. Dans la fenêtre Conception, les donnéesn�apparaissent pas dans le champ. Vous devez exécuter la fiche ou l�état pourque Paradox affiche les données dans l�objet champ.

Lorsque vous créez une fiche ou un état et que vous choisissez unedisposition différente de vierge dans la boîte de dialogue Conception, Paradoxplace les champs issus de votre table dans la conception. Rien ne vousempêche d�insérer d�autres champs dans la conception.

Utilisation des objets de conception 447

Objet champ dans les états

Dans les états, vous devez respecter certaines règles lorsque vous placezdes objets champ dans des conceptions d�état multi-table.

� Si l�objet champ est défini comme un champ de la table maître, vouspouvez le placer dans n�importe quelle bande.

� Si l�objet champ est défini comme un champ de la table détail, il doit êtreinséré dans la zone de répétition de la table détail (un cadre de table ou unobjet multi-enregistrement).

� Pour plus d�informations sur les propriétés associées aux champs,reportez-vous à la référence Propriétés des objets de l�aide en ligne.

Insertion d�un champ dans une fiche ou un étatVous pouvez insérer un champ dans n�importe quelle fiche et n�importe quelétat. Vous devez définir le champ de façon à ce qu�il soit lié à un champ d�unetable de votre modèle relationnel. Lors de l�exécution de la fiche ou de l�état,Paradox affiche les données de ce champ dans chaque enregistrement quevous affichez.

Insertion d�un objet champSelon les propriétés de l�outil, le champ peut être un champ libellé, un champd�édition, une zone de liste, une zone d�options, une case d�option ou unecase à cocher. Rien ne vous empêche d�insérer un champ qui ne se trouve pasdans le menu (champ récapitulatif, champ spécial ou champ calculé, parexemple). Vous pouvez tout aussi bien laisser le champ non défini.

Pour insérer un objet champ

1 Cliquez sur l�outil Champ dans la barre d�outils.

2 Cliquez à l�endroit voulu pour insérer l�objet champ de la taille par défautou cliquez et faites glisser l�objet champ pour lui donner la dimension devotre choix.

Par défaut, Paradox crée un objet champ libellé qui se compose du libellé(un objet texte) et d�une zone d�édition où apparaissent les données duchamp.

448 Paradox 9 : Chapitre 8

Pour définir le champ de table que vous voulez afficher

1 Cliquez sur l�objet champ avec le bouton droit de la souris et sélectionnezDéfinir le champ.

La boîte de dialogue Définition d�un champ affiche une zone de liste pourchaque table utilisée dans la fiche.

2 Choisissez un champ dans la zone de liste de la table appropriée.

� Pour définir un champ, la fiche ou l�état doivent être liés à un modèlerelationnel.

Utilisation de la Palette champLa Palette champ vous permet d�ajouter rapidement des champs de table àune fiche ou à un état. Elle contient les noms de toutes les tables de votrerépertoire de travail. Lorsque vous choisissez une table dans la zone de liste,le panneau inférieur de la Palette champ affiche tous les champs de cettetable.

Pour ouvrir la Palette champ

� Ouvrez une fiche ou un état dans une fenêtre Conception, cliquez surAffichage, puis sur Palette champ.

Pour ajouter un champ à une fiche ou à un état à l�aide de laPalette champ

1 Choisissez une table dans la zone de liste de la Palette champ.

2 Faites glisser le champ de la liste vers votre fiche ou votre état.

Paradox ajoute le champ à la fiche ou à l�état. Si vous ajoutez un champissu d�une table n�appartenant pas au modèle relationnel de la fiche ou del�état, Paradox vous demande de confirmer l�ajout de la table au modèlerelationnel.

� Une fois que vous avez ajouté un champ, il vous appartient de le définir etd�en fixer les propriétés.

Utilisation des objets de conception 449

Définition de la fonctionnalité d�un objet champIl existe six types d�objet champ, à savoir : les zones d�options, les listes, leszones d�édition, les cases d�option, les cases à cocher et les boutons bascule.

Zones d�options

Lorsque les utilisateurs entrent des données à l�aide d�une zone de liste, ilspeuvent soit entrer une valeur dans la zone d�édition, soit la choisir dans unezone de liste. Utilisez une zone de liste pour permettre aux utilisateursd�entrer rapidement des données dans un champ comportant un nombrelimité de valeurs valides. Lors de la création de l�objet champ, vous devezpréciser les valeurs valides dans la boîte de dialogue Définir les valeurs ; ilreste aux utilisateurs à choisir parmi ces valeurs lorsqu�ils entrent lesdonnées au cours de l�exécution de la fiche.

Par exemple, si vous créez une fiche de saisie pour la table Commande et quevous connaissez les six valeurs les plus courantes du champ Mode derèglement, vous pouvez afficher ces valeurs dans un objet champ de typezone de liste.

Ces objets champ ne sont pas disponibles dans les états.

Listes

Un champ de type liste soumet aux utilisateurs une liste de valeurs parmilesquelles ils peuvent choisir. Les utilisateurs sont en mesure desélectionner une valeur à partir de la liste mais doivent se contenter desvaleurs répertoriées. Une seule valeur à la fois peut être sélectionnée.Utilisez une liste pour permettre aux utilisateurs d�entrer rapidement lesdonnées dans un champ comportant un nombre précis de valeurs valides.Lors de la création de l�objet champ, vous devez préciser les valeurs validesdans la boîte de dialogue Définir les valeurs ; il reste aux utilisateurs à choisirparmi ces valeurs lorsqu�ils entrent les données au cours de l�exécution de lafiche.

Par exemple, si vous créez une fiche de saisie pour la table Commande et quevous savez que le champ Transporteur ne peut prendre que cinq valeurs,vous pouvez afficher ces valeurs dans un objet champ de type liste.

Zones d�édition

Il s�agit d�un champ où l�utilisateur peut consulter ou entrer des données.Pour pouvoir consulter les valeurs d�une table, la fiche ou l�état doivent êtreliés à un modèle relationnel. Cela s�avère indispensable aux utilisateurs quisouhaitent consulter un champ spécifique enregistrement aprèsenregistrement. Au lieu de sélectionner les enregistrements d�une liste,utilisez les boutons de navigation pour passer d�un enregistrement à l�autre.

450 Paradox 9 : Chapitre 8

Lors de la création de la zone d�édition, vous devez préciser les valeurs dansla boîte de dialogue Définir les valeurs ; il reste aux utilisateurs à choisir lesvaleurs lorsqu�ils entrent les données au cours de l�exécution d�une fiche. Lamodification du libellé ne suffit pas à changer la valeur du champ. Pour cela,vous devez modifier le champ dans la boîte de dialogue Modifier l�ordre.

Cases d�option et boutons bascule

Les cases d�option et les boutons bascule assurent les mêmes fonctions. Ilsprésentent tous deux une liste de valeurs aux utilisateurs parmi lesquelles ilspeuvent choisir. Les utilisateurs activent un bouton pour sélectionner unevaleur de la liste. Utilisez ces objets champ pour permettre aux utilisateursde sélectionner les données d�un champ comportant un nombre précis devaleurs.

Lors de la création de l�objet champ, vous devez préciser les valeurs validesdans la boîte de dialogue Définir les valeurs ; il reste aux utilisateurs àsélectionner ces valeurs lorsqu�ils entrent les données au cours del�exécution de la fiche. La modification du libellé d�un bouton dans la fenêtreConception n�entraîne pas la modification de la valeur du champ. Vous devezmodifier cette valeur dans la boîte de dialogue Modifier l�ordre.

Cases à cocher

Une case à cocher prend deux états : activé et désactivé. L�utilisateur activela case à cocher, un X apparaît dans la case. Si la case est désactivée, ellereste vide. Le champ prend une valeur lorsque la case est activée et uneautre lorsqu�elle est désactivée. Les valeurs de la case à cocher sont définiesdans la boîte de dialogue Valeurs case à cocher. Une case à cocher convientparfaitement bien à un champ de type logique. Il est généralement conseilléde créer un contrôle de validité par défaut sur le champ logique et de choisirFaux comme valeur par défaut.

Pour tous les champs autre que logiques, il est possible de donner n�importequelle valeur aux valeurs de la case à cocher. Les valeurs Vrai et Fauxdoivent être utilisées pour un champ logique. La modification du libellé d�unecase à cocher dans la fenêtre Conception n�a aucun impact sur la valeur duchamp. Vous devez modifier la valeur dans la boîte de dialogue Valeurs case àcocher.

Supposons, par exemple, que vous conceviez une fiche basée sur la tableFourniss. Le champ Principal, un champ logique, indique si le fournisseurbénéficie d�un statut préférentiel ou non. Vous pourriez définir un champ detype case à cocher et la case à cocher pourrait prendre la valeur Vrai quandelle est activée et Faux dans le cas contraire. Si l�utilisateur active la case, lavaleur Vrai est entrée dans le champ de la table pour cet enregistrement. Sil�utilisateur laisse la case vide, la valeur Faux est entrée.

Utilisation des objets de conception 451

Définition du type d�affichage d�un objet champVous pouvez attribuer à un objet champ les types suivants : libellé, édition,zone d�options, liste, case d�option ou case à cocher.

Pour préciser le type d�affichage d�un objet champ

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Avec le bouton droit de la souris, cliquez sur le champ, puis surPropriétés.

3 Cliquez sur la page Général.

4 Choisissez une option dans la zone de liste Type d�affichage.

5 Cliquez sur Définir les valeurs.

6 Procédez ensuite de l�une des manières suivantes :

� Dans la boîte de dialogue Modifier l�ordre, saisissez les valeurs quevous voulez faire apparaître dans le champ et appuyez sur ENTRÉE.Répétez cette opération pour toute autre valeur.

� Dans la boîte de dialogue Valeurs case à cocher, saisissez les valeursque prendra la case à cocher lorsqu�elle sera activée ou désactivée.

Pour modifier les valeurs d�un objet champ

1 Suivez les étapes 1 et 2 de la procédure précédente.

2 Choisissez le type de champ approprié dans la zone de liste Typed�affichage de la page Général de la boîte de dialogue Propriétés.

3 Cliquez sur Définir les valeurs.

4 Dans les boîtes de dialogue Modifier l�ordre ou Valeurs case à cocher,saisissez les nouvelles valeurs de l�objet.

� Si vous modifiez le type d�affichage et que vous passez d�un champ nonlibellé à un champ libellé sans activer la case à cocher Ajuster la taille dela page Conception de la boîte de dialogue Propriétés, le champ garde lamême taille et le libellé et le champ se disputent la place. Lorsque vousactivez la case Ajuster la taille, l�objet champ s�élargit pour accueillir lenouveau libellé.

452 Paradox 9 : Chapitre 8

� Pour plus d�informations sur les types d�affichage des champs,reportez-vous à la propriété Type d�affichage de la référence Propriétésdes objets de l�aide en ligne.

Modification d�un libellé sans changer la valeur du champPour ce qui est des cases d�option et des cases à cocher, les valeurs choisiespour les champs sont celles que Paradox entre dans la table lorsqu�unutilisateur saisit les informations à l�aide de cette fiche. Les libellés pardéfaut de la fiche correspondent à ces valeurs. Vous avez, toutefois, lapossibilité de modifier les libellés sur la fiche sans changer les valeurs quel�utilisateur sélectionne. Sur la fiche, les libellés ne sont rien d�autre que desobjets texte ordinaires.

Pour modifier les libellés une fois les valeurs définies

1 Ouvrez une fiche ou un état dans la fenêtre Conception.

2 Sélectionnez le libellé de l�objet en cliquant sur le texte jusqu�à cequ�apparaisse un curseur clignotant.

3 Saisissez le texte du libellé.

4 Sans cliquer de nouveau (le point d�insertion se trouve toujours àl�intérieur du texte), déplacez la souris vers l�un des bords de la zone detexte. Arrêtez lorsque le curseur se transforme en une flèche deredimensionnement à deux têtes pour vous indiquer la direction danslaquelle vous pouvez le faire glisser.

5 Cliquez et faites glisser dans la direction indiquée pour redimensionner lazone de texte.

Champ spécialDans une fiche ou un état, un champ spécial contient des informations sur latable ou sur la conception dans son ensemble. Il ne s�agit pas d�un champd�une table.

Table

Les champs spéciaux qui se rapportent à une table sont :

� <Nom de table> (le nom de la table)

� <Numéro d�enregistrement> (le numéro d�enregistrement courant)

Utilisation des objets de conception 453

� <Nombre d�enregistrements> (le nombre d�enregistrements quecontient la table)

� <Nombre de champs> (le nombre de champs de la table)

Ces champs se trouvent dans la zone de liste de la table maître et figurententre chevrons, par exemple <Nom de table>.

Conception

Les champs spéciaux qui se rapportent à la conception dans son ensemblesont :

� Date (la date du jour )

� Maintenant (l�heure actuelle)

� Numéro de page (un numéro de page)

� Date/Heure (l�heure et la date actuelles)

� Nombre de pages (le nombre de pages de la fiche ou de l�état)

Ces champs spéciaux se trouvent dans la boîte de dialogue Définition d�unchamp dans la liste de la zone Champ spécial.

Insertion d�un champ spécial dans une fiche ou un étatBien qu�un champ spécial se crée comme tout autre, il est néanmoinsimpossible de le modifier de la même manière. Son rôle est de communiquerdes informations sur la fiche ou l�état et non d�agir en tant qu�outil d�édition.

Pour insérer un champ spécial dans une fiche ou un état

1 Ouvrez une fiche ou un état dans une fenêtre Conception.

2 Cliquez sur l�outil Champ.

3 Cliquez sur la zone de conception pour créer l�objet champ.

4 Cliquez sur l�objet avec le bouton droit de la souris, puis sélectionnezDéfinir le champ.

5 Choisissez l�une des options suivantes :

� Pour un champ lié à la table, choisissez un champ dans la zone de listeoù se trouve le nom de la table. Ces champs spéciaux figurent entrechevrons au bas de la liste, par exemple <Nombred�enregistrements>.

� Pour un champ lié à la conception, choisissez le champ approprié dansla zone de liste Champ spécial.

454 Paradox 9 : Chapitre 8

� Pour définir un champ, la fiche ou l�état doivent être liés à un modèlerelationnel.

Opérateur récapitulatifUn opérateur récapitulatif est un type de calcul effectué sur un champ dansles fiches et les états. Utilisez les opérateurs récapitulatifs pour calculer lasomme, le nombre ou la moyenne des valeurs d�un champ. Ils vouspermettent aussi de déterminer la valeur minimale, la valeur maximale,l�écart type et la variance statistique des valeurs d�un champ. Si voussouhaitez qu�un champ calcule une valeur en fonction d�un ou plusieurschamps, il vous faudra faire appel à un champ calculé. Pour plusd�informations, reportez-vous à la rubrique Objet champ calculé à la page464.

Paradox dispose des opérateurs récapitulatifs suivants :

Opérateur récapitulatif Description

Somme Somme de toutes les valeurs non vides ; à utiliser avec les données detype numérique.

Nombre Nombre des valeurs non vides ; à utiliser avec tous les types de données.

Min Valeur minimale ; à utiliser avec des données de type alphanumérique,numérique, monétaire et date.

Max Valeur maximale ; à utiliser avec des données de type alphanumérique,numérique, monétaire et date.

Moyenne Divise le total de toutes les valeurs non nulles par le nombre de toutes lesvaleurs non nulles ; à utiliser avec des données de type numérique.

Std Écart type des valeurs ; à utiliser avec des données de type numérique.

Var Variance statistique des valeurs ; à utiliser avec des données de typenumérique.

Première* Première valeur ; à utiliser avec tous les types de données.

Dernière* Dernière valeur ; à utiliser avec tous les types de données.

Préc* Valeur précédente ; à utiliser avec tous les types de données.

* Ces opérateurs ne sont pas disponibles dans les fiches.

Utilisation des objets de conception 455

Opérateurs récapitulatifs des états : normal, cumulé et unique

Lors de la création d�un état, vous pouvez choisir parmi l�un des typesd�opérateur récapitulatif suivants. Ces options apparaissent au bas de la listedes opérateurs récapitulatifs dans la boîte de dialogue Définition de l�objetchamp.

� Normal : considère toutes les valeurs non nulles de l�ensemble, y comprisles doublons.

� Unique : compte seulement les valeurs non nulles uniques de l�ensemble.Les doublons sont ignorés. Si vous utilisez un opérateur de type uniquepour exécuter une fonction Somme ou Moyenne, les résultats seront fauxpuisque certaines valeurs (les doublons) ne seront pas prises en comptelors de l�opération.

Les opérateurs de type unique sont généralement utilisés pour compterles valeurs uniques d�un ensemble. Supposons, par exemple, que vousvouliez identifier le nombre d�articles différents qu�un certain clientcommande.

� Cumulé : garde un total qui s�étend du début de l�état à la fin del�ensemble courant, et non du début à la fin de l�ensemble courant. Parexemple, si vous placez un opérateur cumulé Somme sur un champ Resteà payer, Paradox fixe la valeur d�origine à zéro et conserve un cumul dudébut à la fin de l�état.

Portée des opérateurs récapitulatifsUn opérateur récapitulatif effectue un calcul sur un ensembled�enregistrements. Pour pouvoir effectuer une opération sur l�ensemble,vous devez définir l�ensemble en précisant la portée de l�opérateurrécapitulatif. La portée permet d�identifier les valeurs que l�opérateurrécapitulatif va prendre en compte pour effectuer l�opération.

Fiches

� Dans une fiche mono-table, Paradox ne travaille qu�avec un seul ensemblede données. Dans ce cas, l�opérateur récapitulatif porte sur la totalité de latable.

� Dans une fiche multi-table, la portée d�un opérateur récapitulatif dépendde la hiérarchie des données. La hiérarchie est définie dans le modèlerelationnel de la fiche.

456 Paradox 9 : Chapitre 8

Exemple de définition de la portée d�un opérateur récapitulatif surune fiche multi-table

Supposons que vous ayez défini votre modèle relationnel de la façonsuivante :

Clients Commande Lignes

Vous pouvez regrouper les valeurs des champs de la table Commande pourchaque enregistrement de la table Clients. Dans cette relation, Clients est latable maître et Commande la table détail. Paradox fait la somme del�ensemble des enregistrements détaillés de la table Commande pourl�enregistrement courant de la table Clients.

De même, vous pouvez regrouper les valeurs de la table Lignes pourl�enregistrement courant de la table Commande. Là aussi, la table maître(Commande) détermine la portée d�un récapitulatif sur la table détail(Lignes). Le récapitulatif de Lignes est réalisé sur l�ensemble de tous lesarticles pour la commande en cours du client courant.

� Dans le modèle relationnel Clients Commande Lignes, il estimpossible de créer un récapitulatif sur les articles de chaque client. Vousne pouvez le faire que sur les articles de chaque commande. Lors d�unrécapitulatif, Paradox ne peut pas monter de plus d�un niveau dans lahiérarchie des données.

� Si vous insérez un opérateur récapitulatif sur un ensembled�enregistrements détails en présence d�une relation un-à-plusieurs d�unefiche, vous devez le placer dans la zone de répétition de la table détail(cadre de table ou objet multi-enregistrement qui affiche lesenregistrements) ou dans la zone de répétition de la table de niveauimmédiatement supérieur dans la hiérarchie des données.

États

� Le modèle relationnel de l�état et la position de l�opérateur récapitulatifdans l�état déterminent ensemble la portée de l�opérateur récapitulatifdans l�état.

Utilisation des objets de conception 457

Portée de l�opérateur récapitulatif dans les états mono-tables

Lorsque vous insérez des opérateurs récapitulatifs dans un état mono-table,leurs positions jouent sur la portée de la façon suivante :

� Les en-têtes et les bas de page de bande correspondants donnent la mêmevaleur. Ce qui veut dire que vous pouvez placer un opérateur récapitulatifdans l�en-tête ou dans le bas de page de l�état et obtenir le même résultat.De même, un calcul placé dans l�en-tête ou le bas de page d�une pagedonne le même résultat.

� Dans un cadre de table, le calcul porte sur tous les enregistrements de latable (s�il s�agit d�une table détail, il se limite à tous les enregistrementsd�un ensemble détail).

� Dans une bande d�état (qu�il s�agisse d�en-tête ou de bas de page), le calculporte sur toutes les valeurs que contient la bande d�état, autrement dit surtous les enregistrements de la table.

� Dans la bande de page (qu�il s�agisse d�en-tête ou de bas de page), le calculporte sur toutes les valeurs que contient la bande de page, autrement ditsur tous les enregistrements de la page.

� Dans une bande de groupe (qu�il s�agisse d�en-tête ou de bas de page), lecalcul porte sur toutes les valeurs que contient la bande de groupe,autrement dit sur tous les enregistrements du groupe.

Dans une bande d�enregistrement, le comportement d�un opérateurrécapitulatif varie en fonction de différentes situations. Dans un état sansbande de groupe, Paradox récapitule tous les enregistrements de la table.Dans un état avec une bande de groupe, Paradox récapitule tous lesenregistrements du groupe. Dans un état tabulaire ou multi-enregistrement,si la propriété d�Exécution Afficher tous les enregistrements du cadre detable (ou de l�objet multi-enregistrement) est activée, le récapitulatif portesur tous les enregistrements qui tiennent dans le cadre de table ou l�objetmulti-enregistrement. Dans ce cas, le cadre de table ou l�objetmulti-enregistrement se comportent comme une bande comportant uncertain nombre d�enregistrements.

Portée d�un opérateur récapitulatif dans les états multi-tables

Lorsque vous insérez des opérateurs récapitulatifs dans un état multi-table,leurs positions jouent sur la portée de la façon suivante :

Opérateurs récapitulatifs sur des tables maître

Lorsque vous insérez un opérateur récapitulatif sur la table maître d�un étatmulti-table, il porte sur le groupe de données le plus interne.

458 Paradox 9 : Chapitre 8

Lorsque vous insérez un opérateur récapitulatif sur la banded�enregistrement d�un état multi-table à relation un-à-plusieurs, le calcul neporte que sur l�enregistrement courant de la table maître. Dans ce cas,l�enregistrement courant de la table maître se comporte comme une bande degroupe et regroupe les enregistrements détail.

Lorsque Paradox travaille avec un modèle relationnel contenant des relationsun-à-plusieurs et plusieurs-à-un, Paradox joint les deux tables du modèlerelationnel avant de procéder au récapitulatif. Il traite ensuite les tablesjointes comme une seule.

Opérateurs récapitulatifs sur des tables détail

Lorsque vous insérez des opérateurs récapitulatifs sur la table détail d�unétat multi-table, les règles des bandes d�enregistrement, de page et degroupe en vigueur pour les récapitulatifs sur les états mono-tabless�appliquent. De plus, si vous placez un opérateur récapitulatif dans la banded�enregistrement, il porte sur tous les enregistrements détail del�enregistrement maître courant. Si vous imbriquez un opérateur récapitulatifdans un cadre de table ou un objet multi-enregistrement défini comme tablemaître, le récapitulatif porte sur chaque enregistrement de la table maître.

Opérateurs récapitulatifs sur des tables non liées

Lorsque vous insérez un opérateur récapitulatif sur une table non liée d�unétat multi-table, la somme se calcule sur l�ensemble de la table.

Définition d�un opérateur récapitulatifUn opérateur récapitulatif effectue des calculs particuliers sur un ensemblespécifique de valeurs d�une table. L�ensemble d�enregistrements pris encompte par l�opérateur récapitulatif constitue sa portée. La portée estdéterminée par l�emplacement qu�occupe l�opérateur récapitulatif dans lafiche ou l�état.

Pour définir un opérateur récapitulatif

1 Cliquez avec le bouton droit de la souris sur le champ sur lequel se feral�opération récapitulative, puis cliquez sur Définir le champ.

2 Dans la zone de liste Table, choisissez le champ sur lequel vous voulezeffectuer l�opération récapitulative.

3 Choisissez le type d�opérateur approprié dans la zone de liste Opérateurrécapitulatif.

Utilisation des objets de conception 459

Renvoi d�une valeur récapitulative à une page particulière d�un étatDans un état utilisant des tables liées par une relation un-à-plusieurs, si vousvoulez effectuer une opération récapitulative qui est relative à une page etfonction d�un champ de la table détail, il va falloir inverser le lien des tablesdans le modèle relationnel.

Par exemple, si votre état repose sur deux tables détail, vous aurez peut-êtreplus d�une page de données détaillées. Du fait des liens, Paradox regroupeautomatiquement les enregistrements de la table détail. Les opérationsrécapitulatives réalisées sur un champ d�un groupe ne respecte pas les sautsde page et renvoie une valeur pour l�ensemble du groupe et non pourchacune des pages où les données groupées apparaissent.

La solution consiste à établir un lien de la table détail vers la table maître.Paradox ne procède à aucun regroupement inhérent. Rien ne vous empêchealors d�effectuer un regroupement sur un champ particulier, ou même unnombre fixe d�enregistrements, et de renvoyer la valeur récapitulativerelative à une page particulière.

Pour renvoyer une valeur récapitulative relative à une pageparticulière

1 En mode Conception, cliquez sur Format, puis sélectionnez Modèlerelationnel.

2 Choisissez la table détail dans le Concepteur de modèle relationnel etcliquez sur Délier.

3 Retracez le lien de façon à ce que l�ancienne table détail devienne la tablemaître.

4 Définissez l�opérateur récapitulatif en suivant les consignes de la rubriqueDéfinition d�un opérateur récapitulatif à la page 459.

� Pour plus d�informations sur la création des liens dans les modèlesrelationnels, consultez les rubriques Établissement de lien entre lestables d�un modèle relationnel à la page 203 ou Compréhension des lienset des index à la page 205.

Exemple de calcul d�une moyenne dans une fiche mono-tableSupposons que vous vouliez connaître la quantité moyenne que vos clientscommandent par article.

460 Paradox 9 : Chapitre 8

Pour créer un opérateur récapitulatif Moyenne sur la tableLIGNES.DB

1 Créez une fiche basée sur la table LIGNES.DB, cliquez sur Fiche,Nouvelle, Modèle relationnel.

2 Sélectionnez LIGNES.DB et cliquez sur OK.

3 Dans la boîte de dialogue Conception, sélectionnez la disposition et leschamps que vous voulez utiliser dans la fiche.

La fiche s�ouvre dans la fenêtre Conception.

4 Cliquez sur l�outil objet champ dans la barre d�outil Objet de conception,puis cliquez sur une zone de la fiche pour insérer l�objet.

5 Cliquez sur l�objet champ avec le bouton droit de la souris, puissélectionnez Définir le champ.

6 Dans la boîte de dialogue Définition d�un champ, choisissez Quantité dansla zone de liste LIGNES.DB.

7 Choisissez ensuite Moyenne (Moy) dans la zone de liste Opérateurrécapitulatif.

8 Cliquez sur OK pour revenir à la fenêtre Conception. Paradox transformele libellé de l�objet champ en Moy(Quantité).

9 Cliquez sur Affichage, Afficher les données pour exécuter la fiche.

Paradox calcule la moyenne de toutes les quantités commandées et affichela valeur dans l�objet champ de type opérateur récapitulatif.

Exemple de calcul du nombre de valeurs dans un étatSupposons que vous travailliez avec un état tabulaire basé sur la table Clientset que vouliez connaître le nombre de clients que vous avez dans chaquepays.

Définition d�une fonction Nombre dans un état

1 Dans la fenêtre Conception d�état, créez une bande de groupe sur lechamp Pays de la table Clients. Pour plus d�informations, reportez-vous àla rubrique Ajout ou définition d�une bande de groupe à la page 301.

2 Cliquez sur l�outil Champ dans la barre d�outils, faites glisser la bande degroupe de façon à insérer un objet champ non défini en dessous du champPays.

3 Cliquez sur l�objet champ avec le bouton droit de la souris, puissélectionnez Définir le champ.

4 Choisissez le champ No Client dans la zone de liste CLIENTS.DB.

Utilisation des objets de conception 461

5 Choisissez Nombre dans la zone de liste Opérateur récapitulatif.

6 Cliquez sur OK pour revenir à la fenêtre Conception.

7 Cliquez sur Fichier, Imprimer pour imprimer l�état.

Pour chaque valeur unique d�un pays, Paradox affiche le nom du pays, lenombre de clients qui s�y trouvent et un cadre de table où figurent desinformations sur le client.

� Lorsque vous imprimez ou prévisualisez un état, Paradox effectue lecalcul défini par l�opérateur récapitulatif et renvoie une valeur. Dansl�exemple du dénombrement des clients par pays, Paradox examine labande d�enregistrement de chaque groupe et renvoie le nombred�enregistrements que contient cette bande.

� Lorsque vous définissez une fonction Nombre, il est peut-être judicieuxde compter les valeurs d�un champ à clé primaire d�une table. Étant donnéqu�un champ à clé primaire doit contenir des données, vous êtes sûrd�obtenir un résultat précis.

Champs mémoLorsque vous créez un champ mémo ou un champ mémo formaté, vousdevez indiquer à Paradox la quantité du mémo qu�il doit stocker dans la table.L�ensemble du mémo est stocké dans un fichier distinct. Pour plusd�informations, reportez-vous à la rubrique Création d�une table Paradox à lapage 65.

Le temps que prend Paradox pour accéder au fichier .MB (Paradox stocke lesdonnées mémo dans un fichier portant le nom de la table et une extension.MB) et pour afficher ces données dans votre fiche dépend de toute une sériede facteurs aussi divers que la taille du mémo et la vitesse de votre système.Pour accroître les performances, vous pouvez vous contenter d�afficher lesdonnées stockées dans la table.

Affichage du contenu d�un champ mémoIl vous appartient de décider d�afficher uniquement la première ligne de texted�un champ mémo ou la totalité.

462 Paradox 9 : Chapitre 8

Pour afficher l�intégralité d�un champ mémo

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Cliquez sur le champ mémo avec le bouton droit de la souris, puissélectionnez Propriétés.

3 Cliquez sur la page Exécution.

4 Activez la case à cocher Affichage complet.

Protection et masquage des données d�un champDans la version de production de votre base de données, vous allez êtreamené à laisser l�utilisateur libre de consulter un champ mais à lui interdired�en modifier le contenu. Pour cela, il suffit d�utiliser un mot de passe pourne laisser qu�un accès en lecture.

Vous pouvez aussi supprimer le contenu d�un champ lors de l�exécution d�unefiche. Le champ est visible mais sa valeur n�apparaît pas. Ceci estparticulièrement utile pour entrer des mots de passe ou d�autresinformations confidentielles.

Protection ou masquage du contenu d�un champVous pouvez interdire la modification des données d�un champ lors del�exécution d�une fiche. Pour empêcher quiconque de modifier les donnéesd�un champ, quel que soit le mode d�accès (à partir d�une table, d�une fiche oud�une requête), utilisez un mot de passe secondaire de lecture seule. Pourplus d�informations, reportez-vous à la rubrique Mots de passe à la page 87.

Pour transformer le champ en lecture seule

1 Ouvrez une fiche dans la fenêtre de conception.

2 Cliquez sur le champ avec le bouton droit de la souris, puis sélectionnezPropriétés.

3 Cliquez sur la page Exécution.

4 Activez la case à cocher Lecture seule.

Pour masquer le contenu d�un champ

1 Suivez les étapes 2 et 3 de la procédure précédente.

2 Activez la case à cocher Pas d�écho.

Paradox n�affichera pas les données que vous entrerez dans le champ.

Utilisation des objets de conception 463

� Pour plus d�informations à propos de la case à cocher Écho, reportez-vousà la section propriété Pas d�écho de la référence Propriétés des objetsdans l�aide en ligne.

Objet champ calculéUn champ calculé d�une fiche ou d�un état effectue un calcul sur les valeursd�un ou plusieurs champs. Le calcul est une expression (à plusieurscomposants ou termes) qui doit aboutir à une seule valeur de données. Sivous ne voulez calculer une valeur qu�en fonction des valeurs d�un seulchamp, utilisez les opérateurs récapitulatifs. Pour plus d�informations,reportez-vous à la rubrique Opérateurs récapitulatifs à la page 455.

Les champs calculés servent généralement à déterminer des valeurs issuesd�au moins deux champs d�une table. Vous pouvez, par exemple, créer unobjet champ dans une fiche de la table Lignes et définir le champ en tant quechamp calculé à l�aide de la formule suivante :

[LIGNES.Quantité] * [LIGNES.Prix de Vente]

La valeur d�un enregistrement dans ce champ calculé est le produit desvaleurs des champs Quantité et Prix de Vente.

Pourquoi utiliser un champ calculé ?

� Les champs calculés permettent de libérer de l�espace dans les tables.Dans la plupart des cas, les utilisateurs veulent voir les résultats obtenusdans les états et les fiches. Les champs calculés permettent de n�effectuerles calculs sur des données existantes qu�au moment de l�exécution (lorsde la consultation d�un état, par exemple) ; ce qui vous évite de stockerdes données superflues dans la table.

� Les champs calculés offrent un grand nombre de fonctionnalités. Vouspouvez y avoir recours pour effectuer diverses opérations, outre lescalculs mathématiques. Vous pouvez vous en servir pour concaténer desvaleurs de chaîne, appeler des méthodes intégrées et personnalisées(celles qui renvoient une seule valeur), baser des opérations sur descritères logiques et effectuer des opérations spéciales (telles que sommeet moyenne). La combinaison de ces attributs peut s�avérer uncomplément indispensable à votre application.

Stockage des valeurs issues des champs calculés dans une table

Les valeurs des champs calculés, qu�il s�agisse de fiche ou d�état, ne sont passtockées dans la table. Elles ne sont crées qu�à des fins de consultation etd�impression. Si vous voulez stocker ces valeurs, il vous faut effectuer lescalculs dans une requête.

464 Paradox 9 : Chapitre 8

Champs calculés et opérateurs récapitulatifs

Rien ne vous empêche d�insérer des champs calculés et des opérateursrécapitulatifs dans une fiche ou un état.

Un champ calculé effectue un calcul sur un ensemble d�enregistrements.Pour pouvoir effectuer une opération, vous devez définir l�ensemble enprécisant la portée du calcul. La portée d�un champ calculé est identique àcelle d�un opérateur récapitulatif.

Un opérateur récapitulatif n�est rien d�autre qu�un type de champ calculé.Utilisez les opérateurs récapitulatifs pour calculer la somme, le nombre ou lamoyenne des valeurs d�un champ. Ils vous permettent aussi de déterminer lavaleur minimale, la valeur maximale, l�écart type et la variance statistiquedes valeurs d�un champ. Pour plus d�informations, reportez-vous à larubrique Opérateurs récapitulatifs.

Vous créez les champs calculés et les opérateurs récapitulatifs dans la boîtede dialogue Définition de l�objet champ à laquelle vous accédez en cliquantsur le champ avec le bouton droit de la souris et en choisissant Définir lechamp.

Calcul sur des opérateurs récapitulatifs

Dans les états, rien ne vous empêche de faire des calculs sur des valeursissues d�opérateurs récapitulatifs.

Par exemple, vous pouvez grouper la table Commande par No Client et créerensuite un opérateur récapitulatif (Montant Total) pour faire la somme duchamp Reste à Payer. Cet état vous indiquerait ce que chaque client vousdoit.

Supposons qu�une nouvelle politique vous oblige à facturer 25 F à chaqueclient en cas de solde impayé. Vous pouvez alors créer la formule suivante :

[COMMANDE.Reste à Payer]+25

Lors de l�exécution de l�état, Paradox ajoute toutes les valeurs du champReste à Payer pour chaque client, puis ajoute vingt-cinq au total obtenu.

Opérateurs récapitulatifs sur champs calculés

Les expressions des champs calculés peuvent très bien contenir desopérateurs récapitulatifs Par exemple, la somme de tous les montants defacture issus de la table Commande multipliées par une taxe sur les ventesde 7,75 % pourrait très bien s�exprimer ainsi :

SUM([COMMANDE.Montant Total]) * .0775

Utilisation des objets de conception 465

Vous pourriez aussi calculer la somme de tous les montants des articles(dans une fourchette donnée) et multipliez cette valeur par une taxe sur lesventes de 7,75 % en utilisant l�expression suivante :

SUM([LIGNES.Quantité]*[LIGNES.Prix de Vente])*.0775

Création de champs calculésLes champs calculés peuvent comprendre :

� des opérateurs arithmétiques +, -, *, / et ()

� des opérateurs logiques ET, OU et NON

� des opérateurs de comparaison <, >, <>, =, >= et <=

� des opérateurs récapitulatifs. Par exemple,

SOMME([table.champA] + [table.champB])

SOMME([table.champA]) + SOMME([table.champB])

� des références à des objets telles que nom d�un objet de la fiche (les nomsd�objet sont toujours uniques)

� des constantes numériques

� des chaînes alphanumériques

� des méthodes ObjectPAL (mathématiques, statistiques, manipulation dechaînes et date/heure) qui renvoient une seule valeur

� des méthodes ou des procédures ObjectPAL définies dans les fiches oucontenues dans des bibliothèques auxquelles accèdent les fiches. (Lesméthodes personnalisées ne sont pas accessibles par les états).

� toute combinaison des éléments cités ci-dessus

Référence aux champs et aux objets champ

L�objet champ figurant dans la conception d�une fiche ou d�un état n�est pasidentique au champ réel de la table qu�il représente et contient. Il faut voussouvenir de cette distinction lorsque vous utilisez les noms de champ dansles calculs. Par exemple,

� l�expression Quantité * Prix effectue un calcul sur les objets champnommés Quantité et Prix.

� l�expression [LIGNES.Quantité] * [LIGNES.Price] effectue un calcul surles valeurs des champs réels Quantité et Price de la table Lignes.

466 Paradox 9 : Chapitre 8

L�objet champ de la conception et le champ de la table sur laquelle repose lafiche sont généralement équivalents. Il peut arriver pourtant :

� qu�un objet champ ne soit pas associé à une table (il pourrait s�agir d�unautre champ calculé, par exemple) ;

� qu�un objet champ ne soit plus du tout associé (associé à aucun champd�une table quelconque) et pas défini comme un champ calculé ou unchamp spécial ;

� qu�un champ d�une table du modèle relationnel ne s�affiche pas dans laconception et que vous deviez faire référence à cette valeur de champ.

Un objet champ peut porter un nom différent de celui du champ auquel il estlié.

Création d�un champ calculé

Pour créer un champ calculé

1 Cliquez sur l�objet champ avec le bouton droit de la souris, puissélectionnez Définir le champ.

2 Activez la case à cocher Calculé.

3 Tapez le calcul que vous voulez effectuer dans la zone Calculé.

Exemple de calcul avec un opérateur récapitulatif

Vous pouvez utiliser les champs calculés dans les fiches et les états pourgénérer des valeurs que vous pourriez autrement stocker dans la tableelle-même. Par exemple, les tables contiennent souvent des champs tels quequantité, prix de vente et montant total de la facture. Le montant total de lafacture est le prix multiplié par la quantité. Si vous utilisez des champscalculés et des opérateurs récapitulatifs, le champ montant total de la facturen�a plus à figurer dans la table réelle. Vous pouvez créer, à sa place, un champqui calcule le montant total de la facture dans la fiche ou dans l�état.

L�expression suivante génère le montant total pour chaque enregistrement dela table Lignes :

[LIGNES.Quantité]*[LIGNES.Prix de Vente]

Cette expression peut se trouver dans un champ calculé d�un cadre de tableou d�un objet multi-enregistrement.

Lors de la définition d�un champ calculé, n�oubliez pas de préciser un libellé.Lorsqu�un champ est défini comme calculé, Paradox affiche la formule dansl�objet champ.

Utilisation des objets de conception 467

Lors de l�exécution de la fiche (ou de l�impression ou de la prévisualisation del�état), Paradox calcule le montant total en multipliant la valeur Prix de Ventepar la valeur Quantité et ce, pour chaque enregistrement de la table.

Vous pouvez créer un champ calculé chargé de calculer le total de tous lesarticles, plutôt que le total des enregistrements individuels. Pour obtenir letotal de tous les articles d�une fourchette donnée, vous pourriez utiliserl�expression suivante :

SUM([LIGNES.Quantité]*[LIGNES.Prix de Vente])

� L�exemple ci-dessus vous montre comment utiliser l�opérateur SOMME( ) dans un calcul. Il est impossible de faire référence au nom UIObjectd�un champ calculé contenant le même calcul avec l�opérateur SOMME().

Utilisation d�un nom de champ dans un calculLorsque vous créez un champ calculé dans une fiche ou un état, le nom de latable à laquelle le champ fait référence est enregistré dans le fichier .FSL ou.RSL. Si vous ouvrez la fiche ou l�état avec une table différente, le champcalculé risque de ne pas être mis à jour et de ne pas prendre en compte lamodification. Par conséquent, le calcul tente d�accéder aux informationsd�une table (ou de plusieurs) qui n�est pas liée au document.

Les signes de ponctuation, plus particulièrement les points, sont descaractères réservés dans Paradox. Paradox utilise le point pour faireréférence aux objets à l�intérieur des fiches et des états et se sert des pointsdans les noms de champ pour invalider ce processus. Si vous utilisez lebouton Copier le champ lors de la définition d�un champ, vous risquez decopier un champ ponctué dans un champ calculé. Si le nom de champ contientdes points, comme par exemple Montant.Total, Paradox recherche dans l�étatou la fiche un objet intitulé Montant et contenant un autre objet nomméTotal. Par conséquent, les noms de champ avec ponctuation risquent deprovoquer des erreurs lorsqu�ils sont utilisés dans un champ calculé.

Pour utiliser un nom de champ dans un calcul

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Cliquez sur le champ avec le bouton droit de la souris, puis cliquez surDéfinir le champ.

3 Choisissez le champ que vous voulez dans la zone de liste de la table.

Le nom de champ apparaît dans la zone située en haut de la boîte dedialogue Définition de l�objet champ.

468 Paradox 9 : Chapitre 8

4 Activez la case à cocher Calculé.

5 Choisissez Copier le champ pour insérer ce champ dans la zone Calculé.

Pour faire référence à un autre champ calculé d�une fiche ou d�unétat identique

1 Cliquez sur les objets champ avec le bouton droit de la souris et cliquezsur Propriétés pour déterminer leurs noms (affichés dans la zone de texteNom de l�objet de la page Général de la boîte de dialogue Propriétés).

2 Utilisez ces noms dans le calcul.

Pour mettre à jour les champs calculés lors de l�ouverture d�unefiche ou d�un état avec une table différente

� Redéfinissez les champs calculés de façon à ce qu�ils fassent référence auxnouvelles tables et enregistrez la fiche ou l�état.

Pour utiliser un nom de champ contenant une ponctuation dansun champ calculé

� Faites figurer le nom de champ entre guillemets.

� Lorsque Paradox place le nom de champ dans la zone, ce dernier estsélectionné. Déplacez le curseur pour désélectionner le nom de champavant de commencer à taper. Si, par accident, vous tapez et remplacez lenom de champ sélectionné, appuyez sur ALT+RETOUR ARRIÈRE pourrestaurer le nom.

� Outre le nom de champ, l�alias de répertoire (s�il en existe un) de la tableet le nom de la table sont visibles. Si vous choisissez, par exemple, lechamp Reste à Payer de la table Commande (et que la table Commande setrouve dans votre répertoire de travail), [:WORK:COMMANDE.Reste àPayer] s�affiche dans la zone de texte Calculé. Ce chemin représentel�exact emplacement du champ dans l�expression.

� Si vous avez affecté un alias à une table, utilisez cet alias plutôt que lenom de la table lors de la définition des champs calculés.

� Si un objet intervient dans un autre champ calculé, dans une autreexpression ou dans un autre état, vous pouvez le renommer pour lerendre facilement reconnaissable. Pour modifier le nom, entrez le nomvoulu dans la page Général de la boîte de dialogue Propriétés d�un champ.

Utilisation des objets de conception 469

Alignement d�un champ calculé sur les données d�un cadre de tableSi vous placez un champ calculé dans une colonne d�un cadre de table, parexemple, au bas d�une colonne de nombres, vous devez aligner les virgulesdécimales du champ calculé avec celles des nombres de la colonne.

Pour aligner un champ calculé sur les données d�une colonned�un cadre de table d�un état

1 Placez le champ calculé dans le cadre de table.

2 Sélectionnez la zone d�édition sur le champ calculé.

3 Maintenez la touche MAJ enfoncée et cliquez sur la zone champ du cadrede table.

4 Cliquez sur Format, Alignement, Droite.

5 Cliquez sur la zone d�édition du champ calculé avec le bouton droit de lasouris et cliquez sur Propriétés.

6 Cliquez sur la page Exécution et désactivez la case à cocher Ajuster enlargeur.

Exemple de calcul avec un champ et une constanteLes champs calculés permettent d�effectuer des calculs faisant intervenir unchamp et une constante. Supposons, par exemple, que vous vouliez savoir àcombien s�élèverait le prix de vente des articles si vous augmentiez tous lesprix de 25 %.

1 Créez une fiche liée à la table Lignes, cliquez sur Fiche, Nouvelle, Modèlerelationnel.

2 Sélectionnez Lignes.db

3 Choisissez la disposition tabulaire et les champs de votre fiche.

La fiche s�ouvre dans la fenêtre Conception.

4 Sélectionnez l�objet champ dans la barre d�outil Objet de conception etinsérez-le dans la fiche.

5 Changez le libellé du champ de la façon suivante :

Prix de vente augmenté de 25 % :

(Pour modifier le libellé du champ, cliquez trois fois sur le champ pourplacer le curseur à l�intérieur du texte, puis tapez le nouveau libellé.)

6 Cliquez sur l�objet avec le bouton droit de la souris, puis sélectionnezDéfinir le champ.

470 Paradox 9 : Chapitre 8

7 Dans la boîte de dialogue Définition de l�objet champ, activez la case àcocher Calculé.

8 Tapez la formule suivante dans la zone Calculé :

[LIGNES.Prix de Vente] * 1.25

Lorsque vous exécutez la fiche pour chaque enregistrement de la table, lechamp Prix de vente affiche le prix courant et le champ calculé affiche le prixreflétant l�augmentation proposée.

Exemple de calcul avec une chaîne alphanumériqueVous avez la possibilité d�utiliser l�opérateur + pour concaténer des chaînesalphanumériques

Supposons, par exemple, que vous vouliez créer un champ appelé Adressequi regroupe les valeurs des champs Rue, Ville, État/Province et Code Postalde la table Clients.

1 Créez une fiche ou un état en utilisant la table Clients dans le modèlerelationnel. Pour plus d�informations, reportez-vous à la rubrique Créationde modèles relationnels à la page 199.

2 Dans la boîte de dialogue Conception, choisissez le style Vide.

3 Dans la fenêtre Conception, utilisez l�outil Cadre de table pour insérer uncadre de table à trois colonnes.

4 Sélectionnez le premier champ du cadre de table (cliquez trois fois pouratteindre le champ), puis cliquez sur le cadre à l�aide du bouton droit de lasouris et sélectionnez Définir le champ.

5 Dans la boîte de dialogue Définition de l�objet champ, choisissez No Clientdans la zone de liste Clients.

6 Reprenez l�étape 4 avec le deuxième champ du cadre de table etchoisissez Nom.

7 Reprenez l�étape 4 avec le troisième champ du cadre de table et cliquezsur Définir le champ. Dans la boîte de dialogue Définition de l�objetchamp, tapez le calcul suivant :

[CLIENTS.Rue] + « » + [CLIENTS.Ville ] + « , » +[CLIENTS.État/Province] + « » + [CLIENTS.CodePostal]

Le signe + permet d�ajouter une chaîne à la fin de la précédente. (Vousdevez faire figurer entre guillemets les espaces et les virgules que vousvoulez insérer entre les champs.)

Utilisation des objets de conception 471

8 Cliquez sur OK.

Dans la fenêtre Conception, Paradox affiche le mot formule dans l�objetchamp calculé.

9 Donnez au champ calculé le libellé Adresse.

Lorsque vous exécutez la fiche, Paradox concatène les valeurs issues desquatre champs pour chaque enregistrement de la table et insère lesespaces et les virgules en respectant les places qu�ils occupent dansl�expression calculée.

Méthodes numériques dans les champs calculésLa plupart des méthodes ou des procédures de type numérique fonctionnentaussi dans un champ calculé. Les méthodes numériques vous permettentnotamment d�arrondir les nombres de plusieurs façons, de calculer unefraction d�une valeur numérique, de trouver la valeur supérieure de deuxvaleurs, d�exprimer en entier le résultat des calculs ou de trouver lesdifférences entre les dates et les heures. Pour obtenir la liste complète desméthodes numériques, consultez la rubrique Méthodes numériques de laréférence ObjectPAL de l�aide en ligne.

Dans les champs calculés, Paradox reconnaît les méthodes suivantes : Round,LongInt, Fraction et Max. Paradox reconnaît aussi cos, sin, tan, arccos, arcsinet arctan, qui ne traitent que des angles en radians.

Arrondi d�une valeurVous pouvez décider d�arrondir une valeur à un nombre particulier depositions décimales ou au nombre entier le plus proche.

Pour arrondir une valeur à un nombre particulier de positionsdécimales

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Cliquez sur le champ avec le bouton droit de la souris, puis cliquez surDéfinir le champ.

3 Activez la case à cocher Calculé.

4 Tapez l�expression suivante dans la zone Calculé :

round([nomchamp],nbre de chiffres de précision)

472 Paradox 9 : Chapitre 8

Exemple

round([COMMANDE.Montant Total],1)

Si la valeur du champ Montant Total est 555,94 F, la valeur arrondie est555,90 F.

Pour arrondir une valeur au nombre entier le plus proche

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Cliquez sur le champ avec le bouton droit de la souris et cliquez surDéfinir le champ.

3 Activez la case à cocher Calculé de la boîte de dialogue Définition del�objet champ.

4 Tapez l�expression suivante dans la zone Calculé :

round([nomchamp]),nbre de chiffres de précision)

Exemple

round([COMMANDE.Montant Total],0)

Si la valeur de Montant Total est 555,67 F, la valeur renvoyée est 556,00 F.Une valeur de 555,45 F renvoie 555,00 F.

Modification de l�aspect d�une valeurVous pouvez définir un champ pour n�afficher qu�un nombre entier tronqué àla place des décimales ou n�afficher qu�une partie des décimales.

Pour formater une valeur décimale en nombre entier

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Cliquez sur le champ avec le bouton droit de la souris, puis cliquez surDéfinir le champ.

3 Activez la case à cocher Calculé.

4 Tapez l�expression suivante dans la zone Calculé :

LongInt([nomchamp])

Exemple

LongInt([COMMANDE.Montant Total])

Une valeur de 555,23 F renvoie 555 F, de même que 555,95 F.

Utilisation des objets de conception 473

Pour obtenir une fraction d�une valeur numérique

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez sur lechamp avec le bouton droit de la souris et cliquez sur Définir le champ.

2 Activez la case à cocher Calculé.

3 Tapez l�expression suivante dans la zone Calculé :

fraction([nomchamp])

Exemple

fraction([COMMANDE.Montant Total])

Une valeur de 555,23 F renvoie 0,23.

Détermination de la valeur la plus élevée ou la plus faible parmi deuxvaleurs

Vous pouvez programmer un champ calculé de façon à renvoyer la valeurmaximale ou minimale de deux champs.

Pour trouver la valeur la plus élevée parmi deux valeurs

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Cliquez sur le champ avec le bouton droit de la souris et cliquez surDéfinir le champ.

3 Activez la case à cocher Calculé.

4 Tapez l�une des expressions suivantes dans la zone Calculé :

max(valeur1, valeur2)

min(valeur1, valeur2)

Exemple

max([COMMANDE.Montant Total], [COMMANDE.MontantRéglé])

À moins que le montant n�ait été intégralement payé, cette expressionrenverra toujours la valeur du champ Montant Total.

Calculs de date et d�heureParadox vous permet d�effectuer des calculs sur des dates de même que vousle feriez avec d�autres nombres. Vous pouvez utiliser un champ calculé pourdéterminer la différence entre des dates. Vous avez ainsi la possibilité de

474 Paradox 9 : Chapitre 8

modifier un grand état ou une grande fiche pour n�y faire figurer que desinformations spécifiques.

Détermination de la différence entre deux dates ou heuresVous pouvez identifier la différence entre deux dates ou deux heures àcondition qu�elles se présentent sous le même format.

Pour identifier la différence, en jours, entre deux dates

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez sur lechamp avec le bouton droit de la souris et cliquez sur Définir le champ.

2 Activez la case à cocher Calculé.

3 Tapez l�une des expressions suivantes dans la zone Calculé :

number(date1-date2)

Cela suppose que date1 et date2 sont des objets champ de même type.

Par exemple, si date1 est 10/5/95 et date2 est 5/5/95, la valeur renvoyéeest 5,00.

number(date(date1)-date(date2))

Cet exemple suppose que date1 et date2 sont des chaînes représentant leformat de date approprié. Par exemple :

number(date(„10/5/95")-date( »5/5/95"))

Cet exemple renvoie aussi la valeur 5,00.

Pour identifier la différence entre deux heures

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez sur lechamp avec le bouton droit de la souris et sélectionnez Définir le champ.

2 Activez la case à cocher Calculé.

3 Tapez l�expression suivante dans la zone Calculé :

format(„TO(%H Heures,%M Minutes) », heure1-heure2)

Cet exemple suppose que heure1 et heure2 sont deux champs comportantdes valeurs horaires exprimées dans le format approprié (HH:MM:SSam/pm).

Par exemple, si heure1 est 5:25:00 pm et heure2 est 1:15:00 pm, cetexemple renvoie une réponse de 4 heures, 10 minutes.

Utilisation des objets de conception 475

Calcul d�une date en fonction de la date couranteVous pouvez définir un champ qui calculera une date en fonction de la datecourante. Par exemple, en août, vous voulez imprimer la liste destransactions en cours jusqu�au dernier jour du mois précédent (31 juillet).Dans l�en-tête de l�état, vous insérerez le titre Transactions au 31/07/97.

Pour définir un champ qui calculera une date en fonction de ladate courante

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez sur lechamp avec le bouton droit de la souris et cliquez sur Définir le champ.

2 Activez la case à cocher Calculé.

3 Tapez l�expression suivante dans la zone Calculé :

today()-jour(today())

Today() est la date du jour et jour(today()) est le nombre de jours écoulésdepuis le début du mois. Lorsque vous soustrayez le nombre de jours écoulésdepuis le début du mois à compter de la date du jour, le dernier jour du moisprécédent est renvoyé.

Champs calculés et impressionLes champs calculés permettent d�accroître les options d�impression. Ilsvous permettent de contrôler la numérotation des pages, la mise enmajuscules/minuscules et les champs lors de l�impression. Vous pouvezégalement imprimer la formule d�un champ calculé.

Contrôle de la numérotation des pages à l�aide d�un champ calculéRien ne vous empêche de commencer la numérotation des pages d�un état àune valeur différente de 1. Si vous souhaitez, par exemple, que la premièrepage porte le numéro 10 et que le nombre s�incrémente de 1 à chaque pagesuivante, procédez ainsi.

Pour contrôler la numérotation des pages à l�aide d�un champcalculé

1 Ouvrez un état dans la fenêtre de Conception.

2 Insérez l�objet champ dans la bande d�en-tête ou de bas de page de la page.

3 Cliquez sur le champ avec le bouton droit de la souris, puis cliquez surDéfinir le champ.

4 Choisissez Numéro de page dans la liste Champ spécial.

476 Paradox 9 : Chapitre 8

5 Cliquez sur la zone d�édition avec le bouton droit de la souris etsélectionnez Propriétés.

6 Cliquez sur la page Police, définissez la couleur de la police à blanc (ou à lacouleur du fond) pour rendre le champ invisible.

7 Créez un nouveau champ dans la bande d�en-tête ou de bas de page de lapage à l�endroit où vous voulez faire apparaître le numéro de page.

C�est le champ Numéro de page réel qui apparaîtra.

8 Cliquez sur le nouveau champ avec le bouton droit de la souris etsélectionnez Définir le champ.

9 Dans la boîte de dialogue Définition de l�objet champ, activez la case àcocher Calculé et tapez l�expression suivante dans la zone Calculé :

Page_number.value + 9

Page_number est le nom d�objet par défaut attribué au champ Numéro depage que vous venez de créer.

10 Donnez au nouveau champ calculé le libellé Page ou tout autre texte devotre choix.

Utilisation d�un champ calculé pour n�imprimer que des champscontenant des données

L�affichage d�un champ peut varier selon qu�un autre champ est vide ou non.

Pour empêcher l�impression des champs vides

� Créez un champ calculé et tapez la formule suivante :

if(isBlank(nomchamp), ValueIfTrue, ValueIfFalse)

Si (nomchamp) ne contient aucune valeur, ValueIfTrue est utilisé. Sinon,ValueIfFalse est utilisé.

� En cas de champs de type numérique, entier court et monétaire, leparamètre isBlank renvoie toujours une valeur FAUSSE si l�option Traiterles champs vides comme zéros est activée dans la page Base de donnéesde la boîte de dialogue Préférences (menu Édition).

Utilisation des objets de conception 477

Utilisation d�un champ calculé pour mettre les champs en majusculeslors de l�impression

Vous pouvez mettre en majuscules certains champs et enregistrements de labase de données lors de l�impression d�un état.

Pour imprimer le champ Nom en lettres capitales

1 Si vous utilisez le fichier exemple Clients, insérez un champ Nom à l�aidede l�outil Champ.

2 Cliquez sur le champ avec le bouton droit de la souris et cliquez surDéfinir le champ.

3 Activez la case à cocher Calculé et tapez l�expression suivante dans lazone Calculé :

Upper([CLIENTS.Nom])

format („CC »,[CLIENTS.Nom])

Cette expression prend le champ Nom et convertit chaque mot de façon àce qu�il commence par une lettre capitale. Exemple : sight diver ouSIGHT DIVER deviennent Sight Diver.

� Le champ Nom n�a pas besoin de figurer dans l�état.

� Si vous voulez convertir tous les noms en minuscules, remplacez le termeUpper par Lower dans l�expression ci-dessus.

� Si vous souhaitez mettre la première lettre d�un nom en majuscules,utilisez la formule suivante :

Impression d�une formule de calculLorsque vous définissez un champ comme champ calculé, la formule devientune source ObjectPAL. Autrement dit, la formule s�imprime avec les autresméthodes ObjectPAL associées au document. Vous pouvez décider den�imprimer que les formules des champs calculés ou l�ensemble du codeObjectPAL (pour les fiches uniquement).

478 Paradox 9 : Chapitre 8

Pour n�imprimer que les formules des champs calculés d�unefiche

1 Ouvrez la fenêtre Conception d�une fiche ou d�un état, cliquez surAffichage, Source du document pour créer un état temporaire répertorianttout le code ObjectPAL dans cet état. Cet état repose sur la tabletemporaire appelée PAL$SRC.DB.

2 Cliquez sur Affichage, Concevoir l�état.

3 Cliquez sur Format, Filtre.

4 Dans la zone de texte MethodName, tapez calcField, puis cliquez sur OK.

5 Cliquez sur Ficher, Imprimer pour imprimer l�état temporaire.

Pour imprimer toutes les formules des champs calculés d�un état

1 Cliquez sur Fichier, Ouvrir, État.

2 Activez la case à cocher Ouvrir en tant que fiche.

3 Cliquez sur le bouton Modifier conception fiche.

4 Choisissez l�état approprié dans la liste Rechercher dans, puis cliquez surOuvrir.

5 Cliquez sur Affichage, Concevoir la fiche.

6 À partir de la fenêtre Conception de fiche, cliquez sur Affichage, Source dudocument pour créer un état temporaire répertoriant tout le codeObjectPAL dans cet état. Cet état repose sur la table temporaire appeléePAL$SRC.DB.

7 Cliquez sur Ficher, Imprimer pour imprimer l�état temporaire.

Objet graphiqueVous pouvez compléter une fiche ou un état par une image graphique. Pourcela, il suffit de placer un objet graphique dans le document et d�insérer legraphique à l�intérieur de l�objet. L�image graphique peut provenir duPresse-papiers Windows ou d�un fichier .BMP, .PCX, .TIF, .GIF, .EPS et .JPG.

Utilisation des graphiquesBien que Paradox vous permette de manipuler les graphiques, il estpréférable de faire appel à l�application serveur si vous envisagez d�yapporter de substantielles modifications. Paradox vous permet dedimensionner, déplacer, copier, rogner le graphique que vous insérez dansune fiche ou dans un état.

Utilisation des objets de conception 479

Pour plus d�informations sur les propriétés des graphiques, reportez-vous àla référence Propriétés des objets de l�aide en ligne.

Insertion d�un graphique dans une fiche ou un étatParadox utilise les cadres pour contenir tous les graphiques. Pour insérer ungraphique dans une fiche ou un état, créez tout d�abord le cadre, puis insérezle graphique.

Pour créer le cadre du graphique

1 Cliquez sur l�outil Graphique.

2 Créez l�un des éléments suivants :

� Un cadre de la taille par défaut : cliquez sur la fiche ou l�état à l�endroitprécis où vous voulez placer le graphique.

� Un cadre de n�importe quelle taille : cliquez sur la fiche ou l�état àl�endroit où vous voulez placer le graphique et faites glisser l�objet pourlui donner la dimension voulue.

3 Si vous relâchez le bouton de la souris avant que le cadre n�ait ladimension ou la forme voulue, cliquez sur l�une des huit poignées quientoure l�objet et faites-la glisser comme bon vous semble.

Les mots Graphique non défini apparaissent dans l�objet graphique.

Pour insérer le graphique dans le cadre

Cliquez à l�aide du bouton droit sur l�un des objets suivants :

� Dans la fenêtre Conception (le cadre du graphique) et cliquez sur Collervers pour insérer le contenu du Presse-papiers dans le cadre dugraphique. Si le Presse-papiers est vide, l�option Coller est grisée.

� Dans la fenêtre Conception (le cadre du graphique) et cliquez sur Collerdepuis pour insérer un fichier dans le cadre du graphique.

La boîte de dialogue Coller depuis un fichier graphique s�affiche.

� Lorsque vous définissez un objet graphique, Paradox le redimensionnepour qu�il occupe l�ensemble du cadre et vérifie la propriété Ajuster lataille. Vous devez désactiver cette propriété pour être en mesure deredimensionner l�objet graphique. Pour plus d�informations à propos de lapropriété Ajuster la taille, reportez-vous à la section référence Propriétésdes objets dans l�aide en ligne.

480 Paradox 9 : Chapitre 8

Déplacement d�un graphiqueCliquez à l�intérieur du cadre d�un graphique pour déplacer le graphique àl�intérieur du conteneur. Pour déplacer la totalité du graphique, vous devezsélectionner à la fois le graphique et le cadre.

Pour déplacer un graphique

1 Dans la fenêtre Conception, cliquez à l�extérieur de l�objet graphique.

2 Cliquez sur le cadre du graphique jusqu�à ce que les poignées apparaissentautour du conteneur.

3 Faites glisser l�objet jusqu�à son nouvel emplacement.

4 Pour déplacer le graphique à l�intérieur du conteneur, cliquez unedeuxième fois sur le conteneur de façon à activer le graphique. Lespoignées disparaissent, mais vous voyez toujours des ombres sur lesrègles et le pointeur se transforme en main. Faites glisser le graphiquevers son nouvel emplacement à l�intérieur du conteneur.

Pour insérer un graphique sur un bouton

1 Utilisez l�outil Graphique pour insérer un objet graphique sur le bouton.

2 Cliquez sur le bouton avec le bouton droit de la souris, puis sélectionnezPropriétés.

3 Cliquez sur la page Conception.

4 Cochez la case Imbriquer les objets.

Copie d�un graphique vers un fichier sans utiliser l�option ExporterGrâce à la fonction Copier vers, vous pouvez enregistrer un graphique dansn�importe quel fichier.

Pour copier un graphique vers un fichier sans utiliser l�optionExporter

1 Cliquez sur l�objet graphique.

2 Cliquez sur Édition, Copier vers.

3 Dans la boîte de dialogue Copier vers un fichier graphique, entrez un nomde fichier, en précisant le chemin si nécessaire, dans la zone Nouveau nomde fichier.

Utilisation des objets de conception 481

Redimensionnement d�un objet graphique ou OLE dans un étatLorsque vous insérez un objet graphique ou OLE (Object Linking andEmbedding) dans la fenêtre Conception d�état, le conteneur que vous créezs�adapte automatiquement à la taille du contenu. Par défaut, Paradox active lapropriété Ajuster la taille. Si un graphique est trop volumineux pour soncadre, vous pouvez déplacer le graphique à l�intérieur du cadre ou rogner legraphique à la taille et à la zone voulues.

Pour redimensionner un objet graphique ou OLE

1 Ouvrez la fenêtre Conception d�une fiche ou d�un état, cliquez sur l�objetOLE avec le bouton droit de la souris et cliquez sur Propriétés.

2 Sur la page Conception de la boîte de dialogue Propriétés, désactivez lacase à cocher Ajuster la taille.

3 Cliquez sur OK pour revenir à la fenêtre Conception d�état.

4 Cliquez sur le graphique pour le sélectionner.

5 Faites glisser les poignées pour redimensionner le graphique.

Pour rogner un graphique

1 Ouvrez la fenêtre Conception d�une fiche ou d�un état, cliquez sur leconteneur avec le bouton droit de la souris, puis cliquez sur Propriétés.

2 Sur la page Conception de la boîte de dialogue Propriétés, désactivez lacase à cocher Ajuster la taille.

3 Cliquez sur OK pour revenir à la fenêtre Conception.

4 Faites glisser l�une des poignées de dimensionnement du conteneurjusqu�à ce qu�il soit plus petit que le graphique qu�il contient.

5 Cliquez sur le graphique pour le sélectionner. Le pointeur se transformeen main ouverte.

6 Faites glisser le graphique dans le conteneur de façon à lui donner laposition voulue dans le cadre.

7 Redimensionnez le conteneur si nécessaire.

� Pour plus d�informations à propos de la propriété Ajuster la taille,reportez-vous à la section référence Propriétés des objets dans l�aide enligne.

482 Paradox 9 : Chapitre 8

Compréhension des effets visuelsLorsque vous définissez un objet graphique, vous identifiez un graphiquesource (un fichier) à placer dans une destination (l�écran de votre ordinateur).Paradox suppose en général que vous souhaitez une copie non modifiée de lasource placée à l�écran.

Toutefois, pour qu�il y ait interaction du graphique source avec l�écran, vousserez peut-être amené à rendre le graphique source transparent, à fairetransparaître la couleur de la page ou à inverser la couleur du graphiquesource.

Les effets visuels vous permettent de définir la façon dont Paradox combinele graphique source et la destination, à savoir : inversion, combinaison,inclusion ou exclusion des couleurs. Paradox utilise les opérateurs booléensET, OU et OU exclusif pour combiner des pixels de couleur pour les effetsvisuels.

Le tableau suivant décrit brièvement en quoi consiste chaque effet visuel :

Effet visuel Résultat à l�écran

Couleurs de l�original Copie une réplique exacte du graphique source vers la destination.

Sur fond/Transparent Combine le graphique source et la destination à l�aide de l�opérateurbooléen OU.

Original et fond Combine le graphique source et la destination à l�aide de l�opérateurbooléen ET.

Négatif/Transparent Combine le graphique source et la destination à l�aide de l�opérateurbooléen OU exclusif.

Effacement original Inverse les couleurs de la destination et combine cette dernière avec legraphique source à l�aide de l�opérateur booléen ET.

Inverse vidéo Inverse les couleurs du graphique source et copie ce dernier vers ladestination

Pas d�effacement original Combine le graphique source et la destination à l�aide de l�opérateurbooléen OU.

Fusionne au fond Inverse les couleurs du graphique source et copie ce dernier vers ladestination à l�aide de l�opérateur booléen OU.

Démonstration des effets visuels

Pour voir les impacts des effets visuels, ouvrez le fichier RASTEROP.FSLqui se trouvent dans le dossier SAMPLE (ou là où vous avez installé lesapplications exemples).

Utilisation des objets de conception 483

Création d�un masque pour le graphiqueSupposons que la page de votre fiche soit en couleurs et que vous vouliez yplacer un graphique. Si le fond de l�objet graphique ne correspond pas à lacouleur de la page, les bordures du graphique vont se voir. Utilisez unmasque pour rendre certaines zones du graphique transparentes. Lesmasques vous permettent de faire transparaître la couleur de la page.

Supposons, par exemple que la page de votre fiche soit jaune et que vousvouliez placer un objet graphique de forme ovale sur la page. Si le fond dugraphique ovale et le jaune de la page ne correspondent pas parfaitement, lesbordures de l�objet graphique vont se voir.

Pour créer le masque

1 Copiez le graphique source. Appelez-le MASK.BMP.

2 Dans une application graphique, telle que Corel PHOTO-PAINT, modifiezMASK.BMP de façon à ce que les parties que vous voulez rendretransparentes soient noires et les autres blanches.

3 Dans la fenêtre Conception de fiche, insérez un objet graphique, puiscliquez sur l�objet avec le bouton droit de la souris et sélectionnez Collerdepuis.

4 Choisissez MASK.BMP dans la liste Nom de fichier pour insérer cegraphique dans le cadre.

5 Cliquez sur l�objet graphique avec le bouton droit de la souris et cliquezsur Propriétés. Choisissez Sur fond/Transparent dans la zone Effet visuelde la page Effet visuel.

6 Insérez un autre objet graphique. Cliquez sur l�objet avec le bouton droitde la souris et cliquez sur Coller depuis. Dans la boîte de dialogue Collerdepuis un fichier graphique, sélectionnez votre graphique d�origine.

7 Cliquez sur l�objet graphique d�origine avec le bouton droit de la souris.Dans la boîte de dialogue Propriétés, choisissez Original et fond dans lazone Effet visuel de la page Effet visuel.

8 Sélectionnez les deux objets graphiques en cliquant sur chacun d�entreeux tout en maintenant la touche MAJ enfoncée.

9 Cliquez sur l�un des objets avec le bouton droit de la souris et cliquez surPropriétés. Dans la page Cadre, sélectionnez le style supérieur gauche dela palette Style de cadre de façon à supprimer les cadres des objetsgraphiques.

484 Paradox 9 : Chapitre 8

10 Alors que les deux objets graphiques sont toujours sélectionnés, cliquezsur Format, Alignement, Gauche. Cliquez ensuite sur Format,Alignement, Haut. Finalement, cliquez sur Format, Grouper.

Lorsque le graphique d�origine et le masque sont combinés, les zones quevous avez rendues transparentes laissent passer la couleur de la page.

� L�ordre dans lequel vous placez les graphiques sur la fiche influe sur lesrésultats puisqu�il décide du bitmap qui se trouve au premier plan. Si vousplacez le graphique d�origine dans la fiche avant le masque, vous devezsélectionner l�original et cliquez sur Format, Ordre, Premier plan avantd�aligner les graphiques.

Sélection de l�effet visuel à appliquerLes différents effets visuels se trouvent dans la boîte de dialogue Propriétés.

Pour choisir un effet visuel

1 Sélectionnez le graphique que vous voulez modifier.

2 Cliquez sur le graphique avec le bouton droit de la souris, sélectionnezPropriétés.

3 Cliquez sur la page Effet visuel.

4 Choisissez l�effet visuel que vous voulez appliquer dans la liste Effetvisuel.

� Pour plus d�informations sur les effets visuels, reportez-vous auxpropriétés Effet visuel de l�aide en ligne.

Objet multi-enregistrementUn objet multi-enregistrement affiche plusieurs enregistrements dans unedisposition de champ qui se répète horizontalement et verticalement sur lapage autant de fois que spécifié. Placez les champs dans un modèlequelconque. Définissez la disposition des champs pour un seulenregistrement, puis précisez combien d�enregistrements horizontaux etverticaux vous souhaitez avoir.

Utilisation des objets de conception 485

� L�objet enregistrement à l�intérieur de l�objet multi-enregistrement est unconteneur. S�il est trop petit, Paradox éliminera des champs dans la boîtede dialogue Définition d�un objet multi-enregistrement (menu contextuel)pour faire entrer l�enregistrement dans le conteneur. Pour redimensionnerles enregistrements, sélectionnez la zone d�enregistrement maître etfaites glisser les poignées de sélection.

Insertion d�un objet multi-enregistrement dans une fiche ou un étatUne fois l�objet multi-enregistrement inséré, il vous faut préciser les champsà afficher dans chaque enregistrement. Seuls les champs d�une table détailpeuvent apparaître dans un objet multi-enregistrement.

Pour insérer un objet multi-enregistrement dans une fiche ou unétat

1 Dans la fenêtre Conception, cliquez sur l�outil Multi-enregistrement.

2 Cliquez à l�endroit voulu pour insérer un objet multi-enregistrement de lataille par défaut, ou cliquez puis faites glisser l�objet multi-enregistrementà la place et à la dimension voulues.

3 Cliquez sur l�objet enregistrement à l�intérieur de l�objetmulti-enregistrement.

4 Redimensionnez l�objet enregistrement de façon à ce qu�il soit en mesurede contenir tous les champs que vous désirez inclure dansl�enregistrement.

Pour définir un objet multi-enregistrement

1 Dans la fenêtre Conception, cliquez sur l�objet multi-enregistrement avecle bouton droit de la souris et cliquez sur Définir l�enregistrement.

2 Dans la boîte de dialogue Définition d�un objet multi-enregistrement, quiaffiche les tables liées au document, choisissez les champs voulus dans lazone de liste de la table (par exemple CLIENTS.DB).

� Si vous rétrécissez trop l�objet enregistrement, Paradox supprimera deschamps de la boîte de dialogue Définition d�un objet multi-enregistrementpour faire tenir l�enregistrement dans le conteneur.

486 Paradox 9 : Chapitre 8

Définition de l�enregistrement et de la disposition des champs d�unobjet multi-enregistrement

Il vous appartient de choisir le nombre de fois où l�enregistrement serépétera à l�horizontale et à la verticale dans un objet multi-enregistrement.Vous pouvez aussi choisir d�afficher les champs en colonnes ou en lignes.

Pour définir la disposition de l�enregistrement d�un objetmulti-enregistrement

1 Dans la fenêtre Conception, cliquez sur l�objet multi-enregistrement avecle bouton droit de la souris, puis cliquez sur Propriétés.

2 Cliquez sur la page Disposition enregistrement pour la faire venir aupremier plan.

3 Définissez la disposition. Pour cela,

� Tapez le nombre d�enregistrements qui doivent se répéter de haut enbas et de gauche à droite de la page dans les zones Nombre.

� Définissez les séparations verticale et horizontale entre lesenregistrements en entrant les nombres appropriés dans les zonesSéparation ; Paradox utilise l�unité de mesure (pouces ou centimètres)définie dans les Paramètres de la grille.

� Fixez l�ordre dans lequel les enregistrements doivent apparaître enactivant le bouton Ordre de remplissage approprié.

Pour définir la disposition des champs d�un objetmulti-enregistrement

1 Dans la fenêtre Conception, cliquez sur l�objet multi-enregistrement avecle bouton droit de la souris et cliquez sur Définir l�enregistrement.

2 Dans la boîte de dialogue Définition d�un objet multi-enregistrement,choisissez le champ à afficher dans l�objet dans la zone de liste de la table.

3 Cliquez sur OK pour revenir à la fiche ou à l�état.

4 Cliquez sur l�objet multi-enregistrement avec le bouton droit de la souriset cliquez sur Disposition des champs.

5 Dans la boîte de dialogue Disposition d�un objet multi-enregistrement,activez l�une des options suivantes :

� Le bouton En colonnes ou En lignes pour afficher les champs dans descolonnes ou sur des lignes à l�intérieur de l�enregistrement.

Utilisation des objets de conception 487

� La case à cocher Champs libellés pour afficher les libellés des champsà l�intérieur de l�enregistrement.

Sur la page Champs, sélectionnez les champs à inclure dans l�enregistrementet utilisez les flèches pour modifier l�ordre des champs.

� Lorsque vous définissez la disposition d�un objet multi-enregistrementdans un état, le nombre de fois où se répètent les enregistrements peutêtre affecté par les propriétés Afficher tous les enregistrements etSupprimer si vide de la page Exécution de la boîte de dialogue Propriétés.

Redimensionnement des enregistrements dans un objetmulti-enregistrement

Vous avez la possibilité d�agrandir ou de rétrécir les enregistrementsindividuels composant l�objet multi-enregistrement lors de l�impression ou laprévisualisation des états. Autrement dit, l�objet multi-enregistrementn�affiche pas les enregistrements selon une grille de taille fixe. Si vousutilisez la propriété Hauteur variable (tabulaire), vous êtes en mesured�accueillir plus d�enregistrements sur une seule page que si vous n�utilisiezpas cette propriété.

Pour redimensionner les enregistrements d�un objetmulti-enregistrement

1 Sélectionnez la zone de l�enregistrement maître d�un objetmulti-enregistrement.

2 Faites glisser ses poignées de sélection.

Paradox redimensionne les zones de répétition grisées le long de la zonede l�enregistrement maître.

Pour agrandir ou rétrécir les enregistrements d�un objetmulti-enregistrement

1 Dans la fenêtre Conception d�une fiche ou d�un état, cliquez sur l�objetmulti-enregistrement avec le bouton droit de la souris et cliquez surPropriétés.

2 Dans la page Disposition enregistrements de la boîte de dialoguePropriétés, activez le bouton De haut en bas, puis de gauche à droite.

488 Paradox 9 : Chapitre 8

3 Si vous créez un état, activez la case à cocher Hauteur variable (tabulaire).

La propriété En colonne (tabulaire) n�est disponible qu�à condition d�avoirsélectionné au préalable le paramètre De haut en bas, puis de gauche àdroite. Cette propriété n�est disponible que pour les états.

� L�objet enregistrement à l�intérieur de l�objet multi-enregistrement est unconteneur. Si vous rétrécissez trop l�objet enregistrement, Paradoxsupprimera des champs de la boîte de dialogue Définition d�un objetmulti-enregistrement pour faire tenir l�enregistrement dans le conteneur.

� L�objet enregistrement à l�intérieur de l�objet multi-enregistrement est unconteneur. Si vous rétrécissez trop l�objet enregistrement, Paradoxsupprimera des champs de la boîte de dialogue Définition d�un objetmulti-enregistrement pour faire tenir l�enregistrement dans le conteneur.

Affichage de tous les enregistrements et de toutes les colonnes dansles objets multi-enregistrements

Lorsque vous exécutez une fiche ou un état, Paradox est en mesured�agrandir un objet multi-enregistrement pour créer le nombre de pagesnécessaire à l�affichage de tous les enregistrements ou de toutes lescolonnes.

Pour afficher tous les enregistrements et toutes les colonnes

1 Dans une fenêtre Conception, cliquez sur l�objet multi-enregistrementavec le bouton droit de la souris et cliquez sur Propriétés.

2 Cliquez sur la page Exécution.

3 Activez la case à cocher Afficher tous les enregistrements. Pour les objetstable, vous pouvez aussi activer la case à cocher Afficher toutes lescolonnes.

� Si l�option Afficher tous les enregistrements est désactivée, Paradoxaffiche un nombre fixe d�enregistrements.

Utilisation des objets de conception 489

Objet classeurLes classeurs comportent une ou plusieurs pages. Chaque page possède unonglet sur lequel il est possible de cliquer pour faire apparaître la page. Rienne vous empêche de remplacer des fiches multipages par un classeur. Parexemple, vous pouvez placer les informations issues de chaque table dumodèle relationnel de la fiche dans une page différente du classeur plutôt quesur des fiches multipages. De cette façon, la consultation et la modificationdes données se font bien plus facilement puisqu�il suffit de cliquer sur unonglet pour faire apparaître la page au lieu de parcourir les différentes pagesde la fiche.

Les classeurs ne sont disponibles que dans les fiches. Ils ne sont pascompatibles avec les états.

Utilisation des classeursChaque page d�un classeur sert de conteneur aux autres objets. Tout objet deconception susceptible d�appartenir à une fiche peut figurer sur une paged�un classeur, même s�il s�agit d�un objet classeur.

Objets données sur les pages de classeur

Vous pouvez insérer des objets données dans les différentes pages d�unclasseur pour en assurer une gestion bien plus efficace.

À l�aide d�un modèle relationnel contenant une relation un-à-plusieurs, vouspouvez, par exemple, placer les enregistrements de la table maître sur lapremière page du classeur, ceux de la première table détail dans la deuxièmeet ceux de la dernière table détail dans la troisième. Il vous suffit ensuite desélectionner la première page du classeur, de passer en revue lesenregistrements maîtres et de consulter les détails quand le besoin s�en faitsentir. Non seulement l�affichage est simplifié, mais les performances sontaméliorées.

490 Paradox 9 : Chapitre 8

Exemple d�un objetClasseur avec desobjets Bouton.L�insertion d�objetsBouton dans unclasseur rendl�extractiond�informations plusefficace.

Propriétés d�un classeur

Il est possible de modifier les propriétés du classeur dans son ensemble oude certaines pages distinctes. Vous pouvez notamment choisir la place desonglets, en haut ou en bas du classeur, et leur aspect, carré ou biseauté. Lespages individuelles peuvent être en couleurs et prendre des couleursdifférentes selon leur état : actives ou inactives. Rien ne vous empêche, aumoment de l�exécution, de rendre invisible l�ensemble du classeur ou despages individuelles.

� Deux cadres de table de pages de classeur différentes ne peuvent pas faireréférence à la même table du modèle relationnel.

Insertion d�un classeur dans une ficheUtilisez l�outil Classeur pour créer des classeurs dans les fiches. Un classeurne peut pas figurer sur un état.

Pour insérer un classeur dans une fiche

1 Ouvrez une fiche dans la fenêtre Conception, cliquez sur l�outil Classeurdans la barre d�outils Conception de fiche.

2 Cliquez sur la fiche pour insérer un classeur de la taille par défaut oucliquez et faites glisser l�objet pour placer le classeur à l�endroit voulu etlui donner la taille appropriée.

Sélection d�un classeur ou d�une page de classeurLes classeurs respectent les conventions de la propriété Sélection depuisl�intérieur. Lorsque cette propriété n�est pas activée, le premier clic effectuédans la fenêtre Conception sélectionne l�objet le plus extérieur. Les clicssuivants permettent, à tour de rôle, de sélectionner le niveau immédiatementinférieur du conteneur.

Pour sélectionner l�ensemble du classeur

� Cliquez sur le classeur (Si vous avez déjà cliqué une fois ou deux fois surle classeur, effacez la sélection en cliquant sur la page de la fiche àl�extérieur de l�objet classeur).

Une ligne double pointillée dotée de poignées de dimensionnement viententourer l�objet classeur. Si vous ne parvenez pas à sélectionnerl�ensemble du classeur, vérifiez que la case à cocher Sélection depuisl�intérieur de la page Concepteur de la boîte de dialogue Préférences(menu Édition) est bien désactivée.

Utilisation des objets de conception 491

Pour sélectionner une page d�un classeur

1 Cliquez sur le classeur.

2 Cliquez sur une page d�une page pour sélectionner la page.

3 Pour sélectionner une page différente, cliquez sur la page de la page.

Navigation dans les pages d�un classeurVous pouvez vous déplacer à l�intérieur du classeur inséré dans votre fichede plusieurs manières.

À l�aide de la souris ou du clavier

� Affichez une page du classeur en cliquant sur son onglet (dans une fenêtreConception ou lors de l�exécution de la fiche).

� Passez d�un objet à l�autre en appuyant sur TAB et MAJ + TAB. Utilisezcette méthode pour atteindre n�importe quelle page du classeur ou toutobjet d�une page de classeur (fenêtre Conception uniquement).

� Passez d�une page à l�autre du classeur en appuyant sur MAJ + F3 (enarrière) et MAJ + F4 (en avant) (dans une fenêtre Conception ou lors del�exécution de la fiche).

À l�aide du menu accessible par simple clic du bouton droit de lasouris

Vous pouvez passer d�une page à l�autre d�un classeur en cliquant sur leclasseur avec le bouton droit de la souris. Cette méthode est similaire à celleutilisée dans une fiche.

1 Sélectionnez l�ensemble du classeur.

2 Cliquez à l�aide du bouton droit sur le classeur, puis cliquez sur :

� Suivante : pour passer à la page à droite de la page courante. Si la pagecourante se situe sur le bord droit du classeur, Paradox choisit la pagela plus à gauche de la ligne située au-dessus de la page courante.

� Précédente : pour passer à la page à gauche de la page courante. Si lapage courante se situe sur le bord gauche du classeur, Paradox choisitla page la plus à droite de la ligne située au-dessus de la page courante.

� Première : pour sélectionner la première page (ayant été créée)comme page courante. Vous pouvez ainsi très vite identifier lapremière page d�un classeur multiligne ayant subi de nombreusesmanipulations.

� Dernière : pour sélectionner la dernière page (ayant été créée)comme page courante.

492 Paradox 9 : Chapitre 8

Insertion d�un objet dans une page de classeurVous pouvez insérer n�importe quel objet de conception dans une page declasseur, y compris un objet classeur.

Pour insérer un objet dans une page de classeur

1 Sélectionnez une page de classeur.

2 Cliquez sur l�outil d�un objet dans la barre d�outils Conception de fiche.

3 Créez l�objet en faisant glisser l�outil dans les limites de la page declasseur.

� Pour modifier le libellé de l�onglet, sélectionnez l�objet texte du libellé,appuyez sur F2 et commencez à taper. Le libellé s�agrandit pour accueillirle texte.

Ajout et suppression de pages de classeurLe nombre de pages par défaut d�un classeur est deux. Paradox vous permetde personnaliser votre classeur de façon à ce qu�il comporte autant de pagesque nécessaire car il vous arrivera sûrement d�avoir besoin de plus de deuxpages.

Ajout ou suppression d�une page de classeurPar défaut, un classeur comporte deux pages et doit impérativement en avoirune au minimum.

Pour ajouter une page

1 Sélectionnez l�ensemble du classeur.

2 Cliquez sur le classeur avec le bouton droit de la souris et sélectionnezPropriétés.

3 Dans la page Général, ajoutez une page au nombre de pages affiché.

Utilisation des objets de conception 493

Pour ajouter plusieurs pages

1 Sélectionnez l�ensemble du classeur.

2 Cliquez sur le classeur avec le bouton droit de la souris et sélectionnezPropriétés.

3 Dans la page Général de la boîte de dialogue Propriétés, entrez un nombredans la boîte de dialogue Nombre de pages.

Pour supprimer une page de classeur

1 Sélectionnez une page de classeur.

2 Cliquez sur Édition, Effacer.

� Vous pouvez contrôler le nombre d�onglets affichés et le nombre de lignesoù ils s�affichent. Si, par exemple, vous définissez huit pages avec quatreonglets disposés horizontalement, le classeur comportera deux lignes dequatre onglets chaque.

� Lorsque vous ajoutez des lignes, les onglets d�une ligne donnée restentsur une ligne commune. Si vous sélectionnez un onglet de la ligne arrière,toute la ligne d�onglets passe au premier plan de la page sélectionnée.

� Pour afficher les onglets sur une ligne de défilement, ajoutez une barre dedéfilement en suivant les explications de la rubrique Insertion d�une barrede défilement dans un classeur à la page 496.

Rotation de page de classeurVous pouvez faire passer une page de classeur sélectionnée en dernière page.Vous pouvez aussi couper une page du classeur et la coller à tout autreendroit.

Pour permuter une page de classeur

1 Ouvrez la fiche appropriée dans la fenêtre Conception, sélectionnez lapage que vous voulez faire passer à la fin du classeur.

2 Cliquez à l�extérieur du classeur, puis cliquez avec le bouton droit de lasouris sur le classeur et sélectionnez Rotation des pages.

Pour copier et coller une page de classeur

1 Sélectionnez une page de classeur.

494 Paradox 9 : Chapitre 8

2 Cliquez sur la page avec le bouton droit de la souris et cliquez sur Couperou Copier pour placer la page dans le Presse-papiers.

3 Sélectionnez une autre page de classeur.

4 Cliquez sur cette page avec le bouton droit de la souris et sélectionnezColler.

Paradox insère le contenu du Presse-papiers après la page active duclasseur.

� Rien ne vous empêche d�utiliser les commandes Couper, Copier et Collerdu menu Édition.

Modification de l�aspect d�un classeurBien que les classeurs aient un aspect quelque peu figé, rien ne vousempêche de modifier la taille du classeur et de ses onglets de façon à mieuxmettre en valeur les objets imbriqués. Vous pouvez également insérer unebarre de défilement dans le classeur. Vous serez alors en mesure de travailleravec des pages plus petites et de présenter tout de même tous les champsdont vous avez besoin.

Déplacement ou redimensionnement d�un classeurIl n�est pas possible de déplacer ou de redimensionner individuellement lespages d�un classeur mais rien ne vous empêche de modifier la hauteur desonglets figurant en haut ou en bas du classeur.

Pour déplacer un classeur

1 Sélectionnez l�ensemble du classeur.

2 Faites-la glisser vers un nouvel emplacement.

Pour redimensionner un classeur

1 Sélectionnez l�ensemble du classeur.

2 Faites glisser les poignées de dimensionnement pour modifier la forme duclasseur.

Pour modifier la hauteur des onglets d�un classeur

1 Sélectionnez l�ensemble du classeur de façon à faire apparaître une lignedouble pointillée et les poignées de dimensionnement autour du classeur.

Utilisation des objets de conception 495

2 Faites ensuite glisser un ou plusieurs des éléments suivants :

� La poignée centrale la plus proche des onglets pour modifier la hauteur.

� La poignée centrale supérieure pour redimensionner les onglets situésen haut.

� La poignée centrale inférieure pour redimensionner les onglets situésen bas.

� Si vous réduisez la hauteur des onglets, il vous faudra peut-être choisirune police plus petite pour les libellés.

Insertion d�une barre de défilement dans un classeurLorsque les onglets ne tiennent pas dans l�espace disponible, vous avez deuxpossibilités : utilisez plusieurs lignes selon les explications de la rubriqueAjout ou suppression de pages de classeur à la page 493 ou utilisez une seuleligne et ajoutez une barre de défilement de façon à afficher les onglets surune ligne de défilement.

Pour ajouter une barre de défilement

1 Sélectionnez l�ensemble du classeur.

2 Cliquez sur le classeur avec le bouton droit de la souris et sélectionnezPropriétés.

3 Dans la page Général de la boîte de dialogue Propriétés, activez la case àcocher Onglets de défilement.

Lorsque cette case est activée, le classeur comporte une seule ligned�onglets. Ceux qui ne tiennent pas n�apparaissent pas. Sur le côté droitdu classeur se trouvent des boutons portant des flèches gauche et droite.Cliquez sur un bouton pour faire défiler les onglets à gauche ou à droite.Maintenez un bouton enfoncé pour faire défiler les onglets les uns aprèsles autres.

� Ce n�est pas parce que vous faites défiler les onglets que la page activechange. Vous pouvez faire défiler les onglets tout en conservant la pageactive à l�écran. Lorsque vous atteignez l�onglet désiré, vous devez cliquersur l�onglet pour que sa page devienne active.

496 Paradox 9 : Chapitre 8

Contrôles ActiveX et natifs WindowsLes contrôles ActiveX et natifs Windows sont des outils particulièrementutiles qui permettent d�enrichir les fiches personnalisées. Ils offrent desfonctions supplémentaires et permettent notamment d�ajouter une zone deliste pour afficher des éléments d�affichage sans occuper d�espace ou uncontrôle ActiveX VCR pour passer d�un enregistrement à l�autre.

Contrôles ActiveX (Contrôle OLE)

Vous pouvez imbriquer des contrôles ActiveX (OLE) dans les fiches Paradox.Les contrôles ActiveX ne sont, en fait, rien d�autre que des applicationsminiatures complexes telles que tableur, navigateur Web Internet, logiciel decommunication ou des outils de grille et de graphe.

Si vous voulez interagir avec les contrôles ActiveX lors de l�exécution, vousdevez écrire un code ObjectPAL pour définir les propriétés, appeler lesméthodes et gérer les événements. Pour interagir avec un contrôle ActiveX,vous pouvez faire directement référence au nom UIObject qui accueille lecontrôle ActiveX ou utiliser le type OleAuto ObjectPAL. Le type OleAutovous permet de communiquer avec un serveur OLE et un contrôle ActiveXainsi qu�avec des contrôles natifs Windows, puisqu�il convertit le codeObjectPAL en appels d�automatisation OLE.

Chaque contrôle ActiveX représente des méthodes, des propriétés et/ou desévénements que vous pouvez définir et appeler lors de la conception ou del�exécution de la fiche. Puisque les contrôles ActiveX sont des applicationsdistinctes agissant en tant que sous-programmes de Paradox, ils ne secomporteront pas tout à fait comme des UIObjects classiques de Paradox.Chaque contrôle ActiveX dispose de sa propre fenêtre enfant dans la fiche etde sa propre file d�attente de message. Ainsi, le contrôle ActiveX bénéficie deson propre modèle d�événement, appelé quelquefois modèle d�"événementdéclencheur".

Il est convenu de dire que les contrôles ActiveX « déclenchent » desévénements ; ils annoncent que quelque chose va se passer (événementBefore), se passe (événement Do) ou vient de se passer (événement After)ou alors demandent si une action imminente peut avoir lieu (événementRequest).

Une application de contrôle ActiveX déclenchera souvent un événement sansse préoccuper de savoir s�il est bien de le déclencher. C�est ainsi que sontécrites les spécifications des contrôles ActiveX. Vous ne pouvez pas utiliserObjectPAL pour intercepter des événements liés à une application d�uncontrôle ActiveX (il est par exemple impossible de désactiver un clic desouris sur un contrôle ActiveX). C�est pourquoi les développeurs ObjectPALtrouvent que les modèles de contrôle ActiveX demandent quelquesaméliorations.

Utilisation des objets de conception 497

Contrôles natifs Windows (NWC)

Paradox disposent de cinq contrôles appelés contrôles natifs Windows(NWC). Ils sont créés à l�aide de spécifications de propriété, de méthode etd�événement à partir de l�imbrication OLE. Vous pouvez les considérercomme des hybrides de contrôles Paradox traditionnels (puisque cescontrôles natifs Windows sont construits directement dans Paradox) et decontrôles ActiveX standard (puisqu�ils en suivent les spécifications dans ungrand nombre de domaines).

L�Interface de programmation d�application (API) nécessaire à un contrôlenatif Windows est directement dérivée de l�API Windows. Dans Paradox, cescontrôles se présentent dans un conteneur ActiveX et, par conséquent, secomportent de la même manière qu�un contrôle ActiveX. Le conteneurActiveX régit leurs tailles, positions et styles de cadre et leur fournit un lienà ObjectPAL. Les contrôles natifs Windows utilisent la même technique queles contrôles ActiveX ordinaires (type OleAuto) pour définir et obtenir despropriétés et invoquer des méthodes. Les propriétés, méthodes etévénements des NWC apparaissent dans l�Explorateur d�objet mais nepeuvent pas y être définis. Leurs propriétés doivent être manipulées viaObjectPAL ou de façon interactive à l�aide de l�Explorateur d�objet. Il estinutile d�installer les contrôles natifs Windows, de les enregistrer ou de lesajouter dans la barre d�outils. Ils sont livrés avec Paradox.

Sur le plan pratique, un contrôle natif Windows ne se distingue pas d�uncontrôle ActiveX dans le système de fiche et de langage de Paradox. Qu�ils�agisse de contrôles ActiveX ou de contrôles natifs Windows, les mêmesprincipes de programmation s�appliquent. Il existe toutefois une différence ;les NWC ne font pas appel à l�imbrication OLE et ne prennent en chargeaucune sorte de négociation d�interface utilisateur.

Barre d�outils Contrôles ActiveX

Les contrôles ActiveX et natifs Windows se trouvent tous deux dans la barred�outils Contrôles ActiveX.

Zone de liste - Contrôle natif Windows qui vous permet une ou plusieurs sélections.

Zone d�options - Contrôle natif Windows disposant d�une zone d�édition et d�une zone deliste.

Incrémenteur - Contrôle natif Windows disposant de flèches vers le haut et vers le baspour augmenter ou diminuer la valeur.

Barre de progression - Contrôle natif Windows utilisé pour suivre la progression d�unprocessus.

498 Paradox 9 : Chapitre 8

Barre graduée - Contrôle natif Windows qui vous permet de faire glisser un curseur lelong d�une réglette afin de fixer des valeurs numériques.

Contrôles Paradox VCR - Contrôle ActiveX utilisé pour passer d�un enregistrement àl�autre dans les fiches.

Utilisation des contrôles ActiveX et natifs Windows en modeConception

Les contrôles ActiveX sont disponibles auprès de tiers qui vous offrent despages de propriétés pour vous permettre de définir les propriétés au cours dela phase de conception. Vous avez ainsi la possibilité de fixer l�état initial desapplications ActiveX.

Pour pouvoir utiliser un contrôle, vous devez avant tout l�enregistrer puisl�ajouter dans la barre d�outils Contrôles ActiveX.

Qu�il s�agisse de contrôles ActiveX ou natifs Windows, ils s�utilisent de lamême manière dans les fiches. Il vous suffit d�insérer le contrôle dans lafiche, de cliquer sur le contrôle avec le bouton droit de la souris pourmodifier ses propriétés et d�ajouter de nouvelles méthodes ou de nouveauxévénements à l�aide de l�Explorateur d�objet.

Pour plus d�informations sur l�utilisation et la modification d�un contrôleActiveX particulier, reportez-vous à la documentation du fabricant.

Contrôles ActiveX dans les objets multi-enregistrement, les cadresde table et les références croisées

Les contrôles ActiveX et natifs Windows ne se clonent pas dans les objetsmulti-enregistrements ou les cellules des références croisées. En d�autrestermes, ces contrôles ne s�imbriqueront pas dans les objets. Si vous créez oudéplacez un contrôle ActiveX à l�intérieur d�un objet multi-enregistrement ouun cadre de table, il ne deviendra pas l�enfant de l�objet enregistrement (derépétition) interne. Il en va de même pour les références croisées ; lecontrôle ActiveX ne peut pas devenir un enfant d�un objet cellule (derépétition). Les contrôles ActiveX ne se reproduisent pas dans les différentsgroupes d�enregistrements de répétition.

� Pour plus d�informations sur les contrôles ActiveX et natifs Windows,reportez-vous à la section Référence ObjectPal de l�aide en ligne

Utilisation des objets de conception 499

Types d�événement des contrôles ActiveXLes contrôles ActiveX ont des événements différents de ceux de Paradox.Chaque contrôle est livré avec un groupe d�événements principal qui suit uneconvention de base pour ce qui est du type d�événement à déclencher et de laconfiguration. Si le type d�événement par défaut du contrôle peut être annulé,vous pouvez modifier les paramètres pour que l�événement se comportecomme vous le souhaitez.

Les contrôles ActiveX peuvent émettre des événements tels qu�un clic. Lesnoms des événements émis par un contrôle sont choisis par l�auteur ducontrôle. Ils sont répertoriés dans le volet à onglets de l�Explorateur d�objetdans la page Événements. Les méthodes, événements et propriétésaccompagnant un contrôle s�affichent en rouge dans l�Explorateur d�objet etsont précédés d�un bouton rond. Ces méthodes, événements et propriétéssont également répertoriés dans la documentation du contrôle.

En matière d�événement, les contrôles suivent généralement les conventionsd�appellation suivantes. Par exemple, les événements Do commencent par lemot Do et les événements Request par le mot Request. Puisque lesévénements After sont les plus courants, tout événement qui ne commencepas par l�un des noms des autres événements est censé être un événementAfter.

Les événements des contrôles ActiveX appartiennent en gros à quatrecatégories : événements Request, événements Before, événements After etévénements Do. Sur ces quatre types de contrôle, il est impossible d�annulerles événements de type Before et After

Événements Request

Un contrôle déclenche un événement Request pour savoir si une actionimminente est autorisée et autorise l�utilisateur à annuler une action. Il estpossible d�annuler les événements Request.

Événements Before

Ces événements préviennent que quelque chose va se passer. Ils sontdéclenchés avant que l�action n�ait lieu de façon à pouvoir prendre lesmesures nécessaires avant le déclenchement de l�événement. Il estimpossible d�annuler les événements Before.

Événements Do

Ces événements préviennent que quelque chose se passe. Ils sontdéclenchés pour permettre à l�utilisateur de remplacer ou de compléter lecomportement par défaut du contrôle. Il est possible d�annuler les

500 Paradox 9 : Chapitre 8

événements Do. Les événements Do commencent généralement par le motDo et le dernier paramètre est l�indicateur d�annulation.

Événements After

Ces événements préviennent que quelque chose vient de se produire. Ilssont déclenchés après que l�action ait eu lieu pour permettre d�y répondre. Ilest impossible d�annuler les événements After.

La plupart des contrôles réels se contentent de déclencher des événementsAfter. Par exemple, un contrôle standard émet un seul événement pour unclic. L�événement s�appellerait Click, se déclencherait une fois le clic terminéet ne pourrait être annulé.

Certains contrôles émettront toute une série d�événements associés. Dansnotre exemple, vous pourriez voir les événements suivants :

� RequestClick (événement Request)

� BeforeClick (événement Before)

� DoClick (événement Do)

� Click (événement After)

Il n�est pas dit que tous les contrôles suivent ces consignes. Il ne pourrait yavoir, par exemple, que des événements DoClick et Click.

Pour plus d�informations sur l�utilisation et la modification des contrôlesActiveX, reportez-vous à la documentation du fabricant.

Propriétés ambiantes

Les propriétés ambiantes sont celles qu�un contrôle copie de son conteneur.Par exemple, un contrôle ActiveX inséré sur une fiche jaune obtient desinformations sur les propriétés de la fiche, il détermine qu�il peut utiliser lefond jaune et intègre la couleur du fond de la fiche à ses autres propriétéstelles que couleur du texte et police.

Les propriétés ambiantes peuvent être définies pour chaque contrôle maisles contrôles ActiveX ne sont pas tenus à les utiliser. Par conséquent, lescontrôles ne réagiront pas tous aux changements de ces propriétésambiantes.

Les propriétés ambiantes fournissent des informations quant à l�état duconteneur entourant le contrôle. Il peut s�agir de l�intégralité du conteneur(couleur de fond, par exemple) ou de l�entourage immédiat du contrôle. Uncontrôle peut, par exemple, se trouver dans un document texte où plusieurstailles de police sont utilisées. La propriété ambiante police du contrôleprend, dans ce cas, différentes valeurs selon l�endroit où se situe le contrôle.

Utilisation des objets de conception 501

Affichage de la barre d�outils Contrôles ActiveXLes contrôles ActiveX et natifs Windows se trouvent tous deux dans la barred�outils Contrôles ActiveX de la fenêtre Conception de fiche.

Pour afficher la barre d�outils Contrôles ActiveX

Exécutez l�une des actions suivantes :

� Cliquez sur Affichage, Barres d�outils et activez la case à cocherContrôles ActiveX.

� Cliquez dans la barre d�outils, avec le bouton droit de la souris etactivez l�option Contrôles ActiveX.

Insertion d�un contrôle dans une ficheRien de plus simple que d�insérer un contrôle de la barre Contrôles ActiveXdans votre fiche ; faites comme s�il s�agissait de n�importe quel autre objet deconception.

Pour insérer un contrôle dans une fiche

1 Cliquez sur Affichage, Barres d�outils et sélectionnez Contrôles ActiveX.

2 Cliquez sur l�un des outils de la barre Contrôles ActiveX.

3 Cliquez dans la fenêtre Conception de fiche pour insérer un contrôle de lataille par défaut. Sinon, cliquez et faites glisser l�outil pour insérer lecontrôle et en définir la taille.

4 Cliquez sur l�objet avec le bouton droit de la souris pour ajouter uneméthode ou un événement à l�objet en choisissant Explorateur d�objet oupour modifier ses propriétés en choisissant Propriétés.

Programmation du contrôle Paradox VCRLe contrôle Paradox VCR est un contrôle ActiveX supplémentaire fourni parParadox. Vous pouvez l�associer à vos fiches et en faire un outil de navigation.Vous devez ajouter un code ObjectPAL à chaque bouton pour en définir lesfonctions.

Pour programmer le contrôle Paradox VCR

1 Dans une fenêtre Conception de fiche, cliquez sur le contrôle ParadoxVCR dans la barre d�outils Contrôles ActiveX.

2 Dans une fiche, cliquez et faites glisser l�outil pour insérer le contrôleParadox VCR.

502 Paradox 9 : Chapitre 8

3 Sélectionnez le contrôle Paradox VCR et cliquez sur Outils, Explorateurd�objet.

4 Dans l�onglet Événements, cliquez deux fois sur l�un des événements etajoutez le code personnalisé :

� Back

� FastBack

� FastForward

� FirstRecord

� Forward

� Last Record

� Pour plus d�informations à propos de la définition d�un code personnalisépour chaque bouton, reportez-vous à la section Contrôle Paradox VCRdans l�aide en ligne.

Enregistrement d�un contrôle ActiveXVous devez ajouter le contrôle ActiveX dans la barre d�outils pour pouvoirl�utiliser dans une fiche.

Pour enregistrer un contrôle ActiveX

1 Installez le contrôle sur votre ordinateur en suivant les instructions dufabricant ActiveX.

2 Démarrez Paradox.

3 Cliquez sur Outils, Enregistrer contrôle ActiveX.

4 Dans la boîte de dialogue Enregistrer contrôle ActiveX, recherchez lefichier approprié et cliquez deux fois dessus.

Ainsi, vous enregistrez le contrôle et enregistrez Paradox comme serveurd�automatisation ActiveX.

Pour ajouter un contrôle dans la barre d�outils Contrôles ActiveXà partir de la fenêtre Conception de fiche

� Cliquez, avec le bouton droit de la souris, sur une icône de la barre d�outilsContrôles ActiveX, cliquez sur Ajouter un contrôle ActiveX, puissélectionnez l�outil approprié.

Utilisation des objets de conception 503

Pour supprimer un contrôle de la barre d�outils

1 Ouvrez la fenêtre Conception d�une fiche ou d�un état.

2 Cliquez avec le bouton droit de la souris sur une icône de la barre d�outilsContrôle ActiveX, puis sélectionnez la commande Retirer un contrôleActiveX.

3 Sélectionnez l�outil que vous voulez supprimer, cliquez sur Retirer.

Modification des événements d�un contrôle ActiveXVous pouvez modifier la façon dont Paradox réagit à un événement régi parun contrôle ActiveX en modifiant le code de l�événement dans l�Explorateurd�objet.

Pour modifier les événements d�un contrôle ActiveX

1 Insérez un contrôle ActiveX dans une fiche.

2 Cliquez sur l�objet avec le bouton droit de la souris et sélectionnezExplorateur d�objet. Faites en sorte que le volet à onglets s�affiche enchoisissant Affichage, Volet à onglets dans le menu de l�Explorateurd�objet.

3 Cliquez deux fois sur l�événement dans la page Événements.

4 Dans la fenêtre Créateur qui s�affiche, modifiez la méthode.

Objet cadre de tableSi votre fiche ou état comporte une table, un cadre de table représentant latable s�affichera. Un cadre de table ressemble à sa table source mais n�est pasune table à proprement parler. Il s�agit d�un objet composite formé de :

� colonnes représentant les champs ;

� lignes (la ligne supérieure représente tous les enregistrements) ;

� objets texte contenant les libellés des champs ;

� objets champ représentant les données de la table source dans la premièreligne, juste sous l�en-tête.

Paradox insère automatiquement un cadre de table dans la conception si vouschoisissez une disposition tabulaire dans la boîte de dialogue Conception oucréez une fiche ou un état multi-table composé d�une relation un-à-plusieurs.

504 Paradox 9 : Chapitre 8

Utilisation des cadres de tableLors de la création d�une fiche ou d�un état vierge, rien ne vous empêche decréer un cadre de table et d�y faire figurer les enregistrements de votrechoix. Il doit exister au moins une table dans votre modèle relationnel pourpouvoir définir les champs de votre table. Lors de la définition des propriétésde votre état, choisissez le nombre de colonnes et de lignes que vous voulezfaire apparaître en mode Exécution.

Insertion d�un cadre de table dans une fiche ou un étatIl vous arrivera peut-être d�avoir à insérer un cadre de table dans uneconception pour afficher des tables supplémentaires dans une fiche ou unétat.

Pour insérer un cadre de table dans une fiche ou un état

1 Ouvrez la fiche ou l�état voulus dans la fenêtre Conception, puis cliquezsur l�outil Cadre de table.

2 Cliquez sur la fiche ou l�état pour insérer un cadre de table de la taille pardéfaut. Sinon, cliquez et faites glisser l�outil pour insérer le cadre de tableet en définir la taille.

Paradox crée une grille de table avec des libellés et des champs nondéfinis. C�est le cadre de table.

� S�il existe une table dans le modèle relationnel du document, le nouveaucadre de table peut être soit lié à cette table, soit complètementindépendant.

Définition d�un cadre de tableLors de la définition d�un cadre de table, précisez la table à utiliser et leschamps à inclure. Utilisez l�outil Cadre de table pour insérer des tables liéesou non dans une fiche ou un état.

Paradox crée un cadre de table non défini dont l�en-tête contient des libellésde colonne intitulés Libellé et un enregistrement contenant des champs nondéfinis.

Pour définir un cadre de table

1 Cliquez sur le cadre de table avec le bouton droit de la souris, puissélectionnez Définir la table.

Utilisation des objets de conception 505

2 Dans la boîte de dialogue Définition d�un objet table, cliquez sur la tableque vous voulez utiliser à partir du modèle relationnel.

3 Choisissez les champs que vous voulez afficher à partir de la zone de listede la table appropriée (par exemple, CLIENTS.DB).

Les champs et les libellés de la table sont remplacés par les champs et leslibellés correspondant à la définition choisie. Les objets imbriqués, lespropriétés ou le code ObjectPAL disparaissent.

� Si la propriété Ajuster la taille est activée dans la page Conception de laboîte de dialogue Propriétés, le cadre de table essaie de s�adapter à lalargeur nécessaire pour l�affichage de toutes les colonnes. S�il n�y parvientpas, ou si la propriété Ajuster la taille n�est pas activée, les colonnesmanquantes n�ont pas pour autant disparues. Vous pouvez les consulter eninsérant une barre de défilement horizontale dans le cadre de table.

� Vous pouvez également définir un cadre de table soit en cliquant surl�enregistrement maître avec le bouton droit de la souris, soit endéfinissant des objets champ un à un.

� Si vous voulez supprimer ou insérer des colonnes, il suffit de cliquer avecle bouton droit de la souris sur la colonne que vous voulez supprimer ousur la colonne à droite de l�endroit où vous voulez insérer la nouvelle.Sélectionnez ensuite Supprimer la colonne ou Insérer une colonne, selonle cas.

Affichage de tous les enregistrements et de toutes les colonnes dansles cadres de table

Lors de l�exécution d�un état, Paradox est en mesure d�agrandir un objetcadre de table de façon à créer le nombre de pages que réclame l�affichage detous les enregistrements et de toutes les colonnes.

Pour afficher tous les enregistrements et toutes les colonnes

1 Ouvrez la fenêtre Conception d�une fiche ou d�un état, cliquez sur le cadrede table avec le bouton droit de la souris et sélectionnez Propriétés.

2 Cliquez sur la page Exécution.

3 Activez les cases à cocher Afficher tous les enregistrements Dans unobjet et Afficher toutes les colonnes.

506 Paradox 9 : Chapitre 8

� Si l�option Afficher tous les enregistrements En dupliquant l�objet estactivée, Paradox affiche un nombre fixe d�enregistrements.

Modification des cadres de tableLibre à vous de personnaliser les propriétés d�un cadre de table d�une ficheou d�un état de l�une des façons suivantes :

� Cliquez sur les objets champ avec le bouton droit de la souris, puis cliquezsur Propriétés pour en modifier les propriétés.

� Cliquez sur un enregistrement (une ligne) avec le bouton droit de lasouris, puis cliquez sur Propriétés pour en modifier les propriétés.

� Cliquez sur le cadre de table avec le bouton droit de la souris, puis cliquezsur Propriétés pour en modifier les propriétés.

� Cliquez sur l�en-tête avec le bouton droit de la souris, puis cliquez surPropriétés pour en modifier les propriétés.

Puisque le cadre de table figurant dans la conception n�est pas la table réelle,aucun des changements apportés aux propriétés et à la structure de la tablen�affecte la table réelle. Seules les modifications apportées aux données serépercutent dans la table proprement dite.

Modification de la position et de l�aspect des champsVous pouvez déplacer un champ d�un objet cadre de table sans retirer lacolonne à laquelle le champ appartient.

Pour déplacer un champ

Exécutez l�une des actions suivantes :

� Faites-le glisser vers son nouvel emplacement.

� Faites-le sortir de la zone de table en le faisant glisser à l�extérieur.

Modification de l�aspect des colonnes et des lignes d�une tableVous pouvez agir sur la taille, la position, le nom et l�existence d�une colonneou d�une ligne d�un cadre de table.

Pour modifier l�aspect des lignes d�une table

� Faites glisser la ligne de grille horizontale sous n�importe quel objetchamp.

Vous changez ainsi la hauteur de toutes les lignes du cadre de table.

Utilisation des objets de conception 507

Pour modifier l�aspect des colonnes d�une table

� Redimensionnez une colonne en sélectionnant le cadre de table et enfaisant glisser la ligne de grille droite de la colonne.

� Pour donner à toutes les colonnes la largeur minimale, cliquez sur le cadrede table avec le bouton droit de la souris et sélectionnez Réduire lescolonnes.

Pour supprimer une colonne d�une table

� Il suffit de la sélectionner et d�appuyer sur SUPPR.

Vous pouvez aussi la supprimer en la réduisant à néant. Pour cela, faitesglisser la ligne de grille verticale de la droite de la colonne vers la gauche.Lorsque vous atteignez la largeur minimale, la ligne de grille setransforme en pointillés. Relâchez le bouton de la souris pour supprimerla colonne.

Pour ajouter une colonne à une table

� Il suffit de sélectionner une colonne et d�appuyer sur INSER. La nouvellecolonne apparaît à gauche de la colonne sélectionnée.

Pour déplacer une colonne

� Déplacez une colonne en sélectionnant son en-tête et en le faisant glisservers le nouvel emplacement.

Vous pouvez aussi sélectionner l�ensemble de la colonne et la faire glisservers son nouvel emplacement.

Pour modifier le nom d�une colonne

� Sélectionnez un nom de colonne (Paradox affiche un point d�insertion),puis saisissez les modifications.

Modification de l�aspect et de la position de l�en-têteLorsqu�un groupe s�étend sur plusieurs pages, vous pouvez répéter l�en-têtedu groupe en haut de chaque page. La propriété Répéter l�en-tête n�est pasdisponible pour un cadre de table doté d�en-têtes dissociés.

508 Paradox 9 : Chapitre 8

Pour redimensionner la zone d�en-tête

� Faites glisser les lignes de grille sous les libellés des champs.

Le libellé des en-têtes doit rester dans l�alignement des colonnes de latable ; par conséquent, si vous faites glisser soit l�en-tête soit le corps dela table sur le côté, l�en-tête et le corps de la table se déplacentsimultanément.

Pour répéter un en-tête de table dans un état

1 Sélectionnez le cadre de table approprié.

2 Cliquez sur le cadre de table avec le bouton droit de la souris etsélectionnez Propriétés.

3 Dans la page Général de la boîte de dialogue Propriétés, activez la case àcocher Répéter l�en-tête.

Pour dissocier un en-tête

1 Sélectionnez le cadre de table approprié.

2 Cliquez sur le cadre avec le bouton droit de la souris et sélectionnezPropriétés.

3 Dans la page Général de la boîte de dialogue Propriétés, désactivez la caseà cocher En-tête attaché.

Vous pouvez alors déplacer l�en-tête à tout autre endroit. Dans un état, ilest même possible de déplacer l�en-tête dans une autre bande.

Définition du style de la grille d�un cadre de tableVous êtes entièrement libre de changer le style et la couleur de la grille ainsique d�afficher un diviseur d�enregistrement entre chaque ligne de données.Lorsque vous activez la case à cocher Diviseur d�enregistrement, Paradox nemodifie pas l�image du cadre de table dans la fenêtre Conception car lesdiviseurs d�enregistrement y sont déjà visibles. La différence se fait aumoment de l�exécution de la fiche ou de l�impression de l�état. Sans diviseurd�enregistrement, aucune ligne horizontale ne sépare les enregistrements ducadre de table.

Pour définir le style de la grille d�un cadre de table

1 Cliquez sur le cadre de table avec le bouton droit de la souris etsélectionnez Propriétés.

2 Cliquez sur la page Grille.

3 Définissez les propriétés de la grille comme bon vous semble.

Utilisation des objets de conception 509

Ajout de données et d�objets de conception à un cadre de tableVous pouvez ajouter un champ ordinaire, spécial, récapitulatif ou calculé eninsérant et en définissant un nouvel objet champ. Ces changementsn�entraînent nullement la restructuration de la table proprement dite. Ilsn�influent que sur la consultation de la table dans le cadre de table de cedocument.

Pour modifier la définition d�un objet champ

� Cliquez sur le champ avec le bouton droit de la souris, puis sélectionnezDéfinir le champ.

Pour ajouter des objets champ et des données tels que d�autrestables, graphes ou références croisées à une table

1 Sélectionnez le conteneur de l�objet que vous souhaitez ajouter.

2 Sélectionnez l�outil de conception approprié à l�objet que vous souhaitezajouter.

3 Tracez l�objet de façon à ce qu�il s�inscrive dans les limites du conteneur.

Si vous tracez l�objet de sorte qu�il dépasse les limites du conteneur, iln�apparaîtra qu�une fois sur la fiche ou l�état au lieu d�apparaître surchaque ligne de la colonne choisie.

Combinaison (empilement) de champs dans une colonneVous pouvez placer les données issues de deux colonnes dans une seule enempilant les colonnes. Pour cela, vous devez déplacer les objets champ d�unecolonne dans l�autre colonne comme s�il s�agissait de n�importe quel autreobjet de conception. Vous pouvez aussi ajouter de nouveaux objets champ àune colonne existante.

Pour empiler les objets champ dans la même colonne

1 Redimensionnez la zone d�enregistrement de la colonne pour en fixer lalargeur et la hauteur.

2 Exécutez ensuite l�une des actions suivantes :

� Faites glisser les objets champ existants des autres colonnes vers lacolonne voulue.

� Créez de nouveaux objets champ dans la colonne.

510 Paradox 9 : Chapitre 8

� Lorsque vous empilez les champs dans une colonne, le document serapeut-être plus facile à lire si vous séparez les enregistrements. Pour cela,cliquez sur la table avec le bouton droit de la souris, choisissez Propriétéset activez la case à cocher Diviseur d�enregistrement de la page Grille.

Objet texteDans les fiches et les états, il est souvent fait appel aux objets texte pourcouvrir divers besoins. Utilisez-les pour ajouter des libellés, présenter desinstructions ou créer des titres. Vous pouvez en changer la mise en forme,l�alignement, la couleur, la police et le retour à la ligne. Ces objets peuventêtre insérés séparément dans une fiche à l�aide de l�outil Texte; ouaccompagner automatiquement un autre objet de conception tel qu�un libelléde champ ou un en-tête de cadre de table.

Insertion d�un objet texte dans une fiche ou un étatVous créez un objet texte puis saisissez le texte à l�intérieur du cadre del�objet. Les objets texte des fiches et des états s�agrandissent et serétrécissent différemment pour accueillir le texte, selon la façon dont vousles avez créés.

Pour définir la taille du cadre avant la saisie du texte

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez sur l�outilTexte.

2 Cliquez sur :

� La fiche ou l�état et ce, à l�endroit où vous voulez insérer l�objet textede taille par défaut.

� Pour créer un objet texte de n�importe quelle taille, cliquez sur la ficheou l�état à l�endroit voulu et faites glisser l�outil pour donner à l�objet ladimension appropriée.

3 Saisissez le texte.

Au fur et à mesure que vous tapez votre texte, Paradox applique au texteun retour automatique au niveau du bord droit du cadre. Lorsque vousatteignez le bas du cadre, Paradox fait défiler le texte vers le haut de façonà vous laisser voir ce que vous entrez.

Utilisation des objets de conception 511

Pour commencer la saisie sans définir la taille du cadre

1 Ouvrez une fiche ou un état dans la fenêtre Conception, cliquez sur l�outilTexte.

2 Cliquez sur la fiche ou l�état et commencez à saisir le texte sans vouspréoccuper du cadre.

Paradox crée un objet texte d�une seule ligne qui s�étend sur la droitejusqu�à ce vous appuyez sur ENTRÉE. Le point d�insertion passe alors àla ligne suivante. Au fur et à mesure de la saisie, le texte passeautomatiquement à la ligne dès qu�il arrive sur le bord droit (définipréalablement par la touche ENTRÉE) et continue de se développer versle bas tant que vous ne mettez pas un terme à la saisie ou que vous necliquez pas en dehors du cadre. Si vous supprimez du texte, l�objet textese rétrécit en hauteur pour ne pas laisser d�espace vide.

� Si le bouton Taille fixe est activé dans la page Général de la boîte dedialogue Propriétés, l�objet texte ne s�adapte pas à la quantité de textesaisie. Rien ne vous empêche en revanche de le redimensionnermanuellement en faisant glisser le cadre.

� Si le bouton Ajuster le texte est activé dans la page Général de la boîte dedialogue Propriétés, l�objet texte s�adapte à la quantité de texte saisie.Dans ce cas, la propriété Texte continu s�active automatiquement lorsquevous appuyez sur ENTRÉE. Pour plus d�informations à propos despropriétés, reportez-vous à la section référence Propriétés des objetsdans l�aide en ligne.

� Lorsque l�option Texte continu est activée dans la page Texte de la boîtede dialogue Propriétés, vous ne pouvez redimensionner l�objet que sur leplan horizontal. Lorsque l�option Texte continu est désactivée, il estimpossible de redimensionner l�objet texte.

Utilisation de la propriété Texte continuVous pouvez activer la propriété Texte continu pour les objets champ et texted�une conception de fiche ou d�état. Cette fonction fait automatiquementpasser le texte à la ligne lorsqu�il atteint le bord droit de l�objet. Selon qu�ils�agit de champ ou de texte, la propriété Texte continu fonctionnedifféremment.

512 Paradox 9 : Chapitre 8

Champs

Dans ce cas, le contenu d�un champ s�affiche sur une ou plusieurs lignes dèsqu�il dépasse la largeur de l�objet champ. La propriété Texte continu n�est pasdisponible pour les champs de type graphique et OLE (Object Linking andEmbedding).

Texte

La propriété Texte continu crée une nouvelle ligne de texte dans le cadre del�objet texte. Si elle est désactivée, seule une ligne de texte peut s�afficherdans l�objet texte. La touche ENTRÉE ne permet pas de créer une nouvelleligne.

Pour activer l�option Texte continu

1 Cliquez sur le champ ou l�objet texte avec le bouton droit de la souris dansla fenêtre Conception de fiche ou Conception d�état, puis cliquez surPropriétés.

2 Cliquez sur la page Texte de la boîte de dialogue Propriétés.

3 Activez la case à cocher Texte continu.

Modification du texte dans un objet texteVous n�avez le droit de saisir et de modifier le texte des objets texte que dansla fenêtre Conception. Lors de l�exécution d�une fiche ou de laprévisualisation d�un état, vous êtes en mesure de voir les objets texte maisil vous est interdit de les modifier.

Pour modifier le texte d�un objet texte

1 Cliquez sur l�objet texte.

2 Cliquez de nouveau sur l�objet texte pour placer le point d�insertion àl�intérieur.

3 Saisissez le texte.

4 Une fois le texte modifié, procédez de l�une des manières suivantes :

� Appuyez sur ÉCHAP ou TAB.

� Cliquez à l�extérieur de l�objet texte.

Utilisation des objets de conception 513

� Cliquez sur un autre outil de la barre d�outils ou sur la flèche desélection.

Si la propriété Ajuster le texte est activée pour cet objet (page Général dela boîte de dialogue Propriétés) et que l�objet ne contient pas de texte,Paradox supprime l�objet texte de votre fiche ou de votre état.

Pour modifier le texte à l�aide du clavier

1 Appuyez sur TAB pour sélectionner l�objet texte.

2 Appuyez sur la touche F2.

3 Utilisez les touches fléchées pour placer le point d�insertion sur le texteque vous voulez modifier.

� Pour plus d�informations à propos des propriétés, reportez-vous à lasection référence Propriétés des objets dans l�aide en ligne.

Insertion de champs dans un texteVous pouvez insérer des champs dans un objet texte d�une fiche ou d�un état.Cela s�avère utile dans un état, car cette fonction peut vous servir de lettretype.

Pour insérer des champs dans un texte

1 Ouvrez une fiche ou un état dans la fenêtre de conception.

2 Cliquez sur l�objet texte.

3 Cliquez une nouvelle fois sur l�objet texte pour amener le curseur àl�intérieur.

4 Commencez la saisie.

5 Appuyez sur F5 pour insérer un champ non libellé et non défini.

6 Définissez ce champ comme n�importe quel autre.

Lors de l�exécution de la fiche ou de l�état, Paradox extrait la valeur textedu champ et la met en place dans la ligne de texte. Le texte se trouvant àla suite de la valeur du champ est correctement espacé.

514 Paradox 9 : Chapitre 8

Exemple d�insertion de champ dans un objet texte

Supposons que vous vouliez inclure la ligne suivante dans un état utilisant lestables Clients et Commande, avec un modèle relationnel ClientsCommande et une conception vierge.

Vous avez passé X commandes pour un total de X F depuis votre premièrecommande.

Pour créer la ligne

1 À l�aide de l�outil Champ, insérez un objet champ dans la banded�enregistrement de l�état. Définissez-le en tant que CLIENTS.DB:NoClient.

2 Insérez un autre objet champ dans la bande d�enregistrement, mais cettefois définissez-le en tant que CLIENTS.DB:Nom.

3 Insérez un objet texte dans la bande d�enregistrement de l�état.

4 Dans l�objet texte, procédez ainsi :

� Tapez Vous avez passé et appuyez ensuite sur la BARRED�ESPACEMENT pour insérer un espace entre le texte et la valeur duchamp.

� Appuyez sur F5 pour insérer un champ non défini.

� Appuyez une nouvelle fois sur la BARRE D�ESPACEMENT pourinsérer un espace après la valeur du champ, puis tapez commandespour un total de.

� Appuyez sur F5 pour insérer un nouveau champ non défini.

� Tapez depuis votre première commande.

5 Sélectionnez le premier objet champ de l�objet texte, puis cliquez dessusavec le bouton droit de la souris et définissez-le en tant queCount(COMMANDE.No Commande).

6 Sélectionnez le deuxième objet champ de l�objet texte, puis cliquez dessusavec le bouton droit et définissez-le en tant queSum(COMMANDE.Montant Total).

7 Lors de l�exécution de l�état, Paradox écarte ou ramène le texte entourantles objets champ de façon à respecter la taille des valeurs du champ.

Utilisation des objets de conception 515

� Si vous activez la propriété Comprimer la ligne dans la page Exécution dela page Préférences (menu Édition) et s�il n�existe qu�un seul champimbriqué dans une ligne de texte et que la valeur du champ est vide,Paradox efface l�ensemble de la ligne de texte où figure le champ vide.Une ligne de texte est tout ce qui se situe entre deux appuis sur la toucheENTRÉE, et peut être considérée comme un paragraphe. Pour plusd�informations à propos des propriétés, reportez-vous à la sectionréférence Propriétés des objets dans l�aide en ligne.

Sélection du texte et modification des propriétésLorsque vous définissez les propriétés d�un objet texte, la façon dont voussélectionnez le texte détermine la manière dont Paradox applique lespropriétés.

Pour modifier les propriétés de l�ensemble de l�objet texte

1 Cliquez à l�extérieur de l�objet

2 Cliquez sur l�objet texte avec le bouton droit de la souris, puis cliquez surPropriétés.

3 Dans la boîte de dialogue Propriétés du texte, choisissez les propriétésvoulues.

Paradox applique les propriétés à tout le texte de l�objet texte.

Pour modifier les propriétés du texte sélectionné

1 Sélectionnez le texte en le mettant en surbrillance.

2 Cliquez sur le texte sélectionné avec le bouton droit de la souris et cliquezsur Propriétés.

3 Dans la boîte de dialogue Propriétés du texte, choisissez les propriétésvoulues.

Paradox n�applique les propriétés qu�au texte mis en surbrillance.

Pour modifier les propriétés du texte au fur et à mesure de lasaisie

1 Cliquez à l�intérieur du texte pour placer le point d�insertion dans l�objettexte mais ne mettez rien en surbrillance.

2 Cliquez sur l�objet texte avec le bouton droit de la souris, puis cliquez surPropriétés.

516 Paradox 9 : Chapitre 8

3 Dans la boîte de dialogue Propriétés du texte, choisissez les propriétésvoulues.

Paradox applique les propriétés au texte que vous allez saisir.

Choix de la police et des caractères du texteVous pouvez choisir la police, les caractères (par exemple, Courier ou TimesRoman), la taille, le style (par exemple, gras ou italique) et la couleur dutexte en utilisant la barre d�outils Formatage du texte et les propriétés del�objet texte. Rien ne vous empêche, par ailleurs, de passer par la boîte dedialogue Propriétés.

À l�aide de la barre d�outils Formatage du texte

1 Sélectionnez l�objet texte ou mettez en surbrillance le texte à modifier.

2 Cliquez sur l�outil approprié de la barre d�outils Formatage du texte.

À l�aide de la boîte de dialogue Propriétés

1 Sélectionnez l�objet texte ou mettez en surbrillance le texte à modifier.

2 Cliquez sur l�objet texte ou le texte sélectionné avec le bouton droit de lasouris, puis cliquez sur Propriétés.

3 Dans la boîte de dialogue Propriétés du texte, choisissez les propriétéscomme bon vous semble.

� Les caractères disponibles dans le menu Caractères dépendent despolices installées sur votre machine.

Alignement du texteVous avez la possibilité d�aligner les valeurs d�un objet champ ou table etd�aligner le texte d�un objet texte ou d�une zone d�édition d�un objet champ.Pour ce faire, vous pouvez utiliser la barre d�outils Formatage du texte oufaire appel à la boîte de dialogue Propriétés.

À l�aide de la barre d�outils Formatage du texte

1 Sélectionnez l�objet champ, table ou texte dans la fenêtre Conception defiche ou Conception d�état.

2 Cliquez sur l�outil d�alignement approprié de la barre d�outils Formatagedu texte.

Utilisation des objets de conception 517

À l�aide de la boîte de dialogue Propriétés

1 Sélectionnez l�objet champ, table ou texte dans la fenêtre Conception defiche ou Conception d�état.

2 Cliquez sur l�objet ou sur le texte mis en surbrillance avec le bouton droitde la souris, puis sélectionnez Propriétés.

3 Cliquez sur la page Texte.

4 Activez l�un des boutons d�alignement suivants :

� Gauche : aligne le texte à gauche, laissant le côté droit inégal.

� Centré : positionne le texte au milieu de l�objet.

� Droite : aligne le texte à droite, laissant le côté gauche inégal.

� Justifié : justifie le texte de façon à ce que les marges gauche et droitesoient droites.

� Les tabulations, les marges, les retraits et les options d�alignement sontégalement accessibles à partir de la règle complète.

Définition de l�interligne du texteIl est possible de définir l�interligne d�un texte à l�aide soit de la barre d�outilsFormatage du texte, soit de la boîte de dialogue Propriétés.

À l�aide de la barre d�outils Formatage du texte

1 Sélectionnez l�objet texte ou mettez en surbrillance le texte à modifier.

2 Cliquez sur un bouton d�interligne de la barre d�outils Formatage du texte.

À l�aide de la boîte de dialogue Propriétés

1 Sélectionnez l�objet texte ou mettez en surbrillance le texte à modifier.

2 Cliquez sur l�objet texte ou le texte sélectionné avec le bouton droit de lasouris, puis cliquez sur Propriétés.

3 Cliquez sur la page Texte et définissez la propriété Interligne qui s�ytrouve.

� Les tabulations, les marges, les retraits et les options d�alignement sontégalement accessibles à partir de la règle complète.

518 Paradox 9 : Chapitre 8

Définition de l�agrandissement d�un objet texteLes objets texte des fiches et des états s�agrandissent et se rétrécissentdifféremment pour accueillir le texte, selon la façon dont vous les avez créés.Une fois l�objet texte créé, vous pouvez définir la façon dont il s�adapte autexte (agrandissement et rétrécissement).

Pour définir la façon dont un objet texte s�agrandit

1 Cliquez sur l�objet texte avec le bouton droit de la souris, puis cliquez surPropriétés.

2 Dans la zone Taille de la page Général, activez l�un des boutons suivants :

� Taille fixe : passe à la ligne suivante lorsque le texte atteint le borddroit du cadre.

L�objet ne s�agrandit pas et ne rétrécit pas en fonction de la quantité detexte qu�il contient. Si vous voulez modifier la taille de l�objet, il vous fautle sélectionner et le redimensionner manuellement.

� Ajuster le texte : crée un objet texte sur une seule ligne, qui sétendvers la droite jusqu�à ce que vous appuyiez sur ENTRÉE, ce qui a poureffet de déplacer le point d�insertion vers une nouvelle ligne. Au coursde la saisie, le texte revient à la ligne lorsqu�il atteint le bord droit quevous avez défini en appuyant sur ENTRÉE.

L�objet s�agrandit ou se rétrécit en fonction de la quantité de texte qu�ilcontient.

� Agrandir uniquement : crée un objet texte sur une seule ligne ayant lesmêmes propriétés qu�avec la commande Ajuster le texte, mais qui n�estpas réduit lorsque vous supprimez du texte (à moins que vous ne leredimensionnez manuellement à l�aide des poignées).

Ce type d�objet texte est généralement destiné au libellé de champ d�unetable.

� Les options choisies dans la zone Taille ne régissent que le comportementde l�objet dans la fenêtre Conception et non ce qui intervient lors del�exécution (consultation ou impression) de la fiche ou de l�état.

Utilisation des objets de conception 519

Échange de données 521

ÉCHANGE DE DONNÉES 9Paradox permet d�échanger des données avec d�autres applications dediverses manières :

� Les commandes Importer et Exporter du menu Fichier permettentd�ouvrir et d�enregistrer des données dans divers formats de bases dedonnées, feuilles de calcul ou fichiers texte.

� La fonction de liaison et d�incorporation d�objets (OLE) permet d�insérerdes fichiers d�une application serveur OLE dans Paradox. Lorsque vousutilisez cette fonction, vous pouvez accéder à l�application source OLEdepuis Paradox afin d�y modifier les données, comme nécessaire. Lafonction OLE vous permet également d�insérer la totalité d�une tableParadox dans un document issu d�une autre application.

Les fonctions OLE et d�importation/exportation permettent toutesl�échange d�informations entre diverses applications. La différence résidedans la méthode utilisée lors de l�échange des informations. Lorsque vousimportez ou exportez un fichier, il doit tout d�abord être converti dans unformat pouvant être interprété par l�application cible. À cet effet, un filtrecorrespondant à chacun des formats de fichier utilisés doit être installésur votre système. La fonction OLE n�impose aucune de ces restrictions.Pour que l�échange d�informations soit possible, il suffit que lesapplications utilisées soient capables de prendre en charge la fonctionOLE.

� La fonction d�échange dynamique des données (DDE) permet quant à elled�envoyer des valeurs de champ d�une table Paradox vers d�autresapplications ou de transmettre les données d�une application dans unetable ou une requête Paradox. Dans ObjectPAL, les développeurs peuventutiliser la fonction DDE pour envoyer des commandes vers d�autresapplications. Paradox prend en charge un type de champ OLE pouvantcontenir des données OLE mais les liens DDE ne peuvent pas êtrestockés dans une table.

� La commande Envoyer un message du menu Fichier permet d�envoyerdes messages et des fichiers par le biais de divers systèmes demessagerie compatibles avec MAPI, par exemple Microsoft Exchange.

� Vous pouvez également échanger des informations entre des applicationsde bases de données client/serveur à l�aide du Langage de requêtestructuré (SQL). Consultez la rubrique d�aide Connexion au serveur SQLpour de plus amples informations.

Partage d�informations entre les stations de travailSi vous utilisez des tables enregistrées sur le disque partagé d�une station detravail, la propriété Local Share de cette station doit être définie sur VRAI (àl�aide de l�Administrateur BDE ou des utilitaires IDAPI ou ODAPI). Il suffitque la propriété soit vraie pour la station de travail contenant les tablespartagées. Il est toutefois recommandé de la définir sur VRAI pour toutesvos stations de travail.

Définition de la propriété Local ShareUne mauvaise configuration de la propriété Local Share peut entraîner desproblèmes de verrouillage des tables et des enregistrements, ou encorel�endommagement des tables et des index. Pour éviter cette situation, il estpréférable de définir la propriété Local Share de toutes vos stations de travailsur VRAI .

Pour définir la propriété Local Share sur VRAI

1 Dans le menu Démarrer, cliquez sur Démarrer, Programmes, Paradox,Utilitaires, Moteur de base de données (BDE) pour lancer ce dernier.

2 Dans la fenêtre de l�Administrateur BDE, cliquez sur l�ongletConfiguration.

3 Ouvrez le dossier Configuration/Système afin d�afficher INIT.

4 Cliquez sur INIT.

522 Paradox 9 : Chapitre 9

5 Dans la page Définition, cliquez sur l�élément Local Share pour lesélectionner.

6 Sélectionnez VRAI dans la zone de liste Local Share.

� Fermez toutes vos applications BDE avant de modifier les paramètres àl�aide de l�Administrateur BDE.

Importation de donnéesIl est possible d�importer des données d�un format de fichier différent versune table Paradox ou dBASE. Vous pouvez importer des fichiers de donnéesmais non des fichiers d�applications ou des fiches. L�Expert d�importation detexte facilite l�importation de fichiers contenant du texte délimité ou àlongueur fixe. Si cet expert est installé sur votre système, cliquez surFichier, Importer, pour le sélectionner, si nécessaire.

De plus, l�Expert HTML vous permet d�importer des tables ou des listesprovenant de fichiers HTML.

Vous pouvez créer une nouvelle table, remplacer les données d�une tableexistante ou lui en ajouter. Lorsque vous créez une nouvelle table, sastructure est définie automatiquement dans Paradox. Vous pouvez ensuite lamodifier à l�aide de la commande Restructuration de la table, si nécessaire.

Vous pouvez importer les fichiers des formats suivants dans Paradox :

� Texte délimité ASCII (.TXT, .CSV)

� Texte de longueur fixe ASCII (.TXT)

� Tables dBASE (.DBF)

� Excel 3, 4, 5/95, 97 (.XLS)

� Lotus 1-2-3 v.1 (.WKS)

� Lotus 1-2-3 v.2 (.WK1)

� Tables Paradox (.DB)

� Quattro DOS (.WKQ)

� Quattro Pro DOS (.WQ1)

� Quattro Pro Windows 1 (.WB1)

� Quattro Pro Windows 6 (.WB2)

� Quattro Pro Windows 7, 8 (.WB3)

� Quattro Pro 9 (.QPW)

Échange de données 523

Détermination des noms de champs

Lors de l�importation d�un fichier, vous pouvez activer l�option Créer leschamps à partir de la première ligne. Les noms des champs sont alorsgénérés à partir de la première ligne de données importées contenant dutexte. Si Paradox ne parvient pas à déterminer un nom de champ à partir dufichier importé, il génère de nouveaux noms de champs commençant par lenom FIELD001. Tout nouveau nom de champ est ensuite intitulé FIELD002,FIELD003 et ainsi de suite.

Si plusieurs noms de champs semblent identiques, Paradox ajoute une lettreaux doublons (par exemple, Client A et Client B).

Importation des données d�une feuille de calculLorsque vous importez les données d�une feuille de calcul, il est possible desélectionner un bloc spécifique à importer. Vous pouvez également importerla feuille de calcul entière. Pour éviter tout problème de conversion, il estpréférable de modifier la feuille de calcul avant de l�importer. Pour demeilleurs résultats, procédez comme suit :

� Supprimez les éléments superflus (par exemple, traits d�union,astérisques et points d�exclamation).

� Assurez-vous que chaque colonne contient un seul type de données etqu�elle utilise une seule option de formatage.

� Si vous importez des dates, veillez à utiliser les quatre chiffres de l�annéepour éviter toute confusion se rapportant au siècle.

� Placez le titre des colonnes dans la ligne supérieure de la zonesélectionnée car c�est la première ligne contenant du texte qui servira àgénérer le nom des champs. Si la feuille de calcul ne contient pas de titresde colonnes, désactivez la case à cocher Créer les champs à partir de lapremière ligne pour les noms de la boîte de dialogue d�importation.

� Assurez-vous que la feuille de calcul que vous importez et la table dedestination Paradox sont fermées (si vous importez la feuille de calculdans une table existante). Dans le cas contraire, il est supposé qu�ellessont en cours d�utilisation.

Pour importer les données d�une feuille de calcul

1 Cliquez sur Fichier, Importer.

2 Cliquez sur le bouton Importer.

3 Dans la zone De, entrez le chemin d�accès complet et le nom de fichier dela feuille de calcul à importer, ou cliquez sur � pour rechercher le fichier.

524 Paradox 9 : Chapitre 9

4 Dans la zone Vers, entrez le nom de la table dans laquelle vous voulezimporter les données, ou cliquez sur � pour la rechercher.

5 Si vous importez des données dans une table existante, activez l�une desoptions suivantes :

� Écraser une table existante : pour remplacer les données de la tableexistante par les données à importer.

� Ajouter à une table existante : pour importer les données sans modifierles enregistrements existants.

6 Cochez la case Noter les erreurs dans Problems.db si vous voulez que leserreurs rencontrées durant l�importation soient répertoriées dans unetable nommée Problems.db.

7 Cliquez sur l�onglet Depuis la feuille de calcul pour l�afficher au premierplan puis cochez la case Créer les champs à partir de la première lignepour utiliser la première ligne de données de la feuille de calcul commenoms de champs.

8 Si vous ne voulez pas importer l�intégralité du fichier, spécifiez la zone decellules que vous désirez importer en identifiant la feuille de calcul et lescellules. Par exemple, si vous voulez importer les cellules de A1 à B4d�une feuille de calcul A, vous devez entrer : A:A1..A:B4.

Par défaut, Paradox affiche la table (et toutes les tables auxiliaires) unefois l�exportation terminée.

Détermination des types de champs d�une feuille de calculLors de l�importation de données provenant d�une feuille de calcul, Paradoxleur affecte automatiquement des types de champs. Le tableau suivantindique comment un type de champ est déterminé.

Valeurs de la Type de champ Type de champfeuille de calcul Paradox dBASE

Libellés Alphanumérique Caractère

Entier Entier court, long, Nombre à virgule flottante (6,0)ou numérique (selon la valeur) ou plus (selon la valeur)

Décimal Numérique Nombre à virgule flottante (20,4)

Monétaire Monétaire Nombre à virgule flottante (20,4)

Dates Date Date

Date/Heure (Excel) Date/Heure Caractère

Heure (Excel) Heure Caractère

Échange de données 525

La catégorie d�une colonne est déterminée par les règles ci-après. Le type dedonnées d�une colonne correspond à n�importe quel type de données pouvantcontenir toutes les valeurs de la colonne.

Une colonne contenant est convertie en

Cellule de libellé (texte) Champ alphanumérique (ou champ de caractère dBASE)

Dates et nombres Champ alphanumérique (ou champ de caractère dBASE)

Monétaire uniquement Champ monétaire dans une table Paradox

Monétaire et nombres Champ numérique

Dates et heures Champ Date/heure (ou champ de caractère dBASE)

Compte tenu de ces règles de conversion, les nombres importés à partir defeuilles de calcul non éditées sont souvent importés en tant que champsalphanumériques. Ainsi, les colonnes d�une feuille de calcul comportentfréquemment des traits d�union séparant des sections numériques. Du faitque seul un champ alphanumérique peut contenir à la fois des nombres et destraits d�union, la colonne est convertie en champ alphanumérique, même sielle contient principalement des nombres.

� Les dates prennent le format court Windows et les nombres adoptent leformat numérique Windows.

Importation des données d�une tableDans Paradox, vous pouvez importer les données d�une table créée dans uneautre application. Dans certains cas, les données devront être convertiesdans un autre format dans l�autre application avant que Paradox ne puisse yaccéder.

Pour importer les données

1 Cliquez sur Fichier, Importer.

2 Cliquez sur le bouton Importer.

3 Dans la zone De, entrez le chemin d�accès complet et le nom du fichier àimporter.

4 Dans la zone Vers, entrez le nom de la table dans laquelle vous voulezimporter les données.

5 Si vous importez des données dans une table existante, cliquez surl�onglet Vers la table et activez l�une des options suivantes :

526 Paradox 9 : Chapitre 9

� Écraser une table existante : pour remplacer les données de la tableexistante par les données à importer.

� Ajouter à une table existante : pour importer les données sans modifierles enregistrements existants.

6 Cochez la case Noter les erreurs dans Problems.db si vous voulez que leserreurs rencontrées durant l�importation soient répertoriées dans unetable nommée Problems.db.

7 Si vous importez des enregistrements dans un fichier existant, cochez lacase Noter les doublons dans Doublons.db pour que les erreurs deviolation de clé soient inscrites dans une table séparée.

8 Cliquez sur le bouton Importer.

Par défaut, Paradox affiche la table importée (et toutes les tablesauxiliaires) à la fin de l�importation.

Importation de texte délimitéLa commande Importer permet d�importer des fichiers contenant du textedélimité. Il s�agit de texte séparé et/ou encadré par des caractères que vousspécifiez. Pour que le fichier soit lisible, chaque ligne du fichier texte doit seterminer par un retour chariot ou un caractère de saut de ligne marquant lafin d�un enregistrement. Par défaut, il est supposé que les champs d�unfichier texte sont séparés par des virgules, avec des guillemets encadrantchaque champ de texte. Si d�autres caractères sont utilisés dans votre fichier,vous pouvez les spécifier dans la boîte de dialogue d�importation.

Lors de l�importation d�un fichier de texte délimité, Paradox l�analyse pourdéterminer le nombre et le type des champs qu�il contient. Les datesprennent le format court Windows et les nombres adoptent le formatnumérique Windows. Les chaînes dépassant 255 caractères sont tronquées ;elles sont enregistrées en tant que champs alphanumériques.

Lorsque vous importez du texte délimité, vous devez spécifier les fichiers àcréer par Paradox et indiquer le format du texte délimité dans le fichiersource afin qu�il soit correctement interprété par Paradox.

Pour spécifier les fichiers que Paradox doit utiliser

1 Cliquez sur Fichier, Importer.

2 Cliquez sur le bouton Importer.

3 Dans la zone De, entrez le chemin d�accès complet et le nom du fichier àimporter.

4 Dans la zone Vers, entrez le nom de la table dans laquelle vous voulezimporter les données.

Échange de données 527

5 Si vous importez des données dans une table existante, activez l�une desoptions suivantes :

� Écraser une table existante : pour remplacer les données de la tableexistante par les données à importer.

� Ajouter à une table existante : pour importer les données sans modifierles enregistrements existants.

6 Cochez la case Noter les erreurs dans Problems.db si vous voulez que leserreurs rencontrées durant l�importation soient répertoriées dans unetable nommée Problems.db.

7 Si vous importez des enregistrements dans un fichier existant, cochez lacase Noter les doublons dans Doublons.db pour que les erreurs deviolation de clé soient inscrites dans une table séparée.

Pour spécifier le format du fichier source

1 Cliquez sur l�onglet Depuis le texte pour l�afficher au premier plan.

2 Dans la zone Champs séparés par, spécifiez comment les valeurs dufichier source doivent être séparées en activant l�option appropriée. Vouspouvez sélectionner des virgules, des points virgules, des tabulations ouspécifier tout autre caractère dans la case Autres.

3 Spécifiez également les délimiteurs de champs en sélectionnant l�optionvoulue. Vous pouvez sélectionner des guillemets, choisir de ne pas utiliserde délimiteurs ou spécifier tout autre caractère dans la zone Autres.

4 Dans la zone Champs délimités, spécifiez si les données de tous les typesde champs ou uniquement celles des champs texte (alphanumérique oucaractères) doivent être séparées par le caractère choisi à l�étapeprécédente.

5 Dans la zone Jeu de caractères, sélectionnez le jeu de caractères voulu, àsavoir OEM ou ANSI.

6 Cochez la case Créer les champs à partir de la première ligne si vousvoulez que les noms de champs soient générés à partir de la premièreligne de données du fichier source.

Par défaut, Paradox affiche la table (et toutes les tables auxiliaires) une foisl�exportation terminée.

� Il est également possible d�importer du texte délimité à l�aide de l�Expertd�importation de texte. Pour activer l�Expert, cliquez sur Fichier, Importerpuis sélectionnez le bouton Expert texte.

528 Paradox 9 : Chapitre 9

Importation de texte de longueur fixeLa commande Importer (menu Fichier) vous permet d�importer des donnéesprovenant de fichiers contenant du texte de longueur fixe. Lors del�importation du texte, chaque ligne du fichier à importer doit se terminer parun retour chariot ou un caractère de saut de ligne pour marquer la fin d�unenregistrement.

Lorsque vous importez un fichier texte de longueur fixe, vous pouvez définirle nom et le type des champs de la nouvelle table. Pour chaque nom dechamp, vous devez spécifier le Type pour la table cible, la position Début (laposition où la colonne commence dans la table source) et la Longueur (tailledu champ dans le fichier source). Sinon, Paradox considère que la premièrecolonne de la table comporte un champ alphanumérique d�une longueur de255 caractères. Les dates prennent le format court Windows et les nombresadoptent le format numérique Windows.

Si vous avez déjà importé des données et enregistré les spécifications, vouspouvez les réutiliser. De la même façon, une fois les spécifications définies,vous pouvez les enregistrer afin de les réutiliser ultérieurement.

Lors de l�importation d�un texte de longueur fixe, vous devez spécifier lesfichiers à utiliser et/ou à générer par Paradox, puis indiquer le nom, le type etla taille de chaque champ du fichier source.

Pour spécifier les fichiers que Paradox doit utiliser

1 Cliquez sur Fichier, Importer.

2 Cliquez sur le bouton Importer.

3 Dans la zone De, entrez le chemin d�accès complet et le nom du fichier àimporter.

4 Dans la zone Vers, entrez le nom de la table dans laquelle vous voulezimporter les données.

5 Si vous importez des données dans une table existante, cliquez surl�onglet Vers la table et activez l�une des options suivantes :

� Écraser une table existante : pour remplacer les données de la tableexistante par les données à importer.

� Ajouter à une table existante : pour importer les données sans modifierles enregistrements existants.

6 Cochez la case Noter les erreurs dans Problems.db si vous voulez que leserreurs rencontrées durant l�importation soient répertoriées dans unetable nommée Problems.db.

Échange de données 529

7 Si vous importez des enregistrements dans un fichier existant, cochez lacase Noter les doublons dans Doublons.db pour que les erreurs deviolation de clé soient inscrites dans une table séparée.

8 Dans la zone Jeu de caractères de l�onglet Vers le texte, spécifiez le jeu decaractères à utiliser en sélectionnant le bouton OEM ou ANSI. Lesfichiers créés dans des applications DOS (par exemple, Edit) utilisentgénéralement le jeu de caractères OEM ; ceux créés dans des applicationsWindows (par exemple, Notepad) utilisent plutôt le jeu de caractèresANSI.

Pour définir les champs du fichier source

1 Cliquez sur l�onglet Depuis les champs pour l�afficher au premier plan.

2 Si vous voulez réutiliser des spécifications déjà enregistrées, cliquez surCharger spécifications puis sélectionnez le fichier approprié. Vous pouvezensuite modifier les spécifications, si nécessaire.

3 Dans la zone Nom de champ, entrez le nom du premier champ de la table.

4 Dans la zone Type, indiquez le type du champ.

5 Dans la zone Début, indiquez la colonne à partir de laquelle ce champcommence dans le fichier texte.

6 Dans la zone Longueur, entrez la longueur du champ.

7 Répétez les étapes 3 à 6 pour chaque champ.

8 Pour enregistrer les spécifications d�importation, cliquez sur le boutonEnregistrer puis entrez un nom dans la zone Nom de fichier de la boîte dedialogue qui s�affiche.

Avertissement

� L�importation et l�exportation des dates dépend du format de date spécifiédans le moteur de base de données Borland. Par exemple, la date 20/12/98ne pourra être exportée ou importée si le format spécifié est différent dem/j/a ou 0. Vous devez changer le format spécifié dans le moteur de basede données Borland de façon à ce qu�il corresponde au format de la dateque vous importez ou exportez pour que le transfert s�effectuecorrectement. Le nouveau format sera appliqué à toutes les dates.

� Il est également possible d�importer du texte de longueur fixe à l�aide del�Expert d�importation de texte. Pour activer l�Expert, cliquez sur Fichier,Importer puis sélectionnez le bouton Expert texte.

530 Paradox 9 : Chapitre 9

Exportation de donnéesVous pouvez exporter des données provenant de tables Paradox vers lesformats de fichiers suivants :

� Texte délimité ASCII (.TXT, .CVS)

� Texte de longueur fixe ASCII (.TXT)

� dBASE 5 (.DBF)

� dBASE III+ (.DBF)

� dBASE IV (.DBF)

� Excel 3, 4, 5/95, (.XLS)

� Lotus 1-2-3 v.1 (.WKS)

� Lotus 1-2-3 v.2 (.WK1)

� Paradox 3.x �Compatible� (.DB)

� Paradox 4.x �Standard� (.DB)

� Paradox 5, 7, 8 (.DB)

� Quattro DOS (.WKQ)

� Quattro Pro DOS (.WQ1)

� Quattro Pro Windows 1, (.WBI)

� Quattro Pro Windows 5 (.WB1)

� Quattro Pro Windows 6 (.WB2)

� Quattro Pro Windows 7, 8 (.WB3)

� WordPerfect 8, 9 (.WPD)

� Fichier de fusion WordPerfect 8, 9 (.WPD)

� Pour être en mesure d�exporter un fichier au format WordPerfect, cetteapplication doit être installée sur votre système.

Exportation de données vers une feuille de calculIl est possible d�exporter les données d�une table vers un grand nombre detableurs. Lorsque vous exportez des données vers une feuille de calcul,Paradox convertit chaque enregistrement en ligne et chaque champ encolonne. Si une valeur est plus large que la colonne, toute la valeur estconvertie mais elle est partiellement masquée.

Échange de données 531

Si une date de la table d�origine se trouve en dehors de la fourchette de datesautorisées dans la feuille de calcul, elle est exportée en tant que valeurERREUR.

Pour exporter des données vers une feuille de calcul

1 Cliquez sur Fichier, Exporter.

2 Si la table à exporter ne figure pas dans la zone De, cliquez sur lebouton ... pour la rechercher et la sélectionner.

3 Dans la zone Vers le type, sélectionnez le format de feuille de calcul verslequel vous voulez exporter les données.

4 Si vous voulez que les noms des champs soient générés à partir de lapremière ligne de données, cliquez sur l�onglet Vers la feuille de calculpuis cochez la case Créer les champs à partir de la première ligne.

� Il n�est pas possible d�exporter les champs de type mémo (Paradox oudBASE), mémo formaté, graphique, OLE ou binaire vers les feuilles decalcul. Ces types de champs ne sont pas inclus dans le fichier texteexporté.

� Les dates sont exportées vers les feuilles de calcul sous la forme dechiffres. Formatez la colonne des dates dans la feuille de calcul de manièreà ce que les dates importées soient visibles.

Exportation de données vers une tableLorsque vous exportez des données vers une table, vous pouvez créer unenouvelle table ou modifier une table existante.

Pour exporter des données vers une table

1 Cliquez sur Fichier, Exporter.

2 Si la table à exporter ne figure pas dans la zone De, cliquez sur lebouton � pour la rechercher et la sélectionner.

3 Dans la zone Vers le type, sélectionnez le type de la table de destination.

4 Dans la zone Vers, entrez le chemin d�accès et le nom du fichier dedestination.

5 Si vous exportez des données vers une table existante, activez l�une desoptions suivantes :

� Écraser une table existante : pour remplacer les données de la tableexistante.

532 Paradox 9 : Chapitre 9

� Ajouter à une table existante : pour ajouter les nouveauxenregistrements à la table existante sans modifier les données déjàprésentes.

6 Cochez la case Noter les erreurs dans Problems.db si vous voulez que leserreurs rencontrées durant l�exportation soient répertoriées dans unetable nommée Problems.db.

7 Cochez la case Noter les doublons dans Doublons.db pour que lesenregistrements identifiées comme ayant des valeurs de champ cléidentiques durant l�exportation soient inscrits dans une table nomméeDoublons.db.

Par défaut, Paradox affiche la table (et toutes les tables auxiliaires) unefois l�exportation terminée.

Exportation de données vers du texte délimitéVous pouvez exporter une table vers un fichier texte dans lequel les valeursdes champs de la table sont séparées et/ou délimitées par des caractères quevous pouvez spécifier. Par défaut, les valeurs des champs du fichier exportésont séparées par des virgules et les valeurs non numériques sont délimitéespar des guillemets. Chaque enregistrement est séparé par un retour chariotou un caractère de saut de ligne. Les dates, les nombres et les heuresutilisent le format spécifié dans l�Administrateur BDE (disponible à partir dugroupe de programmes Paradox).

Pour exporter des données vers du texte délimité

1 Cliquez sur Fichier, Exporter.

2 Si la table à exporter ne figure pas dans la zone De, cliquez sur lebouton ... pour la rechercher et la sélectionner.

3 Dans la zone de liste Vers le type, sélectionnez ASCII Délimité.

4 Dans la zone Champs séparés par, spécifiez comment les valeurs dufichier source doivent être séparées en activant l�option appropriée. Vouspouvez sélectionner des virgules, des points virgules, des tabulations ouspécifier tout autre caractère dans la case Autres.

5 Spécifiez également les délimiteurs de champs en sélectionnant l�optionvoulue. Vous pouvez sélectionner des guillemets, choisir de ne pas utiliserde délimiteurs ou spécifier tout autre caractère dans la zone Autres.

6 Dans la zone Champs délimités, spécifiez si les données de tous les typesde champs ou uniquement celles des champs texte (alphanumérique oucaractères) doivent être séparées par le caractère choisi à l�étapeprécédente.

Échange de données 533

7 Dans la zone Jeu de caractères, sélectionnez le jeu de caractères voulu, àsavoir OEM ou ANSI.

8 Cochez la case Créer les champs à partir de la première ligne si vousvoulez que les noms de champs soient générés à partir de la premièreligne de données du fichier source.

� Paradox ne peut pas importer les types de champs mémo (Paradox oudBASE), mémo formaté, graphique, OLE ou binaire vers du textedélimité. Ces types de champs ne sont pas inclus dans le fichier texteexporté.

Exportation de données vers du texte de longueur fixeIl est possible d�exporter une table vers un fichier texte dont tous lesenregistrements ont la même longueur.

Lors de l�exportation de données vers un fichier de texte de longueur fixe,vous pouvez utiliser l�onglet Vers les champs de la boîte de dialogueExportation de données pour définir le nom et le type des champs de lanouvelle table. Les dates, les nombres et les heures utilisent le formatspécifié dans l�Administrateur BDE (disponible à partir du groupe deprogrammes Paradox). Ces paramètres sont appelés les spécificationsd�exportation.

Si vous avez déjà exporté des données et enregistré les spécifications, vouspouvez les réutiliser. De la même façon, une fois les spécifications définies,vous pouvez les enregistrer afin de les réutiliser ultérieurement.

Pour exporter des données vers du texte de longueur fixe

1 Cliquez sur Fichier, Exporter.

2 Si la table à exporter ne figure pas dans la zone De, cliquez sur le bouton(...) pour la rechercher et la sélectionner.

3 Dans la zone de liste Vers le type, sélectionné ASCII Fixe.

4 Dans la zone Jeu de caractères de l�onglet Vers le texte, spécifiez le jeu decaractères à utiliser en sélectionnant OEM ou ANSI.

5 Pour afficher les spécifications d�exportation, sélectionnez la page Vers leschamps et cliquez sur Réinitialiser.

6 Pour enregistrer les spécifications d�exportation, cliquez sur Enregistrerpuis nommez le fichier dans la zone Nom de fichier de la boîte de dialoguequi s�affiche.

534 Paradox 9 : Chapitre 9

Avertissement

� L�importation et l�exportation des dates dépend du format de date spécifiédans le moteur de base de données Borland. Par exemple, la date 20/12/98ne pourra pas être exportée ou importée si le format spécifié est différentde m/j/a ou 0. Vous devez changer le format spécifié dans le moteur debase de données Borland de façon à ce qu�il corresponde au format de ladate que vous importez ou exportez pour que le transfert s�effectuecorrectement. Le nouveau format sera appliqué à toutes les dates.

� Lorsque vous exportez des données vers un fichier de texte de longueurfixe, un fichier portant l�extension .SCH est créé dans le même répertoire.Ce fichier contient des informations sur la nouvelle table : nom de la table,nouveau type de fichier, jeu de caractères utilisé. Il contient égalementdes données décrivant chaque champ, notamment les nom, type, taille,position décimale et point de départ de la colonne (en espaces).

� Si vous voulez utiliser une spécification d�exportation existante, cliquezsur le bouton Charger spécifications et non sur le bouton Réinitialiser.

Liaison et incorporation d�objets (OLE)Les champs OLE peuvent contenir tout type de données, qu�il s�agisse degraphiques, de texte ou de calculs. Une fois une valeur OLE liée placée dansun champ OLE, celle-ci reste liée à l�application source. Vous pouvez à toutmoment ouvrir l�application source depuis l�objet OLE que vous avez placédans une table ou une fiche Paradox. Lorsque l�objet OLE est modifié,celui-ci est aussitôt mis à jour dans la table ou la fiche Paradox.

Un conteneur OLE peut recevoir différents types de données : images, sons,documents, etc. Paradox fournit deux types de conteneurs OLE : les champsdes tables et les objets de conception des fiches et des états. Les champs etles objets de conception OLE permettent de stocker, de visualiser et demanipuler ces données sans quitter Paradox.

Le mode de manipulation d�un objet dépend du type de serveur OLE qui luiest associé. Ainsi, un fichier son (.WAV) peut être associé à un créateur audiocomportant deux commandes : Lecture et Modifier.

Pour vérifier comment manipuler l�objet OLE courant, ouvrez le menuÉdition. La dernière commande du menu est spécifique au serveur OLE.Sélectionnez-la pour afficher un sous-menu répertoriant les commandesdisponibles pour le serveur.

Échange de données 535

Vous pouvez également cliquer avec le bouton droit de la souris sur l�objetOLE dans une table (vous devez avoir sélectionné Affichage, Vue champ aupréalable). Le menu des commandes disponibles s�affiche. Si la valeur estliée, la commande Mettre à jour maintenant est disponible. Vous pouvezl�utiliser pour forcer la mise à jour de l�objet chaque fois que vous le voulez.

Les commandes les plus courantes pour la manipulation des valeurs OLEsont Modifier et Ouvrir. La commande Modifier permet de modifier sur placeune valeur OLE incorporée. Lorsque vous sélectionnez la commande Ouvrirpour une valeur OLE liée ou incorporée, Paradox ouvre l�application serveurdans laquelle le fichier OLE est actif.

La majorité des applications serveur utilisent OLE 2.0, mais certainesrecourent encore à la version 1.0 qui ne prend pas en charge l�édition surplace. Pour plus d�informations sur les différences entre les modifications etles mises à jour selon la version OLE utilisée, reportez-vous à la rubriqueDifférences entre OLE 1.0 et OLE 2.0 à la page 547.

Comprendre la fonction OLELa fonction OLE (Object Linking and Embedding) permet à un fichier dedonnées d�une application (par exemple, une table Paradox) de contenir desdonnées issues d�une autre application (par exemple, une feuille de calcul).Grâce à OLE, il est possible de visualiser et de modifier ces données dansParadox, sans quitter l�application. Par exemple, la fonction OLE peut vousservir à lier ou à incorporer une image CorelDRAW dans un champ graphiqued�une table. Dans ce cas, Paradox joue le rôle de conteneur OLE etCorelDRAW celui de serveur OLE.

Paradox peut être à la fois conteneur et serveur OLE.

Paradox en tant que conteneur OLE

Les conteneurs OLE peuvent être ajoutés à des tables, des fiches et desétats. Par exemple, vous pouvez ajouter un champ OLE à une table utiliséepour organiser des fichiers son (.WAV), ce qui vous permet de stocker,d�écouter et de modifier les fichiers .WAV depuis la table Paradox. Paradoxfournit deux types de conteneurs OLE : les champs d�une table et les objetsde conception d�une fiche ou d�un état.

Un conteneur OLE peut recevoir deux types d�objets, à savoir des objetsincorporés et des objets liés.

Paradox en tant que serveur OLE

Lorsqu�utilisé en tant que serveur OLE, Paradox permet d�insérer une tableParadox dans un fichier issu d�une autre application, par exemple un fichierWordPerfect ou Quattro Pro.

536 Paradox 9 : Chapitre 9

Selon le type de l�objet OLE, vous pouvez le manipuler de diversesmanières : ouverture, édition, affichage ou lecture. Pour plus d�informations,reportez-vous à la rubrique Manipulation du contenu d�un champ ou d�unobjet de conception OLE à la page 544.

Objets OLE incorporésUn objet incorporé est un objet que vous créez ou copiez à partir d�un fichierou du Presse-papiers. Lorsque vous insérez un objet incorporé dans unconteneur OLE, les données sont en fait copiées dans le conteneur OLE etaucune relation n�est conservée avec la source des données. Supposons quevous copiez une image dans le Presse-papiers depuis CorelDRAW puis quevous la collez dans un objet de conception OLE d�une fiche Paradox. Si vousmodifiez ou formatez l�objet dans la fiche à l�aide de CorelDRAW, le fichierd�origine de l�image demeure inchangé. En outre, si vous copiez la fiche surdisque, l�image est également copiée.

Il existe un autre type d�objet OLE qui est lié, et non incorporé. Pour plusd�informations, reportez-vous à la rubrique Objets OLE liés à la page 537.

� Paradox fournit deux types de conteneurs OLE : les champs d�une table etles objets de conception d�une fiche ou d�un état.

� Si un objet OLE est incorporé dans un champ de table au lieu d�un objetde conception, il est stocké dans le fichier .MB avec les autres données dela table.

Objets OLE liésUn objet lié est en fait un pointeur désignant des données à l�extérieur duconteneur OLE. Lorsque vous insérez un objet lié dans un conteneur OLE,les modifications que vous apportez à l�objet s�appliquent aussi à la source del�objet. De la même façon, si vous modifiez la source de l�objet, lesmodifications se répercutent sur l�objet figurant dans le conteneur OLE. Lesobjets OLE liés s�avèrent utiles lorsque vous voulez visualiser en direct desdonnées mises à jour automatiquement chaque fois que les données d�originesont modifiées dans une autre application. Les liens OLE permettentégalement d�obtenir des fichiers de taille bien moindre que lorsque vousincorporez des objets volumineux (par exemple, des fichiers graphiques) carl�objet proprement dit reste dans un autre fichier.

Échange de données 537

Prenons l�exemple d�une liaison avec un document WordPerfect dans unchamp OLE d�une table Paradox. Lorsque vous modifiez le documentWordPerfect, vos modifications apparaissent également dans le champ de latable. Si vous copiez la table Paradox sur disque, le texte du documentWordPerfect n�est pas copié avec la table.

La mise à jour des objets liés peut se faire automatiquement mais vouspouvez également choisir de l�effectuer manuellement.

Il existe un autre type d�objet OLE qui est incorporé et non lié. Pour plusd�informations, reportez-vous à la rubrique Objets OLE incorporés à la page537.

� Paradox fournit deux types de conteneurs OLE : les champs d�une table etles objets de conception d�une fiche ou d�un état.

Incorporation d�objets dans un champ ou un objet deconception OLE

Pour enrichir une table, une fiche ou un état, vous pouvez y inclure desimages, des notes détaillées, des graphiques, des tableaux ou tous autreséléments similaires. Ces objets existent fréquemment dans d�autresapplications, ou peuvent être créés dans celles-ci. Lorsque vous définissez unchamp en tant que champ OLE ou un objet de conception en tant queconteneur OLE, vous créez une zone dans laquelle vous pouvez incorporerdes données spécifiques issues d�autres sources. Paradox vous permet deparcourir vos applications afin de sélectionner le fichier que vous voulezincorporer dans votre table, fiche ou état.

Incorporation d�un nouvel objet OLEParadox vous permet non seulement de placer des valeurs existantes dansdes champs OLE, mais également de créer une nouvelle valeur directementà l�aide d�un serveur OLE.

Pour créer un nouvel objet OLE et l�incorporer dans un champOLE

1 Appuyez sur la touche F9 pour passer en mode Édition.

2 Sélectionnez le champ OLE.

3 Cliquez sur Affichage, Vue mémo s�il s�agit d�un champ mémo, ou surAffichage, Vue champ si le champ OLE est de type BLOB.

538 Paradox 9 : Chapitre 9

4 Cliquez avec le bouton droit de la souris sur le champ puis sélectionnezInsérer un objet.

5 Dans la boîte de dialogue Insertion de l�objet, activez le bouton Créer.

6 Dans la liste Type d�objet, sélectionnez le programme devant servir àcréer l�objet.

Pour que la valeur s�affiche sous forme d�icône dans le champ, cochez lacase Afficher en icône.

7 Cliquez sur OK.

Si l�objet OLE provient d�une application serveur OLE 2.0, Paradox placeun objet OLE vide dans le champ et crée un environnement d�édition surplace ; vous disposez alors des commandes et de la barre d�outils standardde l�application serveur pour créer le nouvel objet.

Si le serveur utilise OLE 1.0, l�application serveur s�ouvre et vous pouvezy modifier l�objet.

8 Créez l�objet à l�aide de l�application sélectionnée.

Une fois l�objet créé, fermez le serveur OLE (l�autre application) encliquant en dehors de l�objet OLE. Paradox incorpore l�objet dans le champOLE.

Pour créer un nouvel objet OLE et l�incorporer dans une fiche ouun état

1 Ouvrez une fiche ou un état.

2 Cliquez sur Affichage, Concevoir la fiche, ou Affichage, Concevoir l�état,pour passer en mode Conception.

3 Utilisez l�outil OLE pour créer l�objet de conception (boîte) qui contiendral�objet OLE.

4 Suivez les étapes 4 à 8 de la procédure ci-dessus.

� Pour savoir comment créer un nouvel objet OLE lié (et non incorporé),reportez-vous à la rubrique Insertion d�un objet OLE lié dans un fichier àla page 542.

Échange de données 539

Incorporation d�une copie de fichier en tant qu�objet OLESi l�objet OLE que vous voulez incorporer existe déjà, vous pouvez parcourirvos applications depuis Paradox afin de sélectionner le fichier voulu.

Pour incorporer une copie d�un fichier dans une table

1 Appuyez sur la touche F9 pour passer en mode Édition.

2 Sélectionnez le champ OLE.

3 Cliquez sur Affichage, Vue mémo s�il s�agit d�un champ mémo, ou surAffichage, Vue champ si le champ OLE est de type BLOB.

4 Cliquez avec le bouton droit de la souris sur le champ puis sélectionnezInsérer un objet.

5 Activez le bouton Créer à partir du fichier.

6 Dans la zone Fichier, entrez le chemin complet et le nom du fichier àincorporer dans le champ OLE.

Paradox incorpore une copie du fichier dans le champ OLE.

Pour incorporer une copie d�un fichier dans une fiche ou un état

1 Ouvrez la fiche ou l�état.

2 Cliquez sur Affichage, Concevoir la fiche, ou Affichage, Concevoir l�état,pour passer en mode Conception.

3 Utilisez l�outil OLE pour créer l�objet de conception (boîte) qui contiendral�objet OLE.

4 Suivez les étapes 4 à 6 de la procédure ci-dessus.

� Pour savoir comment créer un objet OLE lié (et non incorporé),reportez-vous à la rubrique Insertion d�un objet OLE lié à un fichier à lapage 542.

Incorporation d�une partie de fichier en tant qu�objet OLEParadox vous permet d�accéder à une autre application, de copier l�objet quevous voulez insérer dans votre table, fiche ou état, et de le coller dans votrebase de données.

540 Paradox 9 : Chapitre 9

Pour incorporer une partie d�un fichier à l�aide des commandesCopier et Coller

1 Ouvrez le serveur OLE (le programme utilisé pour créer le fichier àincorporer) et sélectionnez la valeur (texte, graphique ou nombre, parexemple) que vous voulez placer dans Paradox. Utilisez ensuite lacommande Copier de l�application pour placer une copie des données dansle Presse-papiers.

2 Revenez dans Paradox.

3 Exécutez ensuite l�une des actions suivantes :

� Si vous incorporez l�objet dans un champ OLE d�une table ou dans unefiche liée à cette table, appuyez sur la touche F9 pour passer en modeÉdition. Cliquez sur Affichage, Vue mémo s�il s�agit d�un champ mémo,ou sur Affichage, Vue champ si le champ OLE est de type BLOB.

� Si vous incorporez l�objet dans un objet de conception OLE d�une ficheou d�un état, cliquez sur Affichage, Concevoir la fiche ou Affichage,Concevoir l�état pour activer le mode Conception, puis sélectionnezl�objet.

4 Cliquez sur Édition, Coller.

La valeur OLE s�affiche dans le champ, sous forme d�un objet OLEincorporé.

� Pour savoir comment créer un objet OLE lié, reportez-vous à la rubriqueInsertion d�un objet OLE lié à une partie d�un fichier à la page 543.

Incorporation d�une table ParadoxVous voudrez parfois insérer une copie d�une table Paradox dans une autreapplication, par exemple un programme de traitement de texte ou uneapplication de PAO. Cette opération peut se faire à l�aide du Presse-papiersou de la commande Insérer un objet.

Pour placer une table Paradox dans une autre application à l�aidedu Presse-papiers

1 Dans Paradox, ouvrez la table.

2 Cliquez sur Édition, Tout sélectionner.

3 Cliquez sur Édition, Copier.

Échange de données 541

4 Dans l�application conteneur OLE, sélectionnez la commande utilisée parl�application pour incorporer les objets OLE. En général, il s�agit de lacommande Édition, Coller, Édition, Collage spécial ou Édition, Coller avecliaison.

La table Paradox s�affiche alors dans l�autre application (le conteneur).Vous pouvez la modifier, soit en ouvrant Paradox depuis le conteneurOLE, soit en utilisant l�édition sur place.

Pour incorporer une table Paradox à l�aide de la commandeInsérer un objet

1 Dans l�application conteneur OLE (et non dans Paradox), cliquez surÉdition, Insérer un objet ou sur Insérer, Objet, selon les commandesdisponibles dans l�application.

2 Dans la boîte de dialogue Insertion de l�objet, sélectionnez Table Paradoxdans la liste Type d�objet puis cliquez sur OK.

3 Le conteneur OLE lance Paradox (s�il n�est pas déjà en cours d�exécution)et la boîte de dialogue Ouverture d�une table s�affiche dans Paradox.Sélectionnez la table à incorporer.

4 Paradox ouvre la table sélectionnée. Fermez la fenêtre Table pour revenirà l�application conteneur OLE. La table Paradox s�affiche dans celle-ci.

Insertion d�objets OLE liésSi vous voulez inclure un objet tel une feuille de calcul, une photographie ouun graphe dans une table, vous devez l�insérer et le lier à votre champ OLE.Un objet OLE lié est stocké dans l�application d�origine dans lequel il a étécréé. Lorsque le fichier d�origine est mis à jour, le champ OLE l�estégalement, en raison du lien que vous avez défini. Vous pouvez, selon le cas,opter pour une mise à jour automatique ou effectuer une mise à jourmanuelle de l�objet.

Insertion d�un objet OLE lié à un fichierSi un champ de votre base de données doit comporter des informationsdevant être constamment mises à jour, par exemple une feuille de calcul ouun état de ventes, vous pouvez lier l�objet à une table Paradox. L�objet estcontenu dans l�application serveur d�origine.

Pour insérer un objet OLE lié à un fichier dans une table

1 Appuyez sur F9 pour passer en mode Édition.

2 Sélectionnez le champ OLE.

542 Paradox 9 : Chapitre 9

3 Cliquez sur Affichage, Vue mémo s�il s�agit d�un champ mémo, ou surAffichage, Vue champ si le champ OLE est de type BLOB.

4 Cliquez avec le bouton droit de la souris sur le champ puis sélectionnezInsérer un objet.

5 Activez le bouton Créer à partir du fichier.

6 Dans la zone Fichier, entrez le chemin complet et le nom du fichier àincorporer dans le champ OLE.

7 Cochez la case Lier.

Pour insérer un objet OLE lié à un fichier dans une fiche ou unétat

1 Ouvrez la fiche ou l�état

2 Cliquez sur Affichage, Concevoir la fiche, ou Affichage, Concevoir l�état,pour passer en mode Conception.

3 Utilisez l�outil OLE pour créer l�objet de conception (boîte) qui contiendral�objet OLE.

4 Suivez les étapes 4 à 7 de la procédure ci-dessus.

� Pour savoir comment créer un objet OLE incorporé, reportez-vous à larubrique Incorporation d�une copie d�un fichier en tant qu�objet OLE à lapage 540.

Insertion d�un objet OLE lié à une partie d�un fichierDans certains cas, vous voudrez sélectionner uniquement une partie d�unfichier afin de l�insérer dans votre champ ou objet de conception OLE.

Pour insérer un objet lié à une partie d�un fichier à l�aide descommandes Copier et Collage spécial

1 Ouvrez le serveur OLE (l�application utilisée pour créer le fichier à lier)puis sélectionnez la valeur (texte, graphique ou nombre, par exemple) quevous voulez placer dans Paradox. Si vous créez un nouveau fichier oueffectuez des modifications dans un fichier, vous devez enregistrer lesmodifications avant de copier les données.

2 Utilisez la commande Copier de cette application pour copier les données.

3 Revenez dans Paradox.

4 Exécutez ensuite l�une des actions suivantes :

Échange de données 543

� Si vous incorporez l�objet dans un champ OLE d�une table ou dans unefiche liée à cette table, appuyez sur la touche F9 pour passer en modeÉdition. Cliquez sur Affichage, Vue mémo s�il s�agit d�un champ mémo,ou sur Affichage, Vue champ si le champ OLE est de type BLOB.

� Si vous incorporez l�objet dans un objet de conception OLE d�une ficheou d�un état, cliquez sur Affichage, Concevoir la fiche ou Affichage,Concevoir l�état pour activer le mode Conception.

5 Sélectionnez le champ ou l�objet de conception OLE dans lequel vousvoulez coller l�objet OLE.

6 Cliquez sur Édition, Collage spécial.

La valeur OLE s�affiche dans le champ, sous forme d�un objet OLE lié.Pour savoir comment créer un objet OLE incorporé à l�aide duPresse-papiers, reportez-vous à la rubrique Incorporation d�une partied�un fichier en tant qu�objet OLE à la page 540.

Manipulation d�objets OLE dans des tables, fiches et étatsTout comme vous modifiez les données d�un champ alphanumérique oumonétaire, vous pouvez modifier les objets contenus dans un champ OLE.Depuis Paradox, vous pouvez ainsi modifier l�objet OLE dans son applicationsource, qu�il s�agisse d�un objet lié ou incorporé. Si vous avez sélectionné lamise à jour automatique des objets OLE liés dans Paradox, vos modificationssont visibles dès que vous revenez au champ ou à l�objet de conception. Sivous avez choisi une mise à jour manuelle, la commande Mettre à jourmaintenant vous permet d�actualiser l�objet dès que vous avez fini de lemodifier.

Manipulation du contenu d�un champ ou d�un objet de conception OLEUn champ OLE d�une table peut être modifié ou manipulé via la table ou viaune fiche liée à cette table.

Pour manipuler un objet OLE dans une table

1 Appuyez sur F9 pour passer en mode Édition.

2 Cliquez sur le champ OLE pour le sélectionner.

3 Cliquez sur Affichage, Vue mémo s�il s�agit d�un champ mémo, ou surAffichage, Vue champ si le champ OLE est de type BLOB.

544 Paradox 9 : Chapitre 9

4 Cliquez sur le menu Édition. La dernière commande de ce menu est lenom du serveur OLE associé à l�objet contenu dans le champ OLE.Sélectionnez-la pour afficher un sous-menu puis cliquez sur une descommandes disponibles.

Après avoir modifié l�objet, enregistrez-le puis fermez l�application source.

Pour manipuler un objet OLE dans une fiche ou un état

1 Exécutez l�une des actions suivantes :

� Si l�objet de conception se trouve dans une fiche, cliquez sur Affichage,Concevoir la fiche pour passer en mode Conception.

� Si l�objet de conception se trouve dans un état, cliquez sur Affichage,Concevoir l�état pour passer en mode Conception.

2 Cliquez sur l�objet de conception OLE pour le sélectionner.

3 Réalisez l�étape 4 de la procédure ci-dessus.

� Lorsque vous avez fini de manipuler un objet OLE lié, Paradox le met àjour automatiquement, si vous avez sélectionné cette option dans la boîtede dialogue Liens. Si vous avez choisi de le mettre à jour manuellement,utilisez la commande Mettre à jour maintenant. Pour plus d�informations,reportez-vous à la rubrique Mise à jour d�un objet OLE lié à la page 546.

� Cliquez deux fois sur un champ OLE pour exécuter la commande pardéfaut (la première commande du sous-menu). Il s�agit en général de lacommande Édition.

� Si vous manipulez un objet par le biais d�une fiche, cliquez avec le boutondroit de la souris sur le champ. Ceci affiche le menu des commandesdisponibles pour l�objet. Si vous manipulez un objet par le biais d�unetable, appuyez sur la touche F2 pour passer en Vue champ puis cliquezavec le bouton droit de la souris sur le champ.

Mise à jour d�objets OLE liésVous pouvez choisir de lier un objet OLE si vous savez que celui-ci va êtremodifié dans l�application source et que vous voulez que votre table, fiche ouétat contienne la version la plus récente de l�objet.

L�objet OLE peut être mis à jour automatiquement dans Paradox ou vouspouvez choisir de le faire manuellement.

Échange de données 545

Paradox vous permet également de modifier ou de rompre les liens OLE. Lesliens entre les objets OLE Paradox et leurs fichiers source sont gérés à partirde la boîte de dialogue Liens.

Mise à jour d�un objet OLE liéVous pouvez mettre à jour un objet OLE lié pour refléter les modificationseffectuées dans le serveur OLE.

Pour effectuer la mise à jour d�un objet OLE lié dans une table

1 Appuyez sur F9 pour passer en mode Édition.

2 Sélectionnez le champ OLE.

3 Cliquez sur Affichage, Vue mémo s�il s�agit d�un champ mémo, ou surAffichage, Vue champ si le champ OLE est de type BLOB.

4 Cliquez sur Éditions, Liens.

5 Effectuez une ou plusieurs des actions suivantes :

� Utilisez les boutons Mise à jour pour spécifier si la mise à jour du liensélectionné doit être automatique ou manuelle.

� Cliquez sur Mettre à jour maintenant pour faire correspondre l�objet liéà celui de l�application source. Pour plus d�informations, reportez-vousà la rubrique Mise à jour manuelle d�un objet lié à la page 547.

� Pour ouvrir l�application serveur et le fichier source du liensélectionné, sélectionnez Ouvrir la source.

� Pour modifier le fichier source du lien sélectionné, sélectionnezChanger la source. La boîte de dialogue Modifier la source s�affichedans Paradox. Elle vous permet de sélectionner un nouveau fichiersource pour le lien.

� Pour supprimer le lien, sélectionnez Rompre la liaison. La valeur OLEsélectionnée devient alors un objet incorporé statique. L�objet ne peutplus être mis à jour automatiquement en cas de modification desdonnées source.

Pour effectuer la mise à jour d�un objet OLE dans une fiche ou unétat

1 Ouvrez la fiche ou l�état.

2 Cliquez sur Affichage, Concevoir la fiche, ou Affichage, Concevoir l�état,pour passer en mode Conception.

546 Paradox 9 : Chapitre 9

3 Sélectionnez l�objet OLE.

4 Suivez les étapes 4 et 5 de la procédure ci-dessus.

Mise à jour manuelle d�un objet liéAprès avoir modifié un objet OLE, vous pouvez le mettre à jour à n�importequel moment, afin de prendre en compte vos modifications. Assurez-vousque vous avez sélectionné Manuelle dans la boîte de dialogue Liens.

Pour mettre à jour un objet manuellement

1 Procédez d�une ou des deux manières suivantes :

� S�il s�agit d�un champ OLE d�une table ou d�une fiche liée à cette table,appuyez sur la touche F9 pour passer en mode Édition. Assurez-vouségalement que le mode Vue champ n�est pas activé.

� S�il s�agit d�un champ OLE d�une fiche ou d�un état, cliquez surAffichage, Concevoir la fiche, ou Affichage, Concevoir l�état.

2 Cliquez sur le champ ou l�objet de conception OLE pour le sélectionner.

3 Cliquez sur Édition, Liens, Mettre à jour maintenant.

Différences entre OLE 1.0 et OLE 2.0Tous les objets ne se comportent pas de la même façon lorsqu�ils sontmanipulés, selon la version OLE prise en charge par le serveur OLE. Eneffet, il existe deux types de serveurs OLE, à savoir OLE 1.0 et OLE 2.0.

OLE 1.0

Lorsque vous manipulez un objet à partir d�un serveur OLE 1.0, Paradoxlance le serveur OLE (l�application utilisée pour créer l�objet OLE) pour vouspermettre de manipuler l�objet. Une fois votre travail terminé, fermez leserveur OLE, revenez dans Paradox et enregistrez les modificationsapportées à l�objet.

Supposons que vous sélectionnez un champ OLE contenant un documentprovenant d�un logiciel de traitement de texte, puis utilisez la commandeÉdition. Paradox ouvre le document dans le programme de traitement detexte. Vous modifiez le document, comme requis, puis fermez le traitementde texte. Une boîte de dialogue vous demande de confirmer les modificationsapportées à l�objet. Cliquez sur OK puis revenez dans Paradox. L�objetcontenu dans le champ OLE est mis à jour pour refléter vos modifications.

Échange de données 547

OLE 2.0

Lorsque vous manipulez un objet depuis un serveur OLE 2.0, différentescommandes peuvent entraîner différentes actions. En général, unecommande (Ouvrir) lance le serveur OLE (l�application utilisée pour créerl�objet OLE). Une autre commande (Édition) active l�édition sur place. Dèslors, tous les outils et menus nécessaires s�affichent sur le bureau Paradox.Le serveur OLE prend en fait contrôle du bureau Paradox, y compris la barred�outils, la barre d�état et les menus. La zone contenue dans le champ OLEdevient la zone de travail du serveur OLE. Les seuls menus encore contrôléspar Paradox sont les menus Fichier et Fenêtre. Pour mettre fin à l�édition surplace et restaurer l�environnement Paradox standard, cliquez sur la table ousur la fiche, en dehors du champ ou de l�objet de conception OLE.

Supposons que vous sélectionnez un champ OLE contenant un fichier vidéo,puis utilisez la commande Exécuter. Les commandes vidéo s�affichent au basdu champ OLE et quelques nouvelles options de menu s�affichent sur lebureau Paradox. Le fichier vidéo est exécuté dans le champ OLE. Lescommandes vidéo vous permettent de sélectionner une pause ou d�accéder àune autre image vidéo. Cliquez sur un autre champ de la table pour fermer lelecteur vidéo.

Utilisation de Paradox en tant que serveur OLE 2.0Il est possible d�incorporer des tables Paradox existantes dans uneapplication conteneur OLE, telle un logiciel de traitement de texte ou untableur. Pour ce faire, vous pouvez soit sélectionner la commande Édition,Insérer un objet, soit utiliser le Presse-papiers Windows.

Si l�application conteneur prend en charge OLE 2.0, vous pouvez modifier latable Paradox en utilisant l�édition sur place. Dans ce cas, certaines fonctionsne sont pas disponibles :

� Vous ne pouvez pas afficher les propriétés d�une table à l�aide d�un clicdroit.

� Vous ne pouvez pas passer en mode Vue mémo.

� Certaines commandes interdites ne sont pas visibles.

La table Paradox que vous placez dans le conteneur garde toujours unerelation avec la table Paradox source. Autrement dit, si vous supprimez lefichier Paradox sur le disque, il ne s�affichera plus dans le conteneur OLE etce, même s�il a été incorporé dans ce conteneur.

548 Paradox 9 : Chapitre 9

Échange dynamique de données (DDE)La fonction d�échange dynamique de données (DDE) vous permet decommuniquer avec d�autres applications prenant en charge cette fonction.Vous pouvez l�utiliser pour envoyer des valeurs de champ d�une tableParadox vers une autre application ou, à l�inverse, pour envoyer des donnéesvers une table ou une requête Paradox, depuis une autre application.

Les liens DDE s�affichent sous forme de texte et non d�icônes ou dedonnées. Pour en visualiser un exemple, reportez-vous à la rubriqueUtilisation de Paradox en tant que client DDE (tables) à la page 550.

Utilisation de Paradox en tant que serveur DDELorsque vous prenez la valeur d�un champ Paradox pour la placer dans uneautre application, vous utilisez Paradox en tant que serveurDDE.

Pour utiliser Paradox en tant que serveur DDE

Prenons l�exemple d�une table qui réalise une série de calculs sur une valeur.Cette valeur se trouve dans un champ d�une table Paradox.

1 Après avoir ouvert la table Paradox appropriée, sélectionnez une valeur duchamp puis sélectionnez Édition, Copier, pour copier le champ dans lePresse-papiers.

2 Dans le tableur client DDE, utilisez la commande Collage spécial pourplacer le champ dans la cellule de feuille de calcul appropriée. Dans laboîte de dialogue qui s�affiche, cliquez sur le bouton Coller avec liaison.

Rappelez-vous que vous ne placez pas la valeur proprement dite dans lafeuille de calcul. Le lien DDE indique simplement à la feuille de calcul oùrechercher la valeur.

Tandis que vous parcourez les enregistrements de la table Paradox, lesvaleurs de la feuille de calcul changent du fait que la valeur contenue dans lechamp est différente, selon les enregistrements. La feuille de calcul affiche lavaleur du champ pour l�enregistrement Paradox sélectionné.

� La fonction DDE vous permet de placer des champs Paradox dans touttype d�application pouvant jouer le rôle de client DDE. C�est le cas detableurs, traitements de texte et de nombreuses autres applications.

� Pour lier une table entière via DDE, sélectionnez Édition, Toutsélectionner, puis Édition, Copier.

Échange de données 549

Exemple d�utilisation de Paradox en tant que serveur DDEDans cet exemple, vous voulez placer une valeur d�un champ Paradox dansune cellule d�une feuille de calcul de Quattro Pro pour Windows. Les étapessuivantes expliquent comment procéder en utilisant la table exempleCommande.

1 Dans Paradox, ouvrez la table Commande. Sélectionnez la valeur Montanttotal du premier enregistrement.

2 Cliquez sur Édition, Copier.

3 Ouvrez Quattro Pro pour Windows, sélectionnez une cellule de classeurpuis cliquez sur Édition, Collage spécial.

4 Dans la boîte de dialogue qui s�affiche, activez le bouton Coller avecliaison.

5 Pour voir comment opère la fonction DDE, affichez les fenêtres deParadox et de Quattro Pro simultanément sur votre écran.

6 Sélectionnez le champ Montant total dans Paradox puis appuyez sur lestouches Haut et Bas pour parcourir les différentes valeurs. Vousremarquez que la valeur affichée dans la cellule de classeur Quattro Prochange pour refléter la valeur de montant total de l�enregistrementParadox sélectionné.

� Dans Quattro Pro, vous pouvez effectuer des calculs utilisant une valeurde Paradox. Lorsque la valeur DDE est mise à jour, le résultat du calculest mis à jour en conséquence.

Utilisation de Paradox en tant que client DDE (tables)Lorsque vous utilisez Paradox en tant que client DDE, vous placez desinformations sur un lien avec une valeur provenant d�une autre applicationdans un champ alphanumérique d�une table Paradox.

Paradox sert fréquemment de client DDE pour exécuter des requêtes surdes valeurs provenant d�autres applications.

Pour utiliser Paradox en tant que client DDE

1 Copiez la valeur voulue (le serveur DDE peut être un tableur, un logicielde traitement de texte ou toute autre application capable de gérer les liensDDE).

550 Paradox 9 : Chapitre 9

2 Dans Paradox, cliquez sur le champ alphanumérique dans lequel vousvoulez placer la valeur DDE, puis sélectionnez Édition, Collage spécial.

Une information sur le lien apparaît. Par exemple,

@DDE:"QPW"!"C:\QPW\NOTEBK1.WB1"!"$A$D$2"!@.

Il s�agit de la chaîne qui indique l�emplacement de la valeur DDE àParadox. Dans cet exemple, la chaîne indique que la valeur se trouve dansle Classeur 1, page 1, cellule D2 du fichier Quattro Pro pour Windows setrouvant dans le répertoire C:\QPW.

� Dans Paradox, vous voyez les informations se rapportant au lien plutôtque la valeur DDE. Pour visualiser la valeur dans le serveur DDE,sélectionnez le champ puis appuyez sur les touches MAJ + F2. Paradoxvous informe qu�il lance le serveur DDE, puis il ouvre l�application et lefichier approprié.

� Le champ alphanumérique doit être suffisamment grand pour contenir lesinformations se rapportant au lien.

Utilisation de Paradox en tant que client DDE (requêtes)

Pour utiliser Paradox en tant que client DDE (requêtes)

1 Mettez en surbrillance l�élément dans le serveur, puis copiez-le dans lePresse-papiers. Dans la majorité des serveurs, cette opération se fait àl�aide des commandes Édition, Copier.

2 Revenez à la fenêtre Requête client (Paradox).

3 Sélectionnez le champ QBE pour recevoir sa valeur depuis le serveur.

4 Cliquez sur Édition, Coller avec liaison.

5 Cliquez sur Requête, Attendre DDE pour que Paradox exécute la requêtechaque fois que les données sont envoyées depuis le serveur.

Exemple d�utilisation de Paradox en tant que client et serveur DDE(requêtes)

Lorsque Paradox sert à la fois de client et de serveur DDE, toutes les actionspeuvent être exécutées dans Paradox.

Par exemple, un champ lié peut exécuter une requête (le client DDE).Lorsque la valeur du champ est modifiée dans la table source (serveur DDE),une table Réponse mise à jour s�affiche.

Échange de données 551

Utilisation de la fonction DDE pour l�exécution d�une requête

Vous voulez, par exemple, exécuter une requête séparée pour chacun desclients répertoriés dans la table Clients. Pour ce faire, procédez comme suit :

1 Cliquez sur Fichier, Nouveau, Requête.

2 Sélectionnez les tables Lignes.db et Commande.db puis cliquez surOuvrir.

3 Cochez la case du champ Commande dans les deux tables.

4 Pour ouvrir la table Clients dans une fenêtre Table, sélectionnez Fichier,Ouvrir, Table, puis cliquez deux fois sur la table Clients.db.

5 Sélectionnez le client N° 1221 puis cliquez sur le bouton Copier de labarre d�outils.

6 Dans la fenêtre Requête, placez le curseur texte dans le champ N° clientde la table Commande, puis cliquez sur Édition, Coller avec liaison. Lesinformations sur le lien établi avec la table Clients s�affichent dans lechamp.

7 Cliquez sur Requête, Exécuter la requête. Paradox crée une tableRéponse répertoriant tous les articles commandés par le client N° 1221.

Utilisation de la fonction DDE pour exécuter une requête demanière interactive

1 Créez un lien DDE en suivant les étapes 1 à 5 de la procédure ci-dessus.

2 Activez la fenêtre Requête en cliquant sur sa barre de titre.

3 Cliquez sur Requête, Attendre DDE.

4 Activez la fenêtre de la table Clients en cliquant sur sa barre de titre.Sélectionnez le client N° 1221.

5 À l�aide de la touche fléchée Bas, déplacez-vous au client N° 1231.Lorsque vous sélectionnez la nouvelle valeur, Paradox active le lien DDEet exécute une nouvelle fois la requête. La table Réponse est mise à jourpour afficher les données se rapportant à la nouvelle valeur.

� Si vous souhaitez parcourir rapidement la table Clients, sans exécuter derequête pour la valeur de chaque enregistrement, vous pouvezsélectionner Requête, Attendre DDE, de façon à désactiver cettecommande de menu.

552 Paradox 9 : Chapitre 9

Suppression d�un lien DDELorsqu�un lien DDE est collé dans une application client DDE, la commandeLien activé du menu Format est sélectionnée dans Paradox. Tant que cettecommande est active, le lien l�est également. Par exemple, si voussélectionnez un autre enregistrement dans la table liée (dans Paradox), lanouvelle valeur est transmise au client DDE.

Pour supprimer un lien

� Cliquez sur Format, Lien activé, de façon à ce que cette commande demenu ne soit pas cochée.

Tant que cette commande est désactivée, aucune modification n�esttransmise au client DDE.

Pour rétablir un lien à n�importe quel moment

� Cliquez sur Format, Lien activé, de façon à ce qu�une coche s�affiche enregard de la commande.

� Les commandes Format, Lien activé fonctionnent de la même façon sivous créez un lien DDE avec une table entière. La modification d�unenregistrement de la table liée entraîne la mise à jour de la totalité de latable dans le client DDE. Les modifications sont répercutées dans la tabledès que leur auteur quitte l�enregistrement.

� L�option Attendre DDE du menu Requête doit être sélectionnée pour quela commande Lien activée puisse être activée.

Envoi de messagesSi vous êtes connecté à un système de messagerie compatible avec MAPI,vous pouvez utiliser la commande Envoyer un message du menu Fichierpour transmettre des messages et des fichiers joints à d�autres utilisateursaccessibles via ce système.

Pour envoyer un message

� Cliquez sur Fichier, Envoyer vers.

Si votre programme de messagerie est ouvert, la boîte de dialogue standardde création de message s�affiche. Dans le cas contraire, la boîte de dialogueChoisir le profil qui s�affiche vous permet d�indiquer votre fournisseurd�accès. Une fois ces informations fournies, vous pouvez composer unmessage et lui joindre des fichiers, en suivant la procédure habituelle.

Échange de données 553

Lorsque le message est envoyé, il est placé dans la boîte aux lettres desdestinataires. Il s�affiche dans la liste des nouveaux messages la prochainefois qu�ils vérifient leur courrier.

� En cas de problèmes, contactez l�administrateur de votre système demessagerie électronique pour vérifier que le système est bien compatibleavec MAPI et qu�il a été correctement configuré.

554 Paradox 9 : Chapitre 9

Outils pour la publication HTML et Internet 555

OUTILS POUR LAPUBLICATION HTML ETINTERNET 10Les outils Internet de Paradox vous permettent d�exploiter les ressourcesd�Internet en quelques étapes simples. Utilisez Corel® Web Server (.EXE)pour une publication simple et directe sur le Web et Corel Web ServerControl si vous souhaitez programmer le serveur pour qu�il réponde demanière personnalisée aux requêtes des navigateurs ou pour qu�il traite lesinformations envoyées par le biais de fiches électroniques.

Création et utilisation de documents HTML

Les Experts de publication HTML de Paradox vous permettent de publier enun clin d��il des états ou des tables statiques ou dynamiques sur Internet.Vous pouvez également créer des documents HTML statiques à partir defiches Paradox. Les documents statiques sont générés au moment où vousles enregistrez avec une extension HTML. Si les données d�origine sontmodifiées, les changements n�apparaîtront pas sur cette page. Les documentsdynamiques sont générés chaque fois que le navigateur le requiert.

Utilisation de Corel Web Server

Pour que Corel Web Server et Corel Web Server Control fonctionnentcorrectement, vous devez disposer d�une connexion réseau TCP/IP. Vousdevez également disposer sur votre système d�un serveur Web correctementconfiguré, capable de recevoir et de traiter les requêtes des navigateurs.

� Configuration de Corel Web Server à la page 559

� Définition des propriétés de Corel Web Server à la page 560

� Démarrage et test de Corel Web Server à la page 561

� Affichage des connexions de Corel Web Server à la page 561

Publication au format HTML dans ParadoxLes fonctionnalités suivantes simplifient la publication au format HTML dansParadox :

� Expert d�état HTML

� Expert de table HTML

� Possibilité d�enregistrer des fiches Paradox en tant que fichiers HTML

� Fichiers .HTT (HyperText Template)

Expert de table HTML

L�Expert de table HTML permet de convertir une table en fichier texteHTML pour la publier sur Internet de façon statique ou dynamique. L�Expertinsère automatiquement les balises et paramètres HTML appropriés. Aumême titre que n�importe quel autre document HTML, vous pouvez modifierle document HTML créé par l�Expert. Cliquez sur Fichier, Publier au formatHTML pour ouvrir l�Expert de table HTML.

Expert d�état HTML

L�Expert d�état HTML permet de convertir un état en fichier texte HTMLpour le publier sur Internet de façon statique ou dynamique. L�Expert insèreautomatiquement les balises et paramètres HTML appropriés. Au même titreque n�importe quel autre document HTML, vous pouvez modifier ledocument HTML créé par l�Expert. Cliquez sur Fichier, Publier au formatHTML pour ouvrir l�Expert d�état HTML.

556 Paradox 9 : Chapitre 10

� Un serveur Web ne peut pas accéder à une table ou à un état publié sousforme de document HTML dynamique dans le répertoire Privé (:PRIV)tant que Paradox est exécuté sur le même système.

Publication de tables au format HTMLL�Expert de table HTML de Paradox comporte de nombreuses options depublication vous permettant de convertir aisément une table Paradox enfichier HTML.

Pour publier une table au format HTML

1 Affichez la table.

2 Cliquez sur Fichier, Publier au format HTML.

3 Suivez les instructions affichées dans l�Expert de table HTML.

� Dans la mesure où les serveurs Corel Web font la distinction entre lesminuscules et les majuscules, prenez soin de noter le nom que vousattribuez aux fichiers HTML générés.

Publication d�états au format HTMLL�Expert d�état HTML de Paradox comporte de nombreuses options depublication vous permettant de convertir aisément un état Paradox en fichierHTML.

Pour publier un état au format HTML

1 Affichez l�état.

2 Cliquez sur Fichier, Publier au format HTML.

3 Suivez les instructions affichées dans l�Expert d�état HTML.

Outils pour la publication HTML et Internet 557

� Les informations figurant dans la bande Page d�un état ne sont paspubliées par l�Expert HTML. Pour que ces informations s�affichent dansun document HTML, elles doivent être placées dans la Bande État del�état. Les pages ne sont pas prises en charge par le format HTML et lesnuméros de pages sont par conséquent ignorés, quelle que soit leurposition.

� Dans la mesure où les serveurs Corel Web font la distinction entre lesminuscules et les majuscules, prenez soin de noter le nom que vousattribuez aux fichiers HTML générés.

Publication de fiches au format HTMLVous pouvez convertir une fiche Paradox en document HTML statique. Il estpréférable d�utiliser cette fonction pour convertir des fiches relativementsimples contenant uniquement du texte, des zones d�édition, des zones deliste, des boutons d�option et des cases à cocher. Les graphiques, les cadresde tables, les références croisées, les classeurs et les graphes qui figurentdans une fiche ne peuvent être convertis en documents HTML statiques.

Pour publier une fiche au format HTML

1 Affichez la fiche.

2 Cliquez sur Fichier, Publier au format HTML.

3 Entrez un nom de fichier.

4 Dans la liste déroulante, sélectionnez le type de fichier .HTM.

5 Cliquez sur le bouton Enregistrer.

Paradox enregistre une version HTML de votre fiche pouvant être visualiséedans un explorateur Web.

� Paradox ajoute automatiquement des balises FORM METHOD etACTION aux fiches converties au format HTML. Par défaut, la valeurPOST est utilisée pour la balise FORM METHOD et le nom de l�objet dela fiche Paradox est utilisé pour la balise ACTION (par ex., #Fiche1). Pourdéfinir vous-même ces propriétés, modifiez la propriété HTMLMethod ouHTMLAction de la fiche dans l�Explorateur d�objet.

� Paradox ajoute également un bouton Exécuter aux fiches statiquesconverties au format HTML. Pour que le bouton Exécuter fonctionnecorrectement avec Corel Web Server Control, vous devez ajouter du codeà l�événement OnPostRequest pour neutraliser l�action POST.

558 Paradox 9 : Chapitre 10

À propos des fichiers .HTTUn fichier .HTT (HyperText Template) est un fichier HTML contenant desmétabalises personnalisées. Ces balises sont propres à Paradox et sontutilisées par le moteur de publication HTML pour générer des fichiersHTML standard. La génération d�un fichier .HTT constitue une étapeintermédiaire dans le processus de publication au format HTML. Toutes lesinformations relatives à la présentation sont définies, mais des métabalisessont utilisées pour représenter les tables, requêtes et autres objets de basede données.

Les fichiers .HTT sont généralement utilisés pour la publication dynamiqueoù les informations relatives à la présentation sont connues, mais lesdonnées réelles doivent être résolues au moment de l�exécution. Lesfonctions de publication dynamique de Corel Web Server (.EXE) gèrentautomatiquement les fichiers .HTT et leur existence et leur fonctionnementsont par conséquent entièrement transparents à l�utilisateur. Si vous utilisezvotre propre système de publication dynamique avec Corel Web ServerControl, vous pouvez convertir des tables, états et fiches en fichiers .HTT enutilisant la commande Fichier, Publier au format HTML.

Utilisation de Corel Web ServerCorel Web Server (.EXE) et la documentation correspondante sont installésen même temps que Paradox. Le programme d�installation copie égalementCorel Web Server Control (WEBSRV.OCX) et les DLL qui lui sont associéesdans les répertoires appropriés, puis les enregistre.

Installation d�un protocole TCP/IP

Votre ordinateur doit disposer d�un protocole TCP/IP pour que Corel WebServer et Corel Web Server Control fonctionnent correctement. Consultezvotre documentation Windows pour plus d�informations sur l�installation d�unprotocole TCP/IP sur votre système.

Configuration de Corel Web ServerPour obtenir de l�aide sur Corel Web Server, cliquez avec le bouton droit surson icône puis sélectionnez Afficher les connexions pour mettre la fenêtre deWeb Server à sa taille maximale. Ouvrez ensuite l�aide en ligne de Corel WebServer (.EXE) en sélectionnant la commande Rubriques d�aide du menuAide.

Outils pour la publication HTML et Internet 559

Pour configurer Corel Web Server (.EXE)

� Cliquez sur Démarrer, Paradox, Utilitaires, Corel Web Server.

L�icône de Corel Web Server s�affiche dans la barre des tâches Windows.L�application est active et prête à recevoir les requêtes des navigateurs.

Pour ajouter Corel Web Server Control à une fiche

1 Ouvrez la fiche dans la fenêtre Conception de fiche.

2 Cliquez sur le bouton Corel Web Server Control sur la barre d�outilsContrôles ActiveX.

3 Faites glisser le curseur vers l�emplacement où vous voulez afficher lafenêtre Corel Web Server Control.

Définition des propriétés de Corel Web ServerVous pouvez définir les propriétés de Corel Web Server à l�aide de la boîte dedialogue Propriétés Corel Web Server appropriée. Les propriétés Chemin debase et Page par défaut de l�onglet Pages de la boîte de dialogue PropriétésCorel Web Server doivent être activées pour que le serveur Web fonctionnecorrectement.

Pour définir les propriétés de Corel Web Server (.EXE)

� Cliquez avec le bouton droit de la souris sur l�icône Corel Web Server dela barre des tâches, puis cliquez sur Propriétés pour ouvrir la boîte dedialogue Propriétés Corel Web Server.

Pour plus d�informations sur les propriétés de Corel Web Server,reportez-vous à l�aide en ligne de Corel Web Server (.EXE).

Pour définir les propriétés de Corel Web Server Control

� Cliquez avec le bouton droit de la souris sur l�objet Corel Web ServerControl puis sélectionnez Propriétés, Corel Web Server Control pourouvrir la boîte de dialogue Propriétés Corel Web Server Control.

Pour plus d�informations sur les propriétés de Corel Web Server Control,reportez-vous à la rubrique Aperçu des propriétés de Corel Web ServerControl dans l�aide en ligne.

560 Paradox 9 : Chapitre 10

Démarrage et test de Corel Web ServerLe serveur Web doit être actif pour traiter les requêtes émanant desnavigateurs. Corel Web Server (.EXE) est actif dès son lancement ; toutefoisvous pouvez l�arrêter sans quitter le serveur. Vous pouvez tester Corel WebServer (.EXE) et Corel Web Server Control en utilisant votre machine à lafois comme client et serveur.

Pour lancer Corel Web Server (.EXE)

� Si Corel Web Server (.EXE) a été fermé, vous pouvez cliquer sur lebouton de démarrage/arrêt de la barre d�outils ou cliquer avec le boutondroit de la souris sur l�icône Corel Web Server dans la barre des tâchesWindows, puis sélectionner Démarrage.

Pour lancer Corel Web Server Control

� Exécutez une fiche contenant un objet Corel Web Server Control.

Lorsque vous démarrez Corel Web Server Control, vous lancez unserveur Web totalement opérationnel qui permet d�accéder à desdocuments HTML et graphiques statiques.

Pour tester le serveur Web

1 Lancez votre navigateur Web.

2 Entrez le nom de votre ordinateur en guise d�adresse à rechercher.

Si vous ne le connaissez pas, consultez votre documentation Windows. Lenavigateur affiche la page spécifiée dans la propriété Chemin de base duserveur Web.

� Les serveurs Web Corel distinguent les majuscules des minuscules.Vérifiez que le nom de fichier utilisé est identique à celui indiqué dansl�Expert de publication HTML.

Affichage des connexions de Corel Web ServerLes requêtes des navigateurs s�affichent dans la fenêtre Corel Web Server(.EXE) et dans l�objet Corel Web Server Control sur une fiche.

Outils pour la publication HTML et Internet 561

Pour afficher les connexions à Corel Web Server (.EXE)

� Agrandissez la fenêtre Corel Web Server en cliquant avec le bouton droitde la souris sur l�icône Corel Web Server dans la barre des tâches puis ensélectionnant Afficher les connexions.

Pour afficher les connexions à Corel Web Server Control

� Ouvrez la fiche Paradox contenant l�objet Corel Web Server.

À propos de la Base Web ServerLa Base Web Server vous permet de stocker, d�afficher et de modifier desmodèles GXEngine pour la publication HTML dynamique. Elle vous permetde stocker les fichiers de modèles HTML créés par les Experts depublication HTML de Paradox, qui sont ensuite utilisés par Corel Web ServerControl et le serveur GXEngine pour générer les fichiers HTML dynamiquescorrespondant aux requêtes des explorateurs.

� Cliquez sur Outils, Base Web Server pour afficher la liste des modèlesainsi que leur contenu.

� Vous pouvez déplacer une table ou un état de la Fenêtre Projet vers lapage Base de la Base Web Server pour ouvrir l�Expert de publicationHTML approprié.

Fonctions de création de liens hypertexteParadox vous permet de créer des liens hypertexte vers Internet sous laforme d�objets de conception statiques ou de données dans les champs desfiches ou des tables. Vous pouvez créer un lien hypertexte directement dansl�Expert texte. Vous pouvez également transformer un objet texte existanten lien hypertexte en ajoutant dans l�Explorateur d�objet un code ObjectPALà l�événement mouseClick. Vous pouvez insérer un lien hypertexte sous laforme de données en entrant directement l�URL dans un champ d�une ficheou d�une table.

Lorsque vous cliquez sur un lien hypertexte, Paradox utilise le protocoleInternet approprié pour le lien. Par exemple, si le lien utilise le protocoleHTTP, Paradox ouvre l�explorateur par défaut pour afficher le site Web ; s�ilutilise le protocole MAILTO, Paradox ouvre un nouveau message dans leprogramme de courrier électronique par défaut, et ainsi de suite.

562 Paradox 9 : Chapitre 10

Protocoles pris en charge pour les liens hypertexte

Paradox prend en charge les protocoles Internet suivants pour les lienshypertexte :

� HTTP

� FTP

� MAILTO

� GOPHER

� NEWS

� TELNET

Insertion de liens hypertexteLes liens hypertexte peuvent être insérés sous la forme de données dans leschamps alphanumériques des tables et des fiches ou sous la forme d�objetsde conception dans les fiches et les états.

Pour insérer un lien hypertexte dans un champ

� Entrez l�URL dans un champ alphanumérique.

Pour insérer un lien hypertexte en tant qu�objet de conception

1 Ouvrez une fiche en mode Conception.

2 À l�aide de l�outil Texte, créez un nouvel objet texte dans la fiche. Paradoxouvre l�Expert texte.

3 Suivez les instructions affichées dans l�Expert texte. Dans la dernièrepage de l�Expert, activez le bouton Hypertexte.

4 Entrez l�adresse URL dans la zone Hypertexte et cliquez sur Terminer.

5 Exécutez la fiche pour activer le lien hypertexte.

� Assurez-vous d�inclure le protocole approprié pour le lien hypertexte (parexemple, HTTP://, FTP://).

� Le texte devant être lié ne doit pas obligatoirement être l�URL que vousspécifiez. Tout texte que vous saisissez sera lié à l�URL spécifiée.

Outils pour la publication HTML et Internet 563

Importation de données HTMLL�Expert d�importation HTML vous permet d�importer des tables ou deslistes au format HTML dans des tables Paradox. Cet Expert vous permet deplacer les données importées dans une table existante ou de créer unenouvelle table pour vos données. Cliquez sur Fichier, Importer pour ouvrirl�Expert d�importation HTML. Pour de plus amples informations surl�utilisation de l�Expert d�importation HTML, cliquez sur le bouton Aide dansla boîte de dialogue de l�Expert.

Pour importer des données provenant d�un fichier HTML

1 Cliquez sur Fichier, Importer.

2 Cliquez sur le bouton Expert HTML.

3 Suivez les instructions affichées dans l�Expert d�importation HTML.

564 Paradox 9 : Chapitre 10

Index

!! (QBE) . . . . . . . . . . . . . . . . . 418.. (requête QBE) . . . . . . . . . . . . . . . 383.BMP . . . . . . . . . . . . . . . . . . 479.EPS . . . . . . . . . . . . . . . . . . 479.FDL . . . . . . . . . . . . . . . . . . 276.FP . . . . . . . . . . . . . . . . . . 236.FT . . . . . . . . . . . . . . . . . . 236.GIF . . . . . . . . . . . . . . . . . . 479.JPG . . . . . . . . . . . . . . . . . . 479

insertion de graphique . . . . . . . . . . . . . 479objet graphique . . . . . . . . . . . . . . 479

.MB . . . . . . . . . . . . . . . . . . 462

.PCX . . . . . . . . . . . . . . . . . . 479

.RTF . . . . . . . . . . . . . . . . . . 322

.TIF . . . . . . . . . . . . . . . . . . 479@ (requête QBE) . . . . . . . . . . . . . . 383

Aaccès

didacticiel ObjectPAL . . . . . . . . . . . . . 17didacticiels en ligne . . . . . . . . . . . . . . 17feuilles de style. . . . . . . . . . . . . . . 238

accès à une tablesaisie et réactivation d�un mot de passe . . . . . . . . . 89suppression et modification d�un mot de passe principal . . . . 90

accès aux tables . . . . . . . . . . . . . . . 163mot de passe . . . . . . . . . . . . . . 87 - 88mot de passe secondaire . . . . . . . . . . . . . 91

ActiveX . . . . . . . . . . . . . . . . . 497objets cadre de table . . . . . . . . . . . . . 497objets multi-enregistrement . . . . . . . . . . . 497références croisées . . . . . . . . . . . . . . 497

affectation de nomautomatique . . . . . . . . . . . . . . . 255changement . . . . . . . . . . . . . . . 255défaut . . . . . . . . . . . . . . . . . 255longueur . . . . . . . . . . . . . . . . 255modification . . . . . . . . . . . . . . . 255nombre de caractères . . . . . . . . . . . . . 255objet de conception . . . . . . . . . . . . . 255

affichage . . . . . . . . . . . . . . . 83, 101, 209bande . . . . . . . . . . . . . . . . . 291

barre d�outils . . . . . . . . . . . . . . . 223barre de côté . . . . . . . . . . . . . . . 306barres d�outils . . . . . . . . . . . . . . . 26barres de défilement . . . . . . . . . . . . . 257cadres . . . . . . . . . . . . . . . . . 244champ . . . . . . . . . . . . . . . . . 216champ BLOB . . . . . . . . . . . . . . . 105champ mémo . . . . . . . . . . . . . . . 105champ OLE . . . . . . . . . . . . . . . . 251contrôle de validité . . . . . . . . . . . . . . 83données dans les états . . . . . . . . . . . . . 447données dans les fiches. . . . . . . . . . . . . 447enregistrement . . . . . . . . . . . . . . . 278enregistrements . . . . . . . . . . . . . 102 - 103fenêtre de fiche . . . . . . . . . . . . . . 280fiche . . . . . . . . . . . . . . 278, 280 - 281graphique . . . . . . . . . . . . . . . . 106informations de table . . . . . . . . . . . . . 100intégrité référentielle . . . . . . . . . . . . . 127libellé de bande . . . . . . . . . . . . . . 290mémo . . . . . . . . . . . . . . . . . 281menu personnalisé . . . . . . . . . . . . . . 317modèle relationnel . . . . . . . . . . . . . . 208objets . . . . . . . . . . . . . . . . . 234page de fiche . . . . . . . . . . . . . . . 269page spécifique . . . . . . . . . . . . . . 274pages multiples . . . . . . . . . . . . . . 267propriétés d�une table . . . . . . . . . . . . . 104propriétés de la fenêtre. . . . . . . . . . . . . 271propriétés de table . . . . . . . . . . . . . . 209structure de table . . . . . . . . . . . . . . 104table . . . . . . . . . . . . . . . . 101, 319table différente. . . . . . . . . . . . . . . 319table source d�une fiche . . . . . . . . . . . . 281table SQL . . . . . . . . . . . . . . . . 118taille de l�objet. . . . . . . . . . . . . . . 245Vue champ . . . . . . . . . . . . . . . . 105Vue mémo . . . . . . . . . . . . . . . . 105

affichage d�un graphique . . . . . . . . . . . . . 251affichage d�un mémo . . . . . . . . . . . . . . 281affichage d�un objet . . . . . . . . . . . . . . 234

cadre . . . . . . . . . . . . . . . . . 234affichage de champs . . . . . . . . . . . . . . 217

colonnes . . . . . . . . . . . . . . . . 217

Index i

Index

lignes . . . . . . . . . . . . . . . . . 217affichage de la syntaxe SQL (QBE). . . . . . . . . . . 401affichage de tables multiples . . . . . . . . . . . . 220

horizontal . . . . . . . . . . . . . . . . 220vertical . . . . . . . . . . . . . . . . 220

affichage des objets . . . . . . . . . . . . . . 219colonne. . . . . . . . . . . . . . . . . 219ligne . . . . . . . . . . . . . . . . . 219

affichage des propriétésobjet de conception . . . . . . . . . . . . . 244

affichage des propriétés des liens . . . . . . . . . . . 99affichage des résultats d�une requête (QBE) . . . . . . . . 368agrandissement d�objet

prévention . . . . . . . . . . . . . . . . 310agrandissement d�objets

attachement . . . . . . . . . . . . . . . 310conteneur rassemblant des objets . . . . . . . . . . 313

aideimpression . . . . . . . . . . . . . . . . 17

Aide . . . . . . . . . . . . . . . . . . 15ajout . . . . . . . . . . . . . 124, 207, 230, 267, 301

bande de groupe . . . . . . . . . . . . . . 301champ . . . . . . . . . . . . . . . . . 124dans la Fenêtre Projet . . . . . . . . . . . . . 55enregistrement . . . . . . . . . . . . . 153, 155fiches . . . . . . . . . . . . . . . . . 267imprimante . . . . . . . . . . . . . . . 321

ajout d�un taquet de tabulation . . . . . . . . . . . 228ajout d�une indentation . . . . . . . . . . . . . 230

règle complète . . . . . . . . . . . . . . . 230ajout de tables

données de tables . . . . . . . . . . . . . . 207ajout de tables dans une requête . . . . . . . . . . . 362ajustement . . . . . . . . . . . . . . . . 227

alignement du texte . . . . . . . . . . . . . 227interlignes . . . . . . . . . . . . . . . . 227lignes . . . . . . . . . . . . . . . . . 227marges . . . . . . . . . . . . . . . . . 227tabulations. . . . . . . . . . . . . . . . 227

ajuster la taille . . . . . . . . . . . . . . . 315alias . . . . . . . . . . . . . . . . . . 58

création . . . . . . . . . . . . . . . . . 59fiches . . . . . . . . . . . . . . . . . 276modification . . . . . . . . . . . . . . . 59suppression . . . . . . . . . . . . . . . . 59

alias de table . . . . . . . . . . . . . . . . 210code ObjectPAL. . . . . . . . . . . . . . . 210création . . . . . . . . . . . . . . . . 210

longueur . . . . . . . . . . . . . . . . 210modification . . . . . . . . . . . . . . . 210retrait . . . . . . . . . . . . . . . . . 210utilisation . . . . . . . . . . . . . . . . 210

alignement . . . . . . . . . . . . . . . . 135objet de conception . . . . . . . . . . . . 246 - 247texte . . . . . . . . . . . . . . . . . 230titre . . . . . . . . . . . . . . . . . 145

Alignementchamps avec les tables . . . . . . . . . . . . . 470

alignement de texte . . . . . . . . . . . . . . 230modification . . . . . . . . . . . . . . . 230objets texte. . . . . . . . . . . . . . . . 517

aligner sur la grille . . . . . . . . . . . . . . 247ancrage des barres d�outils . . . . . . . . . . . . . 26applications serveur

et ActiveX . . . . . . . . . . . . . . . . 497utilisation dans Paradox . . . . . . . . . . . . 497

arithmétique (QBE) . . . . . . . . . . . . . . 377arrêt du défilement horizontal. . . . . . . . . . . . 105association . . . . . . . . . . . . . . . . 261

code . . . . . . . . . . . . . . . . . 261méthode . . . . . . . . . . . . . . . . 261

attachement . . . . . . . . . . . . . . . 248, 310état . . . . . . . . . . . . . . . . . 248fiche . . . . . . . . . . . . . . . . . 248objets de conception . . . . . . . . . . . . . 310

attachement d�objets de conception . . . . . . . . . . 310attribution d�un nouveau nom à la table réponse (QBE) . . . . . 368attribution de nouveaux noms aux champs

table réponse (QBE) . . . . . . . . . . . . . 370AUCUN (QBE) . . . . . . . . . . . . . . . . 413avec un élément d�exemple . . . . . . . . . . . . 394axe des x . . . . . . . . . . . . . . . . . 334

définition . . . . . . . . . . . . . . . . 334échelle . . . . . . . . . . . . . . . . . 334formatage . . . . . . . . . . . . . . . . 334graduation . . . . . . . . . . . . . . . . 334redéfinition . . . . . . . . . . . . . . . 334

axe des y . . . . . . . . . . . . . . . . . 334définition . . . . . . . . . . . . . . . . 334échelle . . . . . . . . . . . . . . . . . 334formatage . . . . . . . . . . . . . . . . 334graduation . . . . . . . . . . . . . . . . 334modification de l�ordre des champs . . . . . . . . . 334redéfinition . . . . . . . . . . . . . . . 334

axe des z . . . . . . . . . . . . . . . . . 336formatage . . . . . . . . . . . . . . . . 336

ii Index

Index

propriétés . . . . . . . . . . . . . . . . 336

Bbande . . . . . . . . . . . . . . . 289 - 290, 292

affichage . . . . . . . . . . . . . . . 290 - 291bas de page . . . . . . . . . . . . . . . 289en-tête . . . . . . . . . . . . . . . . . 289groupe . . . . . . . . . . . . . . . . . 289impression . . . . . . . . . . . . . . . . 289libellé . . . . . . . . . . . . . . . . . 290modification . . . . . . . . . . . . . . 289 - 290propriétés . . . . . . . . . . . . . . . 290, 315redimensionnement . . . . . . . . . . . . . 291réduction . . . . . . . . . . . . . . . . 292réinitialisation des numéros de pages . . . . . . . . . 297retrait . . . . . . . . . . . . . . . 289, 292sélection . . . . . . . . . . . . . . . . 291suppression . . . . . . . . . . . . . . . 292

bande d�état . . . . . . . . . . . . . . . . 292bas de page . . . . . . . . . . . . . . . 292en-têtes . . . . . . . . . . . . . . . . 292

bande de groupe . . . . . . . . . . 289, 292, 298, 300, 302affichage . . . . . . . . . . . . . . . . 298affichage de valeurs de groupe répétées . . . . . . . . 298ajout . . . . . . . . . . . . . . . . . 301bas de page . . . . . . . . . . . . . . . 298champs date ou heure . . . . . . . . . . . . . 300champs logiques . . . . . . . . . . . . . . 300champs numériques . . . . . . . . . . . . . 300définition . . . . . . . . . . . . . . . . 301déplacement . . . . . . . . . . . . . . . 298en-tête . . . . . . . . . . . . . . . . . 298étendue . . . . . . . . . . . . . . . . 298fourchette . . . . . . . . . . . . . . . . 300modification . . . . . . . . . . . . . . . 303multiple . . . . . . . . . . . . . . . 298, 303nombre d�enregistrements . . . . . . . . . . . . 302par fourchette . . . . . . . . . . . . . . . 302préférences d�impression . . . . . . . . . . . . 305réorganisation . . . . . . . . . . . . . . . 303retrait . . . . . . . . . . . . . . . . . 292saut de page . . . . . . . . . . . . . . . 301tri . . . . . . . . . . . . . . . . . . 304valeur de champ . . . . . . . . . . . . . . 302

bande de page. . . . . . . . . . . . . . . . 294bas de page . . . . . . . . . . . . . . . 294en-tête . . . . . . . . . . . . . . . . . 294

redimensionnement . . . . . . . . . . . . . 294bandes . . . . . . . . . . . . . . . . 212, 296

état . . . . . . . . . . . . . . . . . 292états . . . . . . . . . . . . . . . . . 212fiches . . . . . . . . . . . . . . . . . 212

bandes d�enregistrement . . . . . . . . . . . . 296, 298insertion d�objets . . . . . . . . . . . . . . 296tri . . . . . . . . . . . . . . . . . . 298types d�état . . . . . . . . . . . . . . . 296

barre d�état . . . . . . . . . . . . . . . 23, 245positionnement des objets de conception . . . . . . . . 245

barre d�outils. . . . . . . . . . . . . . 23, 223, 272affichage . . . . . . . . . . . . . . . . 26ajout de contrôle ActiveX . . . . . . . . . . . . 503Alignement . . . . . . . . . . . . . . . . 23Application . . . . . . . . . . . . . . . . 23Contrôles ActiveX . . . . . . . . . . . . . . 23déplacement. . . . . . . . . . . . . . . . 26formatage de texte . . . . . . . . . . . . . . 227Formatage de texte . . . . . . . . . . . . . . 23Objet de conception . . . . . . . . . . . . . . 23suppression de contrôle ActiveX . . . . . . . . . . 503

barre d�outils contrôles ActiveXaffichage . . . . . . . . . . . . . . . . 502

barre d�outils Formatage du texte . . . . . . . . . 227, 231alignement de texte . . . . . . . . . . . . . 517contrôle de l�interligne . . . . . . . . . . . . . 518modification d�un objet texte . . . . . . . . . . . 517

barre de côté . . . . . . . . . . . . . . . . 306affichage . . . . . . . . . . . . . . . . 306

barre de défilement . . . . . . . . . . . . . . 315affichage . . . . . . . . . . . . . . . . 257état . . . . . . . . . . . . . . . . . 256fiche . . . . . . . . . . . . . . . . 256, 272graphique . . . . . . . . . . . . . . . . 256horizontale. . . . . . . . . . . . . . . . 257insertion dans un objet classeur . . . . . . . . . . 496objet multi-enregistrement . . . . . . . . . . . 256objet OLE . . . . . . . . . . . . . . . . 256objet texte . . . . . . . . . . . . . . . . 256placer . . . . . . . . . . . . . . . . . 256position . . . . . . . . . . . . . . . . 257propriétés . . . . . . . . . . . . . . . . 257tables . . . . . . . . . . . . . . . . . 256verticale . . . . . . . . . . . . . . . . 257

barres d�outils . . . . . . . . . . . . . . 223, 502affichage . . . . . . . . . . . . . . . . 223barre d�outils ActiveX . . . . . . . . . . . . . 502

Index iii

Index

copie . . . . . . . . . . . . . . . . . 225création . . . . . . . . . . . . . . . . 223NWC . . . . . . . . . . . . . . . . . 502OLE . . . . . . . . . . . . . . . . . 502préférences du bureau . . . . . . . . . . . . . 48règle complète . . . . . . . . . . . . . . . 223

Barres de progression . . . . . . . . . . . . . . 497Barres graduées . . . . . . . . . . . . . . . 497barrre d�outils

ancrage . . . . . . . . . . . . . . . . . 26bas de page . . . . . . . . . . . . 289, 292, 295, 298

bande d�état . . . . . . . . . . . . . . . 292bande de groupe . . . . . . . . . . . . . . 298impression . . . . . . . . . . . . . . . . 295suppression . . . . . . . . . . . . . . . 295

Base Corel Web Server . . . . . . . . . . . . . . 561Base de connaissances Corel . . . . . . . . . . . . 15base de données

organisation. . . . . . . . . . . . . . . . 52bases de données . . . . . . . . . . . . . . . 34

fichier bidimensionnel . . . . . . . . . . . . . 35relationnelles . . . . . . . . . . . . . . . 35

BDE . . . . . . . . . . . . . . . . . . 146configuration . . . . . . . . . . . . . 146 - 148préférences du bureau . . . . . . . . . . . . . 48

BDE (moteur de base de données Borland) . . . . . . . . 522partage d�informations . . . . . . . . . . . . 522propriété Local Share . . . . . . . . . . . . . 522

BLANC (QBE) . . . . . . . . . . . . . . . . 382BLOB . . . . . . . . . . . . . . . . . . 205

types de champ . . . . . . . . . . . . . . 205boîte de dialogue . . . . . . . . . . . . . . . 269

création . . . . . . . . . . . . . . . . 271fiche . . . . . . . . . . . . . . . . . 269

bordures . . . . . . . . . . . . . . . . . 230bouton

modification des libellés . . . . . . . . . . . . 453ordre de tabulation pendant l�exécution . . . . . . . . 275style . . . . . . . . . . . . . . . . . 443

bouton mono-enregistrement . . . . . . . . . . . . 219bouton multi-enregistrement . . . . . . . . . . . . 219bouton poussoir

modification des libellés . . . . . . . . . . . . 453boutons . . . . . . . . . . . . . . . . 441 - 442

association de méthodes . . . . . . . . . . . . 444création . . . . . . . . . . . . . . . . 441insertion d�un graphique . . . . . . . . . . . . 481modification de libellés. . . . . . . . . . . . . 441

ObjectPAL et . . . . . . . . . . . . . . . 444programmation . . . . . . . . . . . . . . 444redimensionnement . . . . . . . . . . . . . 441supression de libellés . . . . . . . . . . . . . 441

Boutons poussoir . . . . . . . . . . . . . . . 442bureau

Paradox . . . . . . . . . . . . . . . . . 20

Ccadre

affichage d�un objet . . . . . . . . . . . . . 234création pour objet graphique . . . . . . . . . . . 480

cadre de l�objet . . . . . . . . . . . . . . . 232cadres

affichage . . . . . . . . . . . . . . . . 244états . . . . . . . . . . . . . . . . . 244fiches . . . . . . . . . . . . . . . . . 244objets de conception . . . . . . . . . . . . . 244

cadres de tableaffichage de toutes les colonnes . . . . . . . . . . 505affichage des colonnes manquantes . . . . . . . . . 505ajout d�objets de conception . . . . . . . . . . . 510association de données. . . . . . . . . . . . . 505définition . . . . . . . . . . . . . . . . 505insertion ou suppression de colonnes . . . . . . . . . 505propriété Ajuster la taille . . . . . . . . . . . . 505redéfinition des champs . . . . . . . . . . . . 510

CALC (QBE) . . . . . . . . . . . . . . . . 395avec des opérateurs récapitulatifs . . . . . . . . . . 408champ réponse . . . . . . . . . . . . . . . 397

calcul . . . . . . . . . . . . . . . . . . 464différence entre deux dates. . . . . . . . . . . . 475différence entre deux heures . . . . . . . . . . . 475moyennes . . . . . . . . . . . . . . . . 460utilisation de constantes . . . . . . . . . . . . 470utilisation des champs . . . . . . . . . . . . . 464

calcul appliqué à un groupe (exemple QBE) . . . . . . . . 408calcul appliqué à une table (exemple QBE) . . . . . . . . 409calcul du nombre de valeurs

à l�aide d�opérateurs récapitulatifs . . . . . . . . . . 461calcul du nombre de valeurs uniques (exemple QBE) . . . . . . 410calculs dans les requêtes QBE . . . . . . . . . . . . 395caractère générique . . . . . . . . . . . . . . 191

liste . . . . . . . . . . . . . . . . . 192recherche de données . . . . . . . . . . . . . 187

caractères génériquesfiltres de table . . . . . . . . . . . . . . . 108

iv Index

Index

caractères génériques (requête QBE) . . . . . . . . . . 383case à cocher . . . . . . . . . . . . . . . . 442

modification des libellés . . . . . . . . . . . . 453case à cocher cadre de l�objet . . . . . . . . . . . . 244

activation . . . . . . . . . . . . . . . . 244désactivation . . . . . . . . . . . . . . . 244

case d�optionmodification des libellés . . . . . . . . . . . . 453

Case d�options. . . . . . . . . . . . . . . . 442Centre de référence . . . . . . . . . . . . . . . 18Centre de référence Corel . . . . . . . . . . . . . 18chaînes alphanumériques

calcul . . . . . . . . . . . . . . . . . 471champ . . . . . . . . . . . . 216, 239, 447 - 448, 450

affichage . . . . . . . . . . . . . . . . 216ajout . . . . . . . . . . . . . . . . . 449case à cocher . . . . . . . . . . . . . . . 450case d�option . . . . . . . . . . . . . . . 450choix du type . . . . . . . . . . . . . . . 452définition des valeurs possibles . . . . . . . . . . 452édition . . . . . . . . . . . . . . . . . 450incorporation d�un objet OLE . . . . . . . . . . . 538liste . . . . . . . . . . . . . . . . . 450liste déroulante . . . . . . . . . . . . . . 450modification des valeurs possibles . . . . . . . . . . 452ordre . . . . . . . . . . . . . . . . . 216recherche . . . . . . . . . . . . . . . . 187recherche et remplacement. . . . . . . . . . . . 189réinitialisation . . . . . . . . . . . . . . . 216sortie d�un . . . . . . . . . . . . . . . . 173spécial . . . . . . . . . . . . . . . 453 - 454suppression . . . . . . . . . . . . . . . 175type . . . . . . . . . . . . . . . . . 450zone d�options . . . . . . . . . . . . . . . 450

champ BLOBaffichage . . . . . . . . . . . . . . . . 105

champ clécréation . . . . . . . . . . . . . . . . . 68règles . . . . . . . . . . . . . . . . . 68

champ d�édition . . . . . . . . . . . . . . . 450champ non libellé . . . . . . . . . . . . . . 450

champ dateformatage . . . . . . . . . . . . . . . . 148

champ date/heureformatage . . . . . . . . . . . . . . . . 148

champ de tabledéplacement . . . . . . . . . . . . . . . 507

champ de table réponsecréation (QBE). . . . . . . . . . . . . . . 397

champ dépendant des données . . . . . . . . . . . 135champ heure

formatage . . . . . . . . . . . . . . . . 148champ logique

formatage . . . . . . . . . . . . . . . . 148champ mémo . . . . . . . . . . . . . . . . 462

affichage . . . . . . . . . . . . . . . . 105affichage du contenu . . . . . . . . . . . . . 462option d�affichage . . . . . . . . . . . . . . 462

champ mémo formaté . . . . . . . . . . . . . . 144alignement du texte . . . . . . . . . . . . . 144modification . . . . . . . . . . . . . . . 144

champ monétaireformatage . . . . . . . . . . . . . . . . 147

champ non libelléchamp d�édition . . . . . . . . . . . . . . 450

champ numériqueformatage . . . . . . . . . . . . . . . . 147

champ obligatoirecontrôle de validité . . . . . . . . . . . . . . 78

champ OLEaffichage . . . . . . . . . . . . . . . . 251

champ spécial . . . . . . . . . . . . . . . . 453ajout . . . . . . . . . . . . . . . . . 454définition . . . . . . . . . . . . . . . . 454

champs . . . . . . . . . . . . . . 63, 168, 300, 464ajout . . . . . . . . . . . . . . . . 124, 448alignement avec les tables . . . . . . . . . . . . 470alphanumériques . . . . . . . . . . . . . . 300association de données. . . . . . . . . . . . . 448calcul avec des chaînes alphanumériques . . . . . . . . 471calcul avec des constantes . . . . . . . . . . . . 470calculés . . . . . . . . . . . . . . . . 464calculs de dates basés sur des dates courantes . . . . . . . 476champ clé . . . . . . . . . . . . . . . 63, 94création . . . . . . . . . . . . . . . . 448date ou heure . . . . . . . . . . . . . . . 300dates . . . . . . . . . . . . . . . . . 474définition . . . . . . . . . . . . . . . 448, 467détermination des valeurs minimale et maximale dans. . . . . 474exécution de calculs . . . . . . . . . . 455, 466 - 467heures . . . . . . . . . . . . . . . . . 474impression uniquement des champs contenant des données . . . 477lecture seule . . . . . . . . . . . . . . . 463logiques . . . . . . . . . . . . . . . . 300masquage du contenu d�un . . . . . . . . . . . 463

Index v

Index

mémo formaté . . . . . . . . . . . . . . . 144méthodes numériques . . . . . . . . . . . . . 472modification . . . . . . . . . . . . . . . 168modification de nom . . . . . . . . . . . . . 124mots de passe . . . . . . . . . . . . . . . 463numérique . . . . . . . . . . . . . . . . 300opérateur récapitulatif . . . . . . . . . . . 455 - 456pour contrôler la mise en majuscules . . . . . . . . . 478protection de données . . . . . . . . . . . . . 463redimmensionnement . . . . . . . . . . . . . 448renvoi de nombres entiers . . . . . . . . . . . . 473réorganisation . . . . . . . . . . . . . . . 133sécurité . . . . . . . . . . . . . . . . 463suppression . . . . . . . . . . . . . . . 124suppression du contenu d�un . . . . . . . . . . . 463valeurs arrondies . . . . . . . . . . . . . . 472valeurs tronquées . . . . . . . . . . . . . . 473

champs calculés . . . . . . . . . . . . . . 464, 466accroissement des options d�impression . . . . . . . 476 - 477alignement avec les tables . . . . . . . . . . . . 470calculs de dates basés sur des dates courantes . . . . . . . 476chaînes alphanumériques . . . . . . . . . . . . 471contrôle de la numérotation des pages . . . . . . . . . 476création . . . . . . . . . . . . . . . 467 - 468définition . . . . . . . . . . . . . 467 - 468, 470détermination des valeurs minimale et maximale . . . . . . 474différence entre les champs récapitulatifs et . . . . . . . 464impression . . . . . . . . . . . . . . . . 476impression de fichier uniquement . . . . . . . . . . 477impression de formules . . . . . . . . . . . . 478impression du code ObjectPAL associé . . . . . . . . . 478opérateurs . . . . . . . . . . . . . . . . 466renvoi de nombres entiers . . . . . . . . . . . . 473se rapportant à des champs . . . . . . . . . . 466, 468stockage de valeurs dans les tables . . . . . . . . . 464utilisation . . . . . . . . . . . . . . 464, 466utilisation champs spéciaux . . . . . . . . . . . 476utilisation des constantes . . . . . . . . . . . . 470utilisation des dates . . . . . . . . . . . . 474, 476utilisation des heures . . . . . . . . . . . . . 474utilisation des méthodes numériques . . . . . . . . . 472utilisation des opérateurs récapitulatifs . . . . . . . . 467utilisation des procédures ObjectPAL . . . . . . . . . 472utilisation pour le contrôle de la mise en majuscules . . . . . 478valeurs arrondies . . . . . . . . . . . . . . 472valeurs tronquées . . . . . . . . . . . . . . 473

champs cléliens. . . . . . . . . . . . . . . . . . 38

champs en lecture seule . . . . . . . . . . . . . 463création . . . . . . . . . . . . . . . . 463

Champs récapitulatifs . . . . . . . . . . . . . . 456portée . . . . . . . . . . . . . . . . . 456

champs sans libellésmodification . . . . . . . . . . . . . . . 168

champs spéciauxutilisation dans des champs calculés . . . . . . . . . 476

champs vides . . . . . . . . . . . . . . . . 382changement

ordre de tabulation . . . . . . . . . . . . . 274CHAQUE (QBE) . . . . . . . . . . . . . . . 413choix des tables

requêtes . . . . . . . . . . . . . . . . 361classeurs . . . . . . . . . . . . . . . . . 490

création . . . . . . . . . . . . . . . . 491états . . . . . . . . . . . . . . . . . 491fiches multi-tables . . . . . . . . . . . . . . 490insertion dans une fiche . . . . . . . . . . . . 491modèles relationnels . . . . . . . . . . . . . 490propriétés . . . . . . . . . . . . . . . . 490

clé. . . . . . . . . . . . . . . . . . 70, 203champ clé . . . . . . . . . . . . . . 63, 92, 94clé étrangère . . . . . . . . . . . . . . . 63clé primaire . . . . . . . . . . . . . . . . 63composite . . . . . . . . . . . . . . . 68, 94création . . . . . . . . . . . . . . . . . 67modification . . . . . . . . . . . . . . . 124primaire . . . . . . . . . . . . . . . . 68suppression . . . . . . . . . . . . . . . 124

clé composite . . . . . . . . . . . . . . . . 68création . . . . . . . . . . . . . . . . . 68et index . . . . . . . . . . . . . . . . . 94index . . . . . . . . . . . . . . . . . 70

clé primairecréation . . . . . . . . . . . . . . . . . 68index . . . . . . . . . . . . . . . . . 70

clés . . . . . . . . . . . . . . . . . . . 38clignotement de l�écran . . . . . . . . . . . . 234, 280

déplacement . . . . . . . . . . . . . . . 280code d�attachement . . . . . . . . . . . . . . 261coller . . . . . . . . . . . . . . . . . . 176

depuis un fichier . . . . . . . . . . . . . . 180données . . . . . . . . . . . . . . 169, 177 - 178fiche . . . . . . . . . . . . . . . . . 268

colonne . . . . . . . . . . . . . . . . . 219affichage de toutes les colonnes dans un objet multi-enregistrement . 489déplacement, redimensionnement et rotation . . . . . . . 134

vi Index

Index

colonnes . . . . . . . . . . . . . . . . 63, 133modification de l�aspect . . . . . . . . . . . . 133objet de conception . . . . . . . . . . . . . 252objet de conception imbriqué . . . . . . . . . . . 252

combinaison de champsdans un objet cadre de table . . . . . . . . . . . 510

commande joindre . . . . . . . . . . . . . . 362COMME (QBE)

avec un élément d�exemple. . . . . . . . . . . . 394Communauté Corel . . . . . . . . . . . . . . . 16compactage d�une table . . . . . . . . . . . . . 126comparaison (requête QBE) . . . . . . . . . . . . 380comparaison d�ensembles (exemple QBE) . . . . . . . . . 413comparaison d�ensembles (QBE) . . . . . . . . . . . 413compatibilité de fichiers

RTF. . . . . . . . . . . . . . . . . . 322Concepteur de base de données visuel. . . . . . . . 96 - 99, 127

affichage des informations d�une table . . . . . . . . . 100affichage des propriétés des liens . . . . . . . . . . 99aggrandissement d�une table . . . . . . . . . . . 98création d�une table . . . . . . . . . . . . . . 97création de tables . . . . . . . . . . . . . . 96démarrage . . . . . . . . . . . . . . . . 97édition d�une table . . . . . . . . . . . . . . 97enregistrement du diagramme d�une base de données . . . . . 101gestion de tables . . . . . . . . . . . . . . 98impression de conception de base de données . . . . . . . 96impression du diagramme d�une base de données . . . . . . 101intégrité référentielle . . . . . . . . . . . 96, 99, 127liaison de tables . . . . . . . . . . . . . . 96, 99modification d�une table . . . . . . . . . . . . 97ouverture . . . . . . . . . . . . . . . . 97rafraîchissement de l�espace de travail . . . . . . . . . 98redimensionnement automatique d�une table . . . . . . . 98réduction d�une table . . . . . . . . . . . . . 98suppression de l�intégrité référentielle . . . . . . . . . 99suppression de liens . . . . . . . . . . . . . . 99table de référence . . . . . . . . . . . . . . 100

Concepteur de modèle relationnelpropriétés de table . . . . . . . . . . . . . . 209

conception . . . . . . . . . . . . . . . 214, 238données . . . . . . . . . . . . . . . . 238enregistrement. . . . . . . . . . . . . . . 238état . . . . . . . . . . . . . . . . 263, 283fiche . . . . . . . . . . . . . . . . . 263options . . . . . . . . . . . . . . . . . 216ouverture . . . . . . . . . . . . . . . . 214

conception d�un état à partir d�une fiche . . . . . . . . . 285

configationBDE . . . . . . . . . . . . . . . . . 148

configuration . . . . . . . . . . . . . . . . 146BDE . . . . . . . . . . . . . . . . 146 - 147

connexionsCorel Web Server . . . . . . . . . . . . . . 561

constantescalculs avec . . . . . . . . . . . . . . . 470

conteneur . . . . . . . . . . . . . . . . . 233groupement d�objets . . . . . . . . . . . . . 313suppression . . . . . . . . . . . . . . . 254

conteneurs . . . . . . . . . . . . . . . 247, 251contour

affichage . . . . . . . . . . . . . . . . 245contours

objets . . . . . . . . . . . . . . . . . 234contrôle ActiveX

enregistrement. . . . . . . . . . . . . . . 503insertion dans une fiche . . . . . . . . . . . . 503modification des événements . . . . . . . . . . . 504programmation de Paradox VCR . . . . . . . . . . 502suppression d�une barre d�outils . . . . . . . . . . 503VCR . . . . . . . . . . . . . . . . . 502

contrôle ActiveX VCRexplorateur d�objet . . . . . . . . . . . . . 502

contrôle de validité . . . . . . . . . . . . . . . 76affichage . . . . . . . . . . . . . . . . 83chaîne modèle . . . . . . . . . . . . . . . 81champ obligatoire . . . . . . . . . . . . . . 78suppression . . . . . . . . . . . . . . . . 83valeur de modèle . . . . . . . . . . . . . . 81valeur maximale. . . . . . . . . . . . . . 76, 79valeur minimale . . . . . . . . . . . . . . 76, 79valeur modèle . . . . . . . . . . . . . . . 76valeur par défaut . . . . . . . . . . . . . 76, 80

contrôle OLEinsertion dans une fiche . . . . . . . . . . . . 502

contrôles ActiveX . . . . . . . . . . . . 497, 500, 502contrôles de validité . . . . . . . . . . . . . . 40contrôles natifs Windows . . . . . . . . . . . . . 497contrôles OLE . . . . . . . . . . . . . . 497, 500

types d�événement . . . . . . . . . . . . . . 500contrôles OLE personnalisés . . . . . . . . . . . . 497Contrôles Paradox VCR . . . . . . . . . . . . . 497conventions. . . . . . . . . . . . . . . . . 14copie

fiche . . . . . . . . . . . . . . . . . 262intégrité référentielle . . . . . . . . . . . . . 92

Index vii

Index

page de classeur . . . . . . . . . . . . . . 494propriétés par défaut . . . . . . . . . . . . . 136table . . . . . . . . . . . . . . . . 159 - 160

copie vers un fichierobjet graphique . . . . . . . . . . . . . . 481

copier . . . . . . . . . . . . . . . . . . 176donnée . . . . . . . . . . . . . . . . . 169fiche . . . . . . . . . . . . . . . . . 268vers un fichier . . . . . . . . . . . . . . . 180

copier et coller . . . . . . . . . . . . . . . 176données . . . . . . . . . . . . . . . . 178données graphiques . . . . . . . . . . . . . 185

Corel Corporation . . . . . . . . . . . . . . . 8Corel sur le Web . . . . . . . . . . . . . . . 16Corel Web Server . . . . . . . . . . . . . . 555, 559

affichage des connexions . . . . . . . . . . . . 561base . . . . . . . . . . . . . . . . . 562configuration . . . . . . . . . . . . . . . 559démarrage . . . . . . . . . . . . . . . . 561propriétés . . . . . . . . . . . . . . . . 560test. . . . . . . . . . . . . . . . . . 561

correspondance . . . . . . . . . . . . . . . 378correspondance exacte (requête QBE) . . . . . . . . . . 378correspondance inexacte (requête QBE) . . . . . . . . . 379couleur . . . . . . . . . . . . . . . . . 140

modification de l�arrière-plan . . . . . . . . . . . 140couleur personnalisée . . . . . . . . . . . . . . 143

création . . . . . . . . . . . . . . . . 143Couleurs de l�original . . . . . . . . . . . . . . 483couleurs personnalisées . . . . . . . . . . . . . 339

création . . . . . . . . . . . . . . . . 339couper

données . . . . . . . . . . . . . . . . 169fiche . . . . . . . . . . . . . . . . . 268

couper et coller . . . . . . . . . . . . . . . 176données . . . . . . . . . . . . . . . . 177données graphiques . . . . . . . . . . . . . 185

création . . . . . . . . . . . . . . . . . 391alias. . . . . . . . . . . . . . . . . . 59alias de table . . . . . . . . . . . . . . . 210barres d�outils . . . . . . . . . . . . . . . 223boîte de dialogue . . . . . . . . . . . . . . 271état . . . . . . . . . . . . . . . . 283 - 284étiquette de publipostage . . . . . . . . . . . . 285fenêtre . . . . . . . . . . . . . . . . . 271feuilles de style . . . . . . . . . . . . . 218, 236fiche . . . . . . . . . . . . . . . . . 262fiche existante . . . . . . . . . . . . . . . 262

fiche vierge . . . . . . . . . . . . . . . 262liaison . . . . . . . . . . . . . . . . . 205objet de conception . . . . . . . . . . . . . 239objet de conception imbriqué . . . . . . . . . . . 252objets de conception multiples . . . . . . . . . . . 242style de la fenêtre . . . . . . . . . . . . . . 271

critère de sélectioncorrespondance (QBE) . . . . . . . . . . . . . 378opérateur et (QBE) . . . . . . . . . . . . . 387opérateur ou (QBE) . . . . . . . . . . . . 388 - 389

critère de sélection (QBE) . . . . . . . . . . . 376, 378critère de sélection d�une requête . . . . . . . . . . . 360critère de sélection d�une requête (QBE) . . . . . . . . . 376critères de sélection

ET (QBE) . . . . . . . . . . . . . . . . 386liens inclusifs (QBE) . . . . . . . . . . . . . 418

Ddans un critère de sélection de type date . . . . . . . . . 393date

calcul de la différence . . . . . . . . . . . . . 475date actuelle . . . . . . . . . . . . . . . . 382dates

calcul . . . . . . . . . . . . . . . . . 474calculs basés sur des dates . . . . . . . . . . . . 476détection avec opérateur générique (QBE) . . . . . . . . 385

dBASEexportation de données vers . . . . . . . . . . . 531index . . . . . . . . . . . . . . . . . 70index composite . . . . . . . . . . . . . . 116tri . . . . . . . . . . . . . . . . . . 118

DDE . . . . . . . . . . . . . . . . . 521, 549suppression d�un lien . . . . . . . . . . . . . 553utilisation de Paradox en tant que client (requêtes) . . . . . 551utilisation de Paradox en tant que client (tables) . . . . . . 550utilisation de Paradox en tant que client et serveur (requêtes) . . . 551utilisation de Paradox en tant que serveur . . . . . . . . 549

DDE (Échange dynamique de données)et Quattro Pro . . . . . . . . . . . . . . . 550Paradox en tant que serveur . . . . . . . . . . . 550

décalage d�un objetexemple . . . . . . . . . . . . . . . . 311

décalement d�objetsconteneur rassemblant des objets . . . . . . . . . . 313

défautaffectation d�un nom . . . . . . . . . . . . . 255mise en page . . . . . . . . . . . . . . . 266

viii Index

Index

paramètres d�une fenêtre de fiche . . . . . . . . . . 281définition

bande de groupe . . . . . . . . . . . . . . 301définition de correspondance exacte (requête QBE) . . . . . . 378définition de correspondance inexacte (requête QBE) . . . . . . 379définition des champs clés . . . . . . . . . . . . . 68Demander au PerfectExpert . . . . . . . . . . . . . 15déplacement . . . . . . . . . . . . 102, 134, 156, 273

bande de groupe . . . . . . . . . . . . . . 298barres d�outils . . . . . . . . . . . . . . . 26clignotement de l�écran . . . . . . . . . . . . 280colonne . . . . . . . . . . . . . . . . 134dans des fiches complexes . . . . . . . . . . . . 273dans les champs . . . . . . . . . . . . . . 273dans les enregistrements . . . . . . . . . 102 - 103, 273dans les pages d�une fiche . . . . . . . . . . . . 274enregistrement . . . . . . . . . . . . . 153, 156enregistrement dépendant . . . . . . . . . . . . 156entre les enregistrements. . . . . . . . . . . 102 - 103feuilles de style. . . . . . . . . . . . . . . 238fiche . . . . . . . . . . . . . . . . 269, 272indentation . . . . . . . . . . . . . . . 230objet . . . . . . . . . . . . . . . . . 246objet de conception . . . . . . . . . . . . . 246objet graphique . . . . . . . . . . . . . . 481objet imbriqué . . . . . . . . . . . . . . . 254objet table . . . . . . . . . . . . . . . . 273objets . . . . . . . . . . . . . . . . . 245pages de fiche . . . . . . . . . . . . . . . 269saut de page . . . . . . . . . . . . . . . 306scintillement de l�écran . . . . . . . . . . . . 280sortie d�un champ . . . . . . . . . . . . . . 173vers une page spécifique . . . . . . . . . . . . 274

déplacement de champimage de requête . . . . . . . . . . . . . . 367

désactivation des liens hypertexte . . . . . . . . . . 67, 232désélection d�un objet de conception . . . . . . . . . . 239dessin sans scintillement . . . . . . . . . . . . 232, 280détection (QBE) . . . . . . . . . . . . . . . 382détection des champs vides (QBE). . . . . . . . . . . 382détermination (QBE) . . . . . . . . . . . . . . 382détermination de la date actuelle (QBE) . . . . . . . . . 382diagramme . . . . . . . . . . . . . . . 323 - 324

description . . . . . . . . . . . . . . . . 324didacticiel

en ligne . . . . . . . . . . . . . . . . . 17ObjectPAL . . . . . . . . . . . . . . . . 17

didacticiel ObjectPAL . . . . . . . . . . . . . . 17

dimensionnementbande de page . . . . . . . . . . . . . . . 294fenêtre de fiche . . . . . . . . . . . . . . 280objet champ . . . . . . . . . . . . . . . 249

dimensions . . . . . . . . . . . . . . . 231 - 232disposition

conception . . . . . . . . . . . . . . . . 214création . . . . . . . . . . . . . . . . 212états . . . . . . . . . . . . . . . . . 212fiches . . . . . . . . . . . . . . . . . 212insertion de plusieurs enregistrements dans une page . . . 485 - 486insertion de plusieurs enregistrements sur une page . . . . . 487modification . . . . . . . . . . . . . . . 212options . . . . . . . . . . . . . . . . . 213outils . . . . . . . . . . . . . . . . . 227style . . . . . . . . . . . . . . . . . 216

disposition des champsinsertion de plusieurs enregistrements dans une page . . . 485 - 486insertion de plusieurs enregistrements sur une page . . . . . 487

disposition des enregistrementsobjet multi-enregistrement . . . . . . . . . . . 487

disposition mono-enregistrement . . . . . . . . . . . 213disposition multi-enregistrement . . . . . . . . . . . 213disposition multi-table . . . . . . . . . . . . . 219distante (QBE) . . . . . . . . . . . . . . . 401distribution d�un état . . . . . . . . . . . . 314 - 315

modification . . . . . . . . . . . . . . 314 - 315document de conception . . . . . . . . . . . . 197, 216documentation . . . . . . . . . . . . . . . 12, 14

Aide en ligne. . . . . . . . . . . . . . . . 15didacticiel ObjectPAL en ligne . . . . . . . . . . . 17didacticiels en ligne . . . . . . . . . . . . . . 17ObjectPAL . . . . . . . . . . . . . . . . 15

documents dynamiques . . . . . . . . . . . . . 555documents statiques . . . . . . . . . . . . . . 555données . . . . . . . . . . . . . . . 167, 278, 286

affichage dans les états . . . . . . . . . . . 447 - 448affichage dans les fiches . . . . . . . . . . . 447 - 448conception . . . . . . . . . . . . . . . . 238copier et coller . . . . . . . . . . . . . . . 178couper et coller. . . . . . . . . . . . . . . 177exportation. . . . . . . . . . . . . . . . 531fusion . . . . . . . . . . . . . . . . . 286graphiques . . . . . . . . . . . . . . . . 185importation . . . . . . . . . . . . . . . 523mise à jour. . . . . . . . . . . . . . . . 278modification . . . . . . . . . . . . . . 167 - 168normalisation . . . . . . . . . . . . . . . 36

Index ix

Index

raccourcis de saisie. . . . . . . . . . . . . . 172recherche et remplacement. . . . . . . . . . . . 187référence croisée . . . . . . . . . . . . . 340, 446saisie . . . . . . . . . . . . . . . . 167 - 168table de référence . . . . . . . . . . . . . . 193

droit de référence . . . . . . . . . . . . . . . 86duplication

objet de conception . . . . . . . . . . . . . 242

Eédition . . . . . . . . . . . . . . . . . 450

champ . . . . . . . . . . . . . . . . . 450Effacement original . . . . . . . . . . . . . . 483effet visuel

sélection . . . . . . . . . . . . . . . . 485Effets visuels . . . . . . . . . . . . . . . . 483égal à (requête QBE) . . . . . . . . . . . . . . 380élément d�exemple . . . . . . . . . . . . . 390 - 391

liens entre tables . . . . . . . . . . . . . . 362éléments d�exemple . . . . . . . . . . . . . 391 - 393

avec COMME et SAUF . . . . . . . . . . . . . 394éléments de la Fenêtre Projet . . . . . . . . . . . . 55ellipse . . . . . . . . . . . . . . . . 436, 438

création . . . . . . . . . . . . . . . . 438redimensionnement . . . . . . . . . . . . . 438

empilement de champsdans un objet cadre de table . . . . . . . . . . . 510

en ligne . . . . . . . . . . . . . . . . . . 15enegistrement

recherche . . . . . . . . . . . . . . . . 190enregistrement . . . . . . . . . . . . . . . . 61

affichage . . . . . . . . . . . . . . . . 278affichage de tous les enregistrements dans un objet multi-enregistrement 489ajout . . . . . . . . . . . . . . . . 153, 155conception . . . . . . . . . . . . . . . . 238contrôle ActiveX . . . . . . . . . . . . . . 503déplacement . . . . . . . . . . . . . . 153, 156détail . . . . . . . . . . . . . . . . . 220données d�une table . . . . . . . . . . . . . . 61fenêtre de fiche . . . . . . . . . . . . . . 280feuilles de style. . . . . . . . . . . . . . . 236insertion . . . . . . . . . . . . . . . . 174insertion de plusieurs enregistrements dans une page . . . 485 - 486maître . . . . . . . . . . . . . . . . . 220modèle relationnel de référence . . . . . . . . . . 212objet graphique . . . . . . . . . . . . . . 481objets Paradox . . . . . . . . . . . . . . . 61

outil de conception. . . . . . . . . . . . . . 224propriétés d�une table . . . . . . . . . . . . . 137propriétés de page . . . . . . . . . . . . . . 225recherche . . . . . . . . . . . . . . . . 187recherche et remplacement. . . . . . . . . . . . 190sans la fonction exporter . . . . . . . . . . . . 481soustraction . . . . . . . . . . . . . 153, 157 - 158suppression . . . . . . . . . . . . . . 173, 175tables . . . . . . . . . . . . . . . . . 67tri . . . . . . . . . . . . . . . . 298, 304validation . . . . . . . . . . . . . 173, 175, 195verrouillage . . . . . . . . . . . . . . . 194vidage . . . . . . . . . . . . . . . . . 153vue de requête reliée (QBE) . . . . . . . . . . . 375

enregistrement de groupesuppression . . . . . . . . . . . . . . . 304

enregistrement de tables . . . . . . . . . . . . . 67enregistrement détail . . . . . . . . . . . . . . 220

imbrication. . . . . . . . . . . . . . . . 221placement . . . . . . . . . . . . . . . . 221

enregistrement du diagramme d�une base de données . . . . . . 101enregistrement maître. . . . . . . . . . . . . . 220

affichage multiple . . . . . . . . . . . . . . 220tables détail . . . . . . . . . . . . . . . 220

enregistrements . . . . . . . . . . . . . . . 63déplacement . . . . . . . . . . . . . . . 103déplacement dans . . . . . . . . . . . . 102 - 103objets . . . . . . . . . . . . . . . . . 213

ensembledéfinition (exemple QBE) . . . . . . . . . . . . 412définition (QBE) . . . . . . . . . . . . . . 412

en-tête. . . . . . . . . . . . . . 289, 292, 295, 298bande . . . . . . . . . . . . . . . . . 289bande d�état . . . . . . . . . . . . . . . 292bande de groupe . . . . . . . . . . . . . . 298changement . . . . . . . . . . . . . . . 293modification . . . . . . . . . . . . . . . 293sauts de page . . . . . . . . . . . . . . . 292suppression . . . . . . . . . . . . . . . 295

en-tête d�état . . . . . . . . . . . . . . . . 293en-tête de groupe

impression . . . . . . . . . . . . . . . . 305préférences d�impression . . . . . . . . . . . . 305

en-tête de page . . . . . . . . . . . . . . . 293entrée de données . . . . . . . . . . . . . 262, 278ERRORCHG.DB. . . . . . . . . . . . . . . . 431ERRORDEL.DB. . . . . . . . . . . . . . . . 428ERRORINS.DB . . . . . . . . . . . . . . . . 425

x Index

Index

espace de travailpersonnalisation . . . . . . . . . . . . . . 223

espacementajustement. . . . . . . . . . . . . . . . 248objet de conception . . . . . . . . . . . . . 248

ET . . . . . . . . . . . . . . . . . . . 483ET (QBE) . . . . . . . . . . . . . . . . . 386

dans le même champ . . . . . . . . . . . . . 386état . . . . . . . . . . . . . 197, 283, 314, 316 - 318

attachement . . . . . . . . . . . . . . . 248avec différentes tables . . . . . . . . . . . . . 318barre de défilement . . . . . . . . . . . . . 256conception . . . . . . . . . . . . . 263, 283, 285conception pour l�écran . . . . . . . . . . . . 287conception pour l�impression . . . . . . . . . . . 287création . . . . . . . . . . . . . . . 283 - 284distribution . . . . . . . . . . . . . . 314 - 315écriture dans un fichier texte . . . . . . . . . . . 321exécution . . . . . . . . . . . . . . . . 317formatage . . . . . . . . . . . . . . . . 316immédiat . . . . . . . . . . . . . . . . 107impression . . . . . . . . . . . . 283, 316 - 317, 320impression avec des données modifiées. . . . . . . . . 320impression de la conception de l�état . . . . . . . . . 320modification . . . . . . . . . . . . . . 284, 317modification de mise en page . . . . . . . . . . . 288ouverture . . . . . . . . . . . . . . 283 - 286ouverture en mode conception . . . . . . . . . . . 286ouverture en mode exécution . . . . . . . . . . . 286placement d�un objet de conception . . . . . . . . . 242prévisualisation . . . . . . . . . . . . . . 317propriétés . . . . . . . . . . . . . . . 315, 317propriétés propagées . . . . . . . . . . . . . 260publication au format HTML . . . . . . . . . . . 557réutilisation d�une conception de table . . . . . . . . . 318

état immédiat . . . . . . . . . . . . . . . . 107affichage . . . . . . . . . . . . . . . . 107

états . . . . . . . . . . . . . . . . . 46, 213apparence . . . . . . . . . . . . . . . . 235bande . . . . . . . . . . . . . . . . . 292bandes . . . . . . . . . . . . . . . . . 212cadres . . . . . . . . . . . . . . . . . 244conception . . . . . . . . . . . . . . . . 213disposition . . . . . . . . . . . . . . . . 212exécution d�opérations récapitulatives . . . . . . . . . 456experts . . . . . . . . . . . . . . . . . 198fenêtre de conception . . . . . . . . . . . . . 222feuilles de style . . . . . . . . . . . . . 218, 235

liaison . . . . . . . . . . . . . . . . . 203modification . . . . . . . . . . . . . . . 222préférences du bureau . . . . . . . . . . . . . 48

étendue . . . . . . . . . . . . . . . . . 116fiche immédiate . . . . . . . . . . . . . . 117filtrage . . . . . . . . . . . . . . . . . 116

étiquette . . . . . . . . . . . . . . . . . 285étiquette de publipostage . . . . . . . . . . . . . 285

création . . . . . . . . . . . . . . . . 285Expert . . . . . . . . . . . . . . . . . 285

étiquettes de publipostageexpert . . . . . . . . . . . . . . . . . 198

événements AfterOLE . . . . . . . . . . . . . . . . . 500

événements BeforeOLE . . . . . . . . . . . . . . . . . 500

événements DoOLE . . . . . . . . . . . . . . . . . 500

événements RequestOLE . . . . . . . . . . . . . . . . . 500

Excelexportation de données vers . . . . . . . . . . . 531importation de données . . . . . . . . . . . . 523

exécutionfiche . . . . . . . . . . . . . . 278 - 279, 281fiche à partir d�une autre table. . . . . . . . . . . 279fiche à partir de la fenêtre de conception . . . . . . . . 278requêtes . . . . . . . . . . . . . . . . 355

exécution d�une fiche à partir de la fenêtre de conception . . . . . 278exécution de calculs dans les requêtes QBE . . . . . . . . 395exemple

alignement d�objets décalés à l�aide d�une ligne invisible . . . . 312conteneur rassemblant des objets . . . . . . . . . . 313décalage d�un objet. . . . . . . . . . . . . . 311objet décalé . . . . . . . . . . . . . . . 311

exemple de requêtemulti-table (QBE) . . . . . . . . . . . . . . 364requête QBE simple . . . . . . . . . . . . . 355

exemple de requête QBE multi-table . . . . . . . . . . 364exemple de requête QBE simple . . . . . . . . . . . 355exemple QBE

calcul appliqué à un groupe . . . . . . . . . . . 408calcul appliqué à une table . . . . . . . . . . . 409calcul du nombre de valeurs uniques . . . . . . . . . 410comparaison d�ensembles . . . . . . . . . . . . 413définition d�un ensemble . . . . . . . . . . . . 412liens avec tous les enregistrements d�une table. . . . . . . 420MAX . . . . . . . . . . . . . . . . . 407

Index xi

Index

MIN . . . . . . . . . . . . . . . . . 407NOMBRE . . . . . . . . . . . . . . . . 404opérateur moyenne . . . . . . . . . . . . . 406opérateur somme . . . . . . . . . . . . . . 405opérateurs d�inclusion . . . . . . . . . . . . . 422requête insérer . . . . . . . . . . . . . . . 427requête remplacerpar . . . . . . . . . . . . . 434requête supprimer . . . . . . . . . . . . . . 430RIENQUE . . . . . . . . . . . . . . . . 414

Expert. . . . . . . . . . . . . . . . . . 285étiquette de publipostage . . . . . . . . . . . . 285

Expert d�état . . . . . . . . . . . . . . . . 21Expert d�étiquettes de publipostage. . . . . . . . . . . 21Expert d�exécution . . . . . . . . . . . . . . . 21Expert d�importation de texte . . . . . . . . . . . . 21Expert d�importation HTML . . . . . . . . . . . . . 21Expert d�utilitaires . . . . . . . . . . . . . . . 21Expert de base de données . . . . . . . . . . . . . 21Expert de documentation . . . . . . . . . . . . . 21Expert de fiche . . . . . . . . . . . . . . . . 21Expert de fusion . . . . . . . . . . . . . . . 21Expert de graphe . . . . . . . . . . . . . . . 21Expert de recherche de doublons . . . . . . . . . . . 21Expert de recherche et de remplacement . . . . . . . . . 21Expert de référence croisée . . . . . . . . . . . . . 21Expert de requête . . . . . . . . . . . . . . 21, 351Expert de table . . . . . . . . . . . . . . . . 21experts . . . . . . . . . . . . . . . . . 198

états . . . . . . . . . . . . . . . . . 198fiches . . . . . . . . . . . . . . . . . 198

Experts . . . . . . . . . . . . . . . . 21, 262fiche . . . . . . . . . . . . . . . . . 262préférences du bureau . . . . . . . . . . . . . 48

Explorateur d�objet . . . . . . . . . . . . . . 258modification des propriétés . . . . . . . . . . . 258

exportation . . . . . . . . . . . . . . . . 531données . . . . . . . . . . . . . . . . 521vers dBASE . . . . . . . . . . . . . . . . 531vers du texte de longueur fixe . . . . . . . . . . . 534vers du texte délimité . . . . . . . . . . . . . 533vers Excel . . . . . . . . . . . . . . . . 531vers Lotus 1-2-3 . . . . . . . . . . . . . . 531vers Quattro Pro . . . . . . . . . . . . . . 531vers une feuille de calcul . . . . . . . . . . . . 531vers une table . . . . . . . . . . . . . . . 532vers WordPerfect . . . . . . . . . . . . . . 531

Ffenêtre

affichage des modifications. . . . . . . . . . . . 271création . . . . . . . . . . . . . . . . 271fiche . . . . . . . . . . . . . . . . . 269modification . . . . . . . . . . . . . . . 271

fenêtre de conception . . . . . . . . . . . . . . 216barre d�outils . . . . . . . . . . . . . . . 223états . . . . . . . . . . . . . . . . . 222fiche . . . . . . . . . . . . . . . . . 222grille . . . . . . . . . . . . . . . . . 231préférences, . . . . . . . . . . . . . . . 232

fenêtre de fiche. . . . . . . . . . . . . 278, 280 - 281affichage par défaut . . . . . . . . . . . . . 280enregistrement . . . . . . . . . . . . . . . 281enregistrement des modifications . . . . . . . . . . 280grossissement . . . . . . . . . . . . . . . 280paramètres. . . . . . . . . . . . . . . . 281paramètres par défaut . . . . . . . . . . . . . 281redimensionnement . . . . . . . . . . . . . 280

Fenêtre Projet . . . . . . . . . . . . . . . 53 - 54ajout et suppression d�éléments . . . . . . . . . . . 55

fenêtres de conception . . . . . . . . . . . . . . 216fermeture et sortie de Paradox . . . . . . . . . . . . 61feuille de calcul

exportation vers . . . . . . . . . . . . . . 531importation . . . . . . . . . . . . . . . 524types de champs . . . . . . . . . . . . . . 525

feuille de stylesélection . . . . . . . . . . . . . . . . 218

feuilles de style . . . . . . . . . . . . . . 218, 237.FP . . . . . . . . . . . . . . . . . . 237.FT . . . . . . . . . . . . . . . . . . 237accès . . . . . . . . . . . . . . . . . 238application. . . . . . . . . . . . . . . . 236création . . . . . . . . . . . . . . . 218, 236défaut . . . . . . . . . . . . . . . . . 237déplacement . . . . . . . . . . . . . . . 238écran . . . . . . . . . . . . . . . . . 237enregistrement . . . . . . . . . . . . . . . 236imprimante . . . . . . . . . . . . . . . 237modification . . . . . . . . . . . . . . . 236

fiche . . . . . . . . . . . . . . . . . . 197affichage . . . . . . . . . . . . . 278, 280 - 281attachement . . . . . . . . . . . . . . . 248barre de défilement . . . . . . . . . . . . 256, 272boîte de dialogue . . . . . . . . . . . . . . 269

xii Index

Index

caractéristique . . . . . . . . . . . . . . . 262coller . . . . . . . . . . . . . . . . . 268conception . . . . . . . . . . . . . . 262 - 263copier une fiche . . . . . . . . . . . . . . 268couper . . . . . . . . . . . . . . . . . 268création . . . . . . . . . . . . . . . . 262déplacement . . . . . . . . . . . . . . 269, 272exécution . . . . . . . . . . . . . 278 - 279, 281exécution à partir de la fenêtre de conception . . . . . . . 278existante . . . . . . . . . . . . . . . . 262expert . . . . . . . . . . . . . . . . . 198Experts. . . . . . . . . . . . . . . . . 262fenêtre . . . . . . . . . . . . . . . . . 269immédiate . . . . . . . . . . . . . . . . 107liaison . . . . . . . . . . . . . . . . . 203mise en page . . . . . . . . . . . . . . . 266modification . . . . . . . . . . . . . . . 262mosaïque . . . . . . . . . . . . . . . . 269multi-page . . . . . . . . . . . . . . 267 - 268ordre de tabulation . . . . . . . . . . . . . 272ouverture . . . . . . . . . . . . . . . . 264placement d�un objet de conception . . . . . . . . . 242propriétés de la barre de titre . . . . . . . . . . . 269propriétés de la fenêtre . . . . . . . . . . . . 269propriétés du cadre . . . . . . . . . . . . . 269propriétés propagées . . . . . . . . . . . . . 260publication au format HTML . . . . . . . . . . . 558rotation . . . . . . . . . . . . . . . . 269style de la fenêtre . . . . . . . . . . . . . . 269superposé . . . . . . . . . . . . . . . . 269superposition . . . . . . . . . . . . . . . 269supprimer . . . . . . . . . . . . . . . . 268touches de clavier . . . . . . . . . . . . . . 272verticale . . . . . . . . . . . . . . . . 269zoom . . . . . . . . . . . . . . . . . 280

fiche existanteouverture . . . . . . . . . . . . . . . . 264

fiche immédiate . . . . . . . . . . . . . . . 107affichage . . . . . . . . . . . . . . . . 107définition d�une étendue . . . . . . . . . . . . 117filtrage . . . . . . . . . . . . . . . . . 117

fiche multipageremplacement par des classeurs . . . . . . . . . . 490

fiche multi-page . . . . . . . . . . . . . . . 267fiches . . . . . . . . . . . . . . . . . . 46

ajout . . . . . . . . . . . . . . . . . 267alias . . . . . . . . . . . . . . . . . 276apparence . . . . . . . . . . . . . . . . 235

bandes . . . . . . . . . . . . . . . . . 212cadres . . . . . . . . . . . . . . . . . 244code source . . . . . . . . . . . . . . . 276conception non modifiable . . . . . . . . . . . . 276conception statique . . . . . . . . . . . . . 276disposition . . . . . . . . . . . . . . . . 212distribution . . . . . . . . . . . . . . . 276exécution d�opérations récapitulatives . . . . . . . . . 456fenêtre de conception . . . . . . . . . . . . . 222feuilles de style . . . . . . . . . . . . . 218, 235impression . . . . . . . . . . . . . . . . 282modification . . . . . . . . . . . . . . . 222modification de propriétés . . . . . . . . . . . . 277pages . . . . . . . . . . . . . . . . . 267préférences du bureau . . . . . . . . . . . . . 48propriétés . . . . . . . . . . . . . . . . 277propriétés de table . . . . . . . . . . . . . . 209protection . . . . . . . . . . . . . . . . 276version utilisateur . . . . . . . . . . . . . . 276

fiches multi-tablesclasseurs et . . . . . . . . . . . . . . . 490

fichiercoller depuis . . . . . . . . . . . . . . . 180copier vers . . . . . . . . . . . . . . . . 180impression . . . . . . . . . . . . . . . . 321

fichiers .HTT . . . . . . . . . . . . . . . . 559filtrage d�une table

définition d�une étendue . . . . . . . . . . . . 116filtrage de table

conditions soit/soit . . . . . . . . . . . . . . 114fiche immédiate . . . . . . . . . . . . . . 117

filtrage de tables . . . . . . . . . . . . . . . 111caractères spéciaux . . . . . . . . . . . . . . 111

filtres . . . . . . . . . . . . . . . . . . 108création et suppression de champs . . . . . . . . . . 114et requêtes . . . . . . . . . . . . . . 108, 110tables . . . . . . . . . . . . . . . . . 108

format de données. . . . . . . . . . . . . . . 146date . . . . . . . . . . . . . . . . 146, 148date/heure . . . . . . . . . . . . . . 146, 148heure . . . . . . . . . . . . . . . . 146, 148logique . . . . . . . . . . . . . . . 146, 148modification d�un format personnalisé . . . . . . . . . 152monétaire . . . . . . . . . . . . . . 146 - 147numérique . . . . . . . . . . . . . 146 - 147, 150personnalisation . . . . . . . . . . . . . 146, 151prédéfini . . . . . . . . . . . . . . . 146 - 148suppression d�un format personnalisé . . . . . . . . . 152

Index xiii

Index

format de données prédéfini . . . . . . . . . . . . 146format de fichier

.FP . . . . . . . . . . . . . . . . . . 236

.FT . . . . . . . . . . . . . . . . . . 236RTF. . . . . . . . . . . . . . . . . . 322

format de la pageimpression . . . . . . . . . . . . . . . . 265

format de pageimpression . . . . . . . . . . . . . . . . 282

format monétaire . . . . . . . . . . . . . . . 147formatage

état . . . . . . . . . . . . . . . . . 316formatage de texte . . . . . . . . . . . . . . 227formules

impression . . . . . . . . . . . . . . . . 478fourchette

définition . . . . . . . . . . . . . . . . 141personnalisation . . . . . . . . . . . . . . 141

fusiondonnées . . . . . . . . . . . . . . . . 286

Fusionner au fond . . . . . . . . . . . . . . . 483

Ggestion de la mise à jour des tables (requête QBE) . . . . . . 399graduation

grille . . . . . . . . . . . . . . . . . 231modification . . . . . . . . . . . . . . . 334

graphe . . . . . . . . . . . . . 323 - 324, 331, 444à deux dimensions . . . . . . . . . . . . . . 324à trois dimensions . . . . . . . . . . . . . . 336à une dimension . . . . . . . . . . . . . . 324axe des z . . . . . . . . . . . . . . . . 336couleur. . . . . . . . . . . . . . . . . 339création . . . . . . . . . . . . . . . 327, 445fond . . . . . . . . . . . . . . . . . 338immédiat . . . . . . . . . . . . . . . . 107modification . . . . . . . . . . . 331 - 332, 337, 445modification de l�aspect . . . . . . . . . . . 337 - 339modification du type . . . . . . . . . . . . . 333modification du type de données . . . . . . . . . . 333multi-table. . . . . . . . . . . . . . . . 325police . . . . . . . . . . . . . . . . . 337propriétés . . . . . . . . . . . . . 331 - 332, 445redimensionnement . . . . . . . . . . . . . 445sélection de menu . . . . . . . . . . . . . . 331table détail. . . . . . . . . . . . . . . . 325tabulaire . . . . . . . . . . . . . . . . 324

titre . . . . . . . . . . . . . . . . . 336transparence . . . . . . . . . . . . . . . 339type de données . . . . . . . . . . . . . . 324zones . . . . . . . . . . . . . . . . . 445

graphe immédiat . . . . . . . . . . . . . . . 107affichage . . . . . . . . . . . . . . . . 107

graphesassociation de données . . . . . . . . . . . 328 - 329création de couleurs personnalisées . . . . . . . . . 339définition . . . . . . . . . . . . . . . . 328en deux dimensions . . . . . . . . . . . . . 329modification . . . . . . . . . . . . . . . 337regroupement de données . . . . . . . . . . . . 329suppression de champs. . . . . . . . . . . . . 337

graphique . . . . . . . . . . . . . . . . . 106affichage . . . . . . . . . . . . . . . . 106barre de défilement . . . . . . . . . . . . . 256couper et coller . . . . . . . . . . . . . . 185données . . . . . . . . . . . . . . . . 185utilisation de la commande coller depuis . . . . . . . . 186

graphiquesaffichage . . . . . . . . . . . . . . . . 251

grille . . . . . . . . . . . . . . . . . . 231affichage . . . . . . . . . . . . . . . . 231division . . . . . . . . . . . . . . . . 231fenêtre de conception . . . . . . . . . . . . . 231graduation . . . . . . . . . . . . . . . . 231ligne . . . . . . . . . . . . . . . . 231, 246modification . . . . . . . . . . . . . . . 138unité . . . . . . . . . . . . . . . . . 231

grillesalignement. . . . . . . . . . . . . . . . 247dimensions . . . . . . . . . . . . . . . . 232lignes . . . . . . . . . . . . . . . . . 247objet de conception . . . . . . . . . . . . . 252objet de conception imbriqué . . . . . . . . . . . 252

grossissement . . . . . . . . . . . . . . 251, 280champ OLE . . . . . . . . . . . . . . . . 251fiche . . . . . . . . . . . . . . . . . 280graphique . . . . . . . . . . . . . . . . 251

groupement . . . . . . . . . . . . . . . . 302nombre d�enregistremenst . . . . . . . . . . . . 302ordre de tri . . . . . . . . . . . . . . . 304par fourchette . . . . . . . . . . . . . . . 302valeur de champ . . . . . . . . . . . . . . 302

groupes à l�intérieur d�autres groupes. . . . . . . . . . 243

xiv Index

Index

Hheure

calcul de la différence . . . . . . . . . . . . . 475heures

calcul . . . . . . . . . . . . . . . . . 474hiérarchie d�imbrication . . . . . . . . . . . . . 251HTML . . . . . . . . . . . . . . . . 555 - 556

experts. . . . . . . . . . . . . . . . . 556importation . . . . . . . . . . . . . . . 564publication . . . . . . . . . . . . . . 555 - 556publication d�états . . . . . . . . . . . . . . 557publication de fiches . . . . . . . . . . . . . 558publication de tables . . . . . . . . . . . . . 557

hypertext template . . . . . . . . . . . . . . 559

Iicône de marge . . . . . . . . . . . . . . . 230icônes

marges. . . . . . . . . . . . . . . . . 230IDENTIQUE (QBE) . . . . . . . . . . . . . . . 413image de requête

déplacement de champ. . . . . . . . . . . . . 367images de requête

travail avec des . . . . . . . . . . . . . . 367images de requête en cascade . . . . . . . . . . . . 367images de requête en mosaïque . . . . . . . . . . . 367imbrication . . . . . . . . . . . . . . . . 221

objets de conception . . . . . . . . . . . . . 251Imbrication d�objets . . . . . . . . . . . . . . 497imbriqué . . . . . . . . . . . . . . . . . 259

objet . . . . . . . . . . . . . . . . . 252importation . . . . . . . . . . . . . . . . 523

données . . . . . . . . . . . . . . 521, 523, 526Excel . . . . . . . . . . . . . . . . . 523feuille de calcul . . . . . . . . . . . . . . 524Lotus 1-2-3. . . . . . . . . . . . . . . . 523Quattro Pro . . . . . . . . . . . . . . . 523texte délimité . . . . . . . . . . . . . . . 527texte longueur fixe . . . . . . . . . . . . . . 529

importation de données HTML. . . . . . . . . . . . 564impression . . . . . . . . . . . 265, 283, 295, 305, 320

aide . . . . . . . . . . . . . . . . . . 17ajouter une imprimante . . . . . . . . . . . . 321bande . . . . . . . . . . . . . . . . . 289bas de page . . . . . . . . . . . . . . . 295champs calculés . . . . . . . . . . . . . . 476

code ObjectPAL associé à des fiches . . . . . . . . . 478conception de l�état . . . . . . . . . . . . . 320dans un fichier . . . . . . . . . . . . . . . 321en-tête de groupe . . . . . . . . . . . . . . 305état . . . . . . . . . . . . . . . 283, 316, 320état avec des données modifées . . . . . . . . . . 320fiches . . . . . . . . . . . . . . . . . 282format de la page . . . . . . . . . . . . . . 265format de page. . . . . . . . . . . . . . . 282formules dans les champs calculés . . . . . . . . 476, 478mise en page . . . . . . . . . . . . . . 265, 282modèle relationnel . . . . . . . . . . . . . . 212modèle relationnel de référence . . . . . . . . . . 212options. . . . . . . . . . . . . . . . . 320table . . . . . . . . . . . . . . . . . 319table différente. . . . . . . . . . . . . . . 319uniquement les champs contenant des données . . . . . . 477

impression d�objets Paradox . . . . . . . . . . . . 61impression du diagramme d�une base de données . . . . . . . 101imprimante

ajout . . . . . . . . . . . . . . . . . 321Incrémenteur . . . . . . . . . . . . . . . . 497indentation . . . . . . . . . . . . . . . . 230

ajout . . . . . . . . . . . . . . . . . 230déplacement . . . . . . . . . . . . . . . 230

index . . . . . . . . . . . . . . . 38, 70, 199, 205composite . . . . . . . . . . . . . . . . 70et intégrité référentielle . . . . . . . . . . . . . 92SQL . . . . . . . . . . . . . . . . . . 70

index composite . . . . . . . . . . . . . . . 70dBASE . . . . . . . . . . . . . . . . . 116définition d�une étendue . . . . . . . . . . . . 116

index primaire . . . . . . . . . . . . . . . . 70index primaires . . . . . . . . . . . . . . 68, 203index secondaire . . . . . . . . . . . . . . . 70

composite . . . . . . . . . . . . . . . . 70création . . . . . . . . . . . . . . . . . 73liaison de tables . . . . . . . . . . . . . . . 70modification . . . . . . . . . . . . . . . 74suppression . . . . . . . . . . . . . . . . 74

index secondaire composite. . . . . . . . . . . . . 70création . . . . . . . . . . . . . . . . . 73

index secondaires . . . . . . . . . . . . . . . 203filtres . . . . . . . . . . . . . . . . . 115tri . . . . . . . . . . . . . . . . . . 115

inférieur à (requête QBE) . . . . . . . . . . . . . 380inférieur ou égal à (requête QBE) . . . . . . . . . . . 380Info structure . . . . . . . . . . . . . . . . 104

Index xv

Index

INSERE.DB . . . . . . . . . . . . . . . . 425INSÉRER (QBE) . . . . . . . . . . . . . . 423, 425insertion . . . . . . . . . . . . . . . . . 173

enregistrement . . . . . . . . . . . . . . . 174objet OLE incorporé . . . . . . . . . . . . . 538objet OLE lié . . . . . . . . . . . . . . . 542objet OLE lié à un fichier . . . . . . . . . . . . 542objet OLE lié à une partie d�un fichier . . . . . . . . . 543pages . . . . . . . . . . . . . . . . . 267saut de page . . . . . . . . . . . . . . . 306

insertion d�enregistrements (requête QBE) . . . . . . . 425 - 426insertion de graphique

.JPG . . . . . . . . . . . . . . . . . 479insertion de valeurs (requête QBE) . . . . . . . . . . 423insertion de valeurs (requêtes QBE) . . . . . . . . . . 425InstallAnywhere . . . . . . . . . . . . . . . 18intégrité référentielle . . . . . . . . . . . 37, 92, 99, 205

affichage . . . . . . . . . . . . . . . . 127copie . . . . . . . . . . . . . . . . . 92création et suppression . . . . . . . . . . . . . 94index . . . . . . . . . . . . . . . . . 92intégrité référentielle automatique . . . . . . . . . . 92mise à jour . . . . . . . . . . . . . . . . 95modification . . . . . . . . . . . . . . . 95règles . . . . . . . . . . . . . . . . . 92restructuration de table . . . . . . . . . . . . 126table dépendante . . . . . . . . . . . . . . 127table enfant . . . . . . . . . . . . . . . 127tables enfant . . . . . . . . . . . . . . 92, 94

intégrité référentielle stricte . . . . . . . . . . . . 95interligne vertical

règle complète . . . . . . . . . . . . . . . 231Inverse vidéo . . . . . . . . . . . . . . . . 483

JJRun . . . . . . . . . . . . . . . . . . 18

Llettre type

émulation avec des objets texte . . . . . . . . . . 514liaison. . . . . . . . . . . . . . . . . 70, 203

champ . . . . . . . . . . . . . . . . . 207création . . . . . . . . . . . . . . . . 205définition . . . . . . . . . . . . . . . . 206états . . . . . . . . . . . . . . . . . 203fiches . . . . . . . . . . . . . . . . . 203

index . . . . . . . . . . . . . . . . . 207objet OLE . . . . . . . . . . . . . 537, 542 - 543retrait . . . . . . . . . . . . . . . . . 206types . . . . . . . . . . . . . . . . . 203

liaison de tables. . . . . . . . . . . . . 203, 207, 361libellé . . . . . . . . . . . . . . . . . . 290

affichage . . . . . . . . . . . . . . . . 290ajout à une fiche ou un état . . . . . . . . . . . 511bande . . . . . . . . . . . . . . . . . 290modification des boutons . . . . . . . . . . . . 453

libellé de bande . . . . . . . . . . . . . . . 290affichage . . . . . . . . . . . . . . . . 290

libellé de champ . . . . . . . . . . . . . . . 218affichage . . . . . . . . . . . . . . . . 218masquage . . . . . . . . . . . . . . . . 218

liensuppression d�un lien DDE . . . . . . . . . . . . 553

lien entre tablesrègle (QBE) . . . . . . . . . . . . . . . 419

liens . . . . . . . . . . . . . . . . . . 39liens avec tous les enregistrements d�une table (exemple QBE) . . . 420liens avec tous les enregistrements d�une table (QBE) . . . . . . 419liens entre tables

commande joindre . . . . . . . . . . . . . . 362requête. . . . . . . . . . . . . . . . . 362

liens hypertexte . . . . . . . . . . . . . 67, 232, 562désactivation . . . . . . . . . . . . . . . 232fonctions . . . . . . . . . . . . . . . . 562insertion . . . . . . . . . . . . . . . . 563

liens inclusifs (QBE) . . . . . . . . . . . . . 402, 418liens avec tous les enregistrements . . . . . . . . . . 419

ligne . . . . . . . . . . . . . . . 219, 436, 438création . . . . . . . . . . . . . . . . 438elliptique . . . . . . . . . . . . . . . . 438exemple . . . . . . . . . . . . . . . . 312grille . . . . . . . . . . . . . . . . . 231insertion de flèches . . . . . . . . . . . . . 438normale . . . . . . . . . . . . . . . . 438objet décalé . . . . . . . . . . . . . . . 309redimensionnement . . . . . . . . . . . . . 438

lignes . . . . . . . . . . . . . . . . . . 63colonnes . . . . . . . . . . . . . . . . 133modification de l�aspect . . . . . . . . . . . . 133objet de conception . . . . . . . . . . . . . 252objet de conception imbriqué . . . . . . . . . . . 252redimensionnement . . . . . . . . . . . . . 135

Lotus 1-2-3exportation de données vers . . . . . . . . . . . 531

xvi Index

Index

importation de données . . . . . . . . . . . . 523

Mmarges

icône . . . . . . . . . . . . . . . . . 230modification . . . . . . . . . . . . . . . 230par défaut . . . . . . . . . . . . . . . . 230

marqueur d�enregistrementmodification . . . . . . . . . . . . . . . 138

masquageobjet graphique . . . . . . . . . . . . . . 484

MAXexemples . . . . . . . . . . . . . . . . 407requêtes sur groupe (QBE). . . . . . . . . . . . 407

maximumsdétermination de la valeur la plus élevée parmi deux valeurs . . . 474

mémoaffichage . . . . . . . . . . . . . . . . 281

menu personnalisé. . . . . . . . . . . . . . . 317affichage . . . . . . . . . . . . . . . . 317

menu standard . . . . . . . . . . . . . . . 315message

envoi . . . . . . . . . . . . . . . . . 553méthode . . . . . . . . . . . . . . . . . 255

association . . . . . . . . . . . . . . . . 261modification des contrôles ActiveX . . . . . . . . . . 504ObjectPAL . . . . . . . . . . . . . . . . 261

méthode Query by example . . . . . . . . . . . . 351méthodes numériques

utilisation dans des champs calculés . . . . . . . . . 472MIN

exemples . . . . . . . . . . . . . . . . 407requêtes sur groupe (QBE). . . . . . . . . . . . 407

minimumsdétermination de la valeur la plus faible parmi deux valeurs . . . 474

mise à jour . . . . . . . . . . . . . . . 95, 545cascade . . . . . . . . . . . . . . . . . 95interdite. . . . . . . . . . . . . . . . . 95objet OLE lié . . . . . . . . . . . . . . 546 - 547

mise en majusculescontrôle à l�aide de champs calculés . . . . . . . . . 478

mise en mosaïquepage de fiche . . . . . . . . . . . . . . . 269

mise en page . . . . . . . . . . . . . . . . 265défaut . . . . . . . . . . . . . . . . . 266fiche . . . . . . . . . . . . . . . . . 266impression . . . . . . . . . . . . . . 265, 282

modification . . . . . . . . . . . . . . 266, 288mode Affichage . . . . . . . . . . . . . . . 168mode Édition . . . . . . . . . . . . . . . . 168modèle

création . . . . . . . . . . . . . . . . . 81modèle de chaîne de contrôle de validité . . . . . . . . . 81modèle relationnel. . . . . . . . . . . . . . . 199

affichage . . . . . . . . . . . . . . . . 208ajout de tables . . . . . . . . . . . . . . . 207application des modifications . . . . . . . . . . . 211complexe . . . . . . . . . . . . . . . . 199création . . . . . . . . . . . . . . . 199, 201groupe . . . . . . . . . . . . . . . . . 199impression . . . . . . . . . . . . . . . . 212modification . . . . . . . . . . . . . . . 211mono-table . . . . . . . . . . . . . . . 199multi-table. . . . . . . . . . . . . . . . 199ouverture . . . . . . . . . . . . . . . . 201référence . . . . . . . . . . . . . . . . 202requête. . . . . . . . . . . . . . . . . 201suppression de tables . . . . . . . . . . . . . 207table . . . . . . . . . . . . . . . . . 202

modèle relationnel de référenceenregistrement . . . . . . . . . . . . . . . 212enregistrement des modifications . . . . . . . . . . 212impression . . . . . . . . . . . . . . . . 212

modèles relationnels . . . . . . . . . . . . . . 40modification . . . . . . . . . . . . . . . . 168

affectation de nom . . . . . . . . . . . . . . 255alias. . . . . . . . . . . . . . . . . . 59alias de table . . . . . . . . . . . . . . . 210alignement de texte . . . . . . . . . . . . . 230bande . . . . . . . . . . . . . . . 289 - 290bande de groupe . . . . . . . . . . . . . . 303boîte de dialogue . . . . . . . . . . . . . . 271champs . . . . . . . . . . . . . . . . 168clé . . . . . . . . . . . . . . . . . . 124en-tête . . . . . . . . . . . . . . . . . 293état . . . . . . . . . . . . . . . . . 284état distribué. . . . . . . . . . . . . . 314 - 315états . . . . . . . . . . . . . . . . . 222événements d�un contrôle ActiveX . . . . . . . . . . 504fenêtre . . . . . . . . . . . . . . . . . 271fiche . . . . . . . . . . . . . . . . . 262fiche existante . . . . . . . . . . . . . . . 262fiches . . . . . . . . . . . . . . . . . 222forme par défaut . . . . . . . . . . . . . . 249index secondaire . . . . . . . . . . . . . . 74

Index xvii

Index

mise en page . . . . . . . . . . . . . . 266, 288modèle relationnel . . . . . . . . . . . . . . 211numéro de page . . . . . . . . . . . . . . 297objet champ . . . . . . . . . . . . . . . 249objet de conception . . . . . . . . . 239 - 240, 249, 258objet OLE . . . . . . . . . . . . . . . . 544objet texte . . . . . . . . . . . . . . . . 513ordre de tabulation . . . . . . . . . . . . . 274ordre de tabulation pendant l�exécution . . . . . . . . 275outil de conception. . . . . . . . . . . . . . 224outils . . . . . . . . . . . . . . . . . 227propriétés . . . . . . . . . . . . . . . . 258propriétés d�état . . . . . . . . . . . . . . 316propriétés d�un objet de conception . . . . . . . . . 258propriétés de bande . . . . . . . . . . . . . 316propriétés de fiche . . . . . . . . . . . . . . 277propriétés de page de fiche . . . . . . . . . . . . 277propriétés propagées. . . . . . . . . . . . 259 - 260taille par défaut . . . . . . . . . . . . . . 249vue de requête reliée (QBE) . . . . . . . . . . . 374

modification d�enregistrements (requête QBE) . . . . . . . 432modification d�un objet de conception. . . . . . . . . . 239modification de champs . . . . . . . . . . . . . 168

champs sans libellés . . . . . . . . . . . . . 168modification de mise en page . . . . . . . . . . . . 288modification de nom . . . . . . . . . . . . . . 124

champ . . . . . . . . . . . . . . . . . 124modification de valeurs (requête QBE) . . . . . . . . . 431modification de valeurs (requêtes QBE) . . . . . . . . . 432modification des données . . . . . . . . . . . . . 167modification des propriétés

Explorateur d�objet . . . . . . . . . . . . . 258MODIFIE.DB . . . . . . . . . . . . . . . . 431mono-enregistrement

objet . . . . . . . . . . . . . . . . . 213mono-table

modèle relationnel . . . . . . . . . . . . . . 199mosaïque . . . . . . . . . . . . . . . . . 269

page de fiche . . . . . . . . . . . . . . . 269mot

ajout au dictionnaire . . . . . . . . . . . . . 185ignorer . . . . . . . . . . . . . . . . . 182remplacement . . . . . . . . . . . . . . . 182

mot de passe . . . . . . . . . . . . . . 87, 89 - 90accès aux tables . . . . . . . . . . . . . . . 87création . . . . . . . . . . . . . . . . . 88principal . . . . . . . . . . . . . . . 87 - 88retrait . . . . . . . . . . . . . . . . . 89

saisie et réactivation . . . . . . . . . . . . . 89secondaire . . . . . . . . . . . . . . . . 87

mot de passe principal . . . . . . . . . . . . . . 87modification et suppression . . . . . . . . . . . . 90

mot de passe secondaire . . . . . . . . . . . . . 87création . . . . . . . . . . . . . . . . . 91modification. . . . . . . . . . . . . . . . 91suppression . . . . . . . . . . . . . . . . 91

mot réservé dans les critères de sélection . . . . . . . . . 360mots de passe

attribution à un champ . . . . . . . . . . . . 463multi-enregistrement

objet . . . . . . . . . . . . . . . . . 213multiple

bande de groupe . . . . . . . . . . . . . . 303multi-table

modèle relationnel . . . . . . . . . . . . . . 199

Nnavigation

page de classeur . . . . . . . . . . . . . . 492Négatif/transparent . . . . . . . . . . . . . . 483nom de champ. . . . . . . . . . . . . . . . 218

affichage . . . . . . . . . . . . . . . . 218masquage . . . . . . . . . . . . . . . . 218

NOMBREexemples . . . . . . . . . . . . . . . . 404requêtes sur groupe (QBE). . . . . . . . . . . . 404

nombresdétection avec opérateur générique (QBE) . . . . . . . . 384

non-correspondance (requête QBE) . . . . . . . . . . 381non-correspondance de requête (QBE) . . . . . . . . . 381nouveau nom

table . . . . . . . . . . . . . . . . . 160nouvelle . . . . . . . . . . . . . . . . . 353numérotation des pages . . . . . . . . . . . . . 297

modification . . . . . . . . . . . . . . . 297NWC . . . . . . . . . . . . . . . . . . 497

OObjectPAL . . . . . . . . . . . . . 42, 255, 261, 317

bibliothèques . . . . . . . . . . . . . . . 48impression du code associé à des fiches . . . . . . . . 478introduction. . . . . . . . . . . . . . . . 42méthode . . . . . . . . . . . . . . . . 261OPAL . . . . . . . . . . . . . . . . . 42

xviii Index

Index

scripts . . . . . . . . . . . . . . . . . 48SQL . . . . . . . . . . . . . . . . . . 48

objet . . . . . . . . . . . . . . . . . . 308affichage . . . . . . . . . . . . . . . . 219agrandi . . . . . . . . . . . . . . . . 308conteneur rassemblant des objets . . . . . . . . . . 313décalé . . . . . . . . . . . . . . . . . 308déplacement . . . . . . . . . . . . . . . 246erreur d�exécution . . . . . . . . . . . . . . 308imbriqué . . . . . . . . . . . . . . . 233, 252redimensionnement . . . . . . . . . . . . . 267

objet agrandi . . . . . . . . . . . . . . . . 308modification . . . . . . . . . . . . . . . 308

objet cadre de table . . . . . . . . . . . . . 504 - 505affichage de tous les enregistrements . . . . . . . . . 506affichage de toutes les colonnes . . . . . . . . . . 506ajout d�une colonne . . . . . . . . . . . . . 507combinaison de champs dans une colonne . . . . . . . . 510définition du style de grille. . . . . . . . . . . . 509déplacement d�une colonne . . . . . . . . . . . 507déplacement des champs . . . . . . . . . . . . 507dissociation des en-têtes . . . . . . . . . . . . 508empilement de champs dans une colonne . . . . . . . . 510insertion dans une fiche ou un état. . . . . . . . . . 505modification . . . . . . . . . . . . . . . 507modification du nom d�une colonne . . . . . . . . . 507redimensionnement de l�en-tête . . . . . . . . . . 508relation avec le modèle relationnel courant . . . . . . . 505répétition des en-têtes . . . . . . . . . . . . . 508suppression d�une colonne . . . . . . . . . . . . 507

objet champdimensionnement . . . . . . . . . . . . . . 249

objet classeur . . . . . . . . . . . . . . . . 490barre de défilement . . . . . . . . . . . . . 495déplacement . . . . . . . . . . . . . . . 495déplacement à l�intérieur . . . . . . . . . . . . 492insertion d�objet . . . . . . . . . . . . . . 493insertion d�une barre de défilement . . . . . . . . . 496modification de l�aspect . . . . . . . . . . . . 495modification de la hauteur des onglets . . . . . . . . . 495modification de la taille . . . . . . . . . . . . 495modification des libellés . . . . . . . . . . . . 493navigation . . . . . . . . . . . . . . . . 492propriété Sélection depuis l�intérieur . . . . . . . . . 491redimensionnement . . . . . . . . . . . . . 495sélection . . . . . . . . . . . . . . . . 491taille des onglets . . . . . . . . . . . . . . 495

objet de conception . . . . . . . . 223, 239, 250, 253, 258, 435

affectation d�un nom . . . . . . . . . . . . . 255affichage . . . . . . . . . . . . . . . . 244affichage des propriétés . . . . . . . . . . . . 244ajustement. . . . . . . . . . . . . . . . 248alignement . . . . . . . . . . . . . . 246 - 247arrière-plan . . . . . . . . . . . . . . . 243attachement . . . . . . . . . . . . . . . 310conteneur . . . . . . . . . . . . . . . . 243contour . . . . . . . . . . . . . . . . 245création . . . . . . . . . . . . . . . . 239déplacement . . . . . . . . . . . . 245 - 246, 248désélection . . . . . . . . . . . . . . . . 239duplication. . . . . . . . . . . . . . . . 242espacement . . . . . . . . . . . . . . . 248fiche . . . . . . . . . . . . . . . . . 239forme par défaut . . . . . . . . . . . . . . 249insertion dans un classeur . . . . . . . . . . . . 493modification . . . . . . . . . . . . 239 - 240, 249non modifiable. . . . . . . . . . . . . . . 240non sélectionnable . . . . . . . . . . . . . . 240placement . . . . . . . . . . . . . 241 - 243, 248premier plan . . . . . . . . . . . . . . . 243propriétés . . . . . . . . . . . . . . . . 244redimensionnement . . . . . . . . . . . . . 245règle . . . . . . . . . . . . . . . . . 226regroupement . . . . . . . . . . . . 205, 241, 243sélection . . . . . . . . . . . . . . . . 253sélection par défaut . . . . . . . . . . . . . 239superposition . . . . . . . . . . . . . . 241, 243taille par défaut . . . . . . . . . . . . . 239, 249

objet de conception imbriqué . . . . . . . . . . . . 253colonne . . . . . . . . . . . . . . . . 252création . . . . . . . . . . . . . . . . 252grilles . . . . . . . . . . . . . . . . . 252lignes . . . . . . . . . . . . . . . . . 252sélection . . . . . . . . . . . . . . . . 253

objet de conception non modifiable . . . . . . . . . . 240objet de conception non sélectionnable . . . . . . . . . 240objet décalé . . . . . . . . . . . . . . . 308 - 309

alignement. . . . . . . . . . . . . . . . 309conteneur rassemblant des objets . . . . . . . . . . 313exemple . . . . . . . . . . . . . . . . 311ligne . . . . . . . . . . . . . . . . . 309masquage des lignes . . . . . . . . . . . . . 309modification . . . . . . . . . . . . . . . 308objets multiples . . . . . . . . . . . . . . 309

objet graphique . . . . . . . . . . . . . . . 479.JPG . . . . . . . . . . . . . . . . . 479

Index xix

Index

applications serveur . . . . . . . . . . . . . 479cadre . . . . . . . . . . . . . . . . . 480création de cadre . . . . . . . . . . . . . . 480définition . . . . . . . . . . . . . . . . 480déplacement . . . . . . . . . . . . . . . 481Effets visuels . . . . . . . . . . . . . . . 483enregistrement . . . . . . . . . . . . . . . 481fond transparent . . . . . . . . . . . . . . 484insertion dans un cadre . . . . . . . . . . . . 480insertion dans une fiche ou un état . . . . . . . . . 480insertion sur un bouton . . . . . . . . . . . . 481manipulation . . . . . . . . . . . . . . . 483masquage . . . . . . . . . . . . . . . . 484modification de l�apparence d�un . . . . . . . . . . 483modification de l�aspect . . . . . . . . . . . . 484redimensionnement . . . . . . . . . . . . 480, 482rognage . . . . . . . . . . . . . . . . 482

objet imbriqué . . . . . . . . . . . . . . 233, 436déplacement . . . . . . . . . . . . . . . 254sélectionné . . . . . . . . . . . . . . . . 233suppression . . . . . . . . . . . . . . . 254

objet multi-enregistrement . . . . . . . . . 239, 485 - 486affichage de tous les enregistrements et de toutes les colonnes . . . 489agrandissement et rétrécissement des enregistrements. . . . . 488barre de défilement . . . . . . . . . . . . . 256définition . . . . . . . . . . . . . . . . 486définition de la disposition de l�enregistrement . . . . . . 487définition de la disposition des champs . . . . . . . . 487insertion dans un état . . . . . . . . . . . . . 486insertion dans une fiche . . . . . . . . . . . . 486redimensionnement des enregistrements . . . . . . . . 488

objet OLE . . . . . . . . . . . . . . . . . 536barre de défilement . . . . . . . . . . . . . 256incorporation d�un fichier . . . . . . . . . . . . 540incorporation d�un nouvel objet . . . . . . . . . . 538incorporation d�une partie de fichier . . . . . . . . . 540incorporation d�une table . . . . . . . . . . . . 541incorporation dans un champ . . . . . . . . . . . 538incorporé . . . . . . . . . . . . . . . . 537insertion d�un objet lié . . . . . . . . . . . . . 542insertion d�un objet lié à une partie d�un fichier . . . . . . 543lié . . . . . . . . . . . . . . . . . . 537manipulation . . . . . . . . . . . . . . . 544mise à jour d�un lien. . . . . . . . . . . . 545 - 546mise à jour manuelle d�un lien . . . . . . . . . . . 547redimensionnement . . . . . . . . . . . . . 482rognage . . . . . . . . . . . . . . . . 482

objet texte . . . . . . . . . . . . . . . 239, 511

barre de défilement . . . . . . . . . . . . . 256choix de la police . . . . . . . . . . . . . . 517choix des caractères . . . . . . . . . . . . . 517contrôle de l�agrandissement . . . . . . . . . . . 519contrôle du rétrécissement . . . . . . . . . . . . 519création sans définir la taille du cadre . . . . . . . . . 511définition de la taille du cadre . . . . . . . . . . . 511insertion dans une fiche ou un état . . . . . . . . . . 511modification . . . . . . . . . . . . . . . 513modification de l�aspect . . . . . . . . . . . . 517modification des propriétés . . . . . . . . . . . 516option agrandir uniquement . . . . . . . . . . . 519option taille fixe . . . . . . . . . . . . . . 519propriété ajuster le texte . . . . . . . . . . . 513, 519propriété Texte continu . . . . . . . . . . . 511 - 512propriétés . . . . . . . . . . . . . . . . 516

objets . . . . . . . . . . . . . . . . . . 234affichage . . . . . . . . . . . . . . . . 234contours . . . . . . . . . . . . . . . . 234déplacement . . . . . . . . . . . . . . 234, 245redimensionnement . . . . . . . . . . . . 234, 245

objets de conceptionajout à un cadre de table . . . . . . . . . . . . 510cadres . . . . . . . . . . . . . . . . . 244conteneurs . . . . . . . . . . . . . . . . 251couleur. . . . . . . . . . . . . . . . . 218création . . . . . . . . . . . . . . . . 223redimensionnement . . . . . . . . . . . . . 218règle . . . . . . . . . . . . . . . . . 226style . . . . . . . . . . . . . . . . . 218

objets de conception multiples . . . . . . . . . . . 250création . . . . . . . . . . . . . . . . 242espacement . . . . . . . . . . . . . . . 250

objets multi-enregistrement . . . . . . . . . . . . 251objets texte

alignement de texte . . . . . . . . . . . . . 517définition de l�interligne . . . . . . . . . . . . 518exemple d�insertion de champs dans des . . . . . . . . 514insertion de champs . . . . . . . . . . . . . 514propriété Comprimer la ligne . . . . . . . . . . . 514propriété Interligne . . . . . . . . . . . . . 518utilisation pour l�émulation de lettre type . . . . . . . . 514

OLE . . . . . . . . . . . . . . . . . 521, 535version 1.0 . . . . . . . . . . . . . . . . 547version 2.0 . . . . . . . . . . . . . . 547 - 548

OLE (Object Linking and Embedding) . . . . . . . . 497, 500propriétés ambiantes . . . . . . . . . . . . . 500

xx Index

Index

OPALObjectPAL . . . . . . . . . . . . . . . . 42

opérateurrequête . . . . . . . . . . . . . . . . 356requête (QBE) . . . . . . . . . . . . . . . 356

opérateur arithmétiqueet l�opérateur calc (QBE) . . . . . . . . . . . . 396

Opérateur booléenET . . . . . . . . . . . . . . . . . . 483OU . . . . . . . . . . . . . . . . . . 483OU exclusif. . . . . . . . . . . . . . . . 483

opérateur calc (QBE)avec différentes tables . . . . . . . . . . . . . 398et les opérateurs arithmétiques . . . . . . . . . . 396et valeur alphanumérique . . . . . . . . . . . . 397

opérateur cejour (QBE) . . . . . . . . . . . . . 382opérateur comme (QBE) . . . . . . . . . . . . . 379opérateur d�inclusion (QBE) . . . . . . . . . . . . 418opérateur de requête . . . . . . . . . . . . . . 356

priorité . . . . . . . . . . . . . . . . 358opérateur de requête (QBE) . . . . . . . . . . . . 356opérateur et (QBE)

champs différents . . . . . . . . . . . . . . 387opérateur générique

utilisation avec des dates (QBE) . . . . . . . . . . 385utilisation avec des nombres (QBE) . . . . . . . . . 384

opérateur maxrequête sur groupe (QBE) . . . . . . . . . . . . 403

opérateur minrequête sur groupe (QBE) . . . . . . . . . . . . 403

opérateur moyennerequête sur groupe (QBE) . . . . . . . . . . 403, 406

opérateur nombrerequête sur groupe (QBE) . . . . . . . . . . . . 403

opérateur ou (QBE) . . . . . . . . . . . . . . 388différent champs . . . . . . . . . . . . . . 389même champ . . . . . . . . . . . . . . . 388

opérateur récapitulatifcalcul avec . . . . . . . . . . . . . . . . 459définition . . . . . . . . . . . . . . 459 - 460définition avec référence à une page . . . . . . . . . 460impact de la modification des modèles relationnels . . . . . 460

Opérateur récapitulatif . . . . . . . . . . . . . 455exécution de calculs avec . . . . . . . . . . . . 455

opérateur REMPLACERPAR (QBE) . . . . . . . . . . . 431opérateur sauf (QBE) . . . . . . . . . . . . . . 381opérateur somme

requête sur groupe (QBE) . . . . . . . . . . 403, 405

opérateur SUPPRIMER (QBE) . . . . . . . . . . . . 428opérateurs . . . . . . . . . . . . . . 377, 380, 383opérateurs arithmétiques dans les requêtes (QBE) . . . . . . 377opérateurs d�inclusion (exemple QBE). . . . . . . . . . 422opérateurs de requête . . . . . . . . . . . . . . 377opérateurs récapitulatifs

utilisation de l�opérateur CALC (QBE) . . . . . . . . . 408Opérateurs récapitulatifs

calcul de moyennes . . . . . . . . . . . . . 460calcul du nombre de valeurs . . . . . . . . . . . 461

option requête rapide (requête QBE) . . . . . . . . . . 400options

impression . . . . . . . . . . . . . . . . 320ordre

champ . . . . . . . . . . . . . . . . . 216ordre de tabulation . . . . . . . . . . . . . 251, 274

changement . . . . . . . . . . . . . . . 274exécution . . . . . . . . . . . . . . . . 275fiche . . . . . . . . . . . . . . . . . 272modification . . . . . . . . . . . . . . . 274paramètres. . . . . . . . . . . . . . . . 274tabulation . . . . . . . . . . . . . . . . 275

ordre de tabulation pendant l�exécution . . . . . . . . . 275bouton . . . . . . . . . . . . . . . . . 275

ordre des opérateurs (QBE) . . . . . . . . . . . . 424ordre des opérations (QBE) . . . . . . . . . . . . 424Original et fond . . . . . . . . . . . . . . . 483orthographe . . . . . . . . . . . . . . . 181 - 183

langue . . . . . . . . . . . . . . . . . 184OU . . . . . . . . . . . . . . . . . . 483OU exclusif . . . . . . . . . . . . . . . . 483outil

propriétés . . . . . . . . . . . . . . . . 224outil Bouton . . . . . . . . . . . . . . . . 441outil Cadre de table . . . . . . . . . . . . . . 505outil Champ . . . . . . . . . . . . . . . . 448outil Classeur . . . . . . . . . . . . . . . . 491outil de conception . . . . . . . . . . . . . . 223

modification . . . . . . . . . . . . . . . 224outil de développement . . . . . . . . . . . . . 261outil ellipse . . . . . . . . . . . . . . . . 438outil Ellipse . . . . . . . . . . . . . . . . 436outil Graphe . . . . . . . . . . . . . . . . 445outil Ligne . . . . . . . . . . . . . . . 436, 438outil Multi-enregistrement . . . . . . . . . . . . 486outil Page . . . . . . . . . . . . . . . . . 225outil Référence croisée . . . . . . . . . . . . . 446outil Texte . . . . . . . . . . . . . . . . . 511

Index xxi

Index

outil zone . . . . . . . . . . . . . . . . . 437outil Zone . . . . . . . . . . . . . . . . . 436outils

disposition . . . . . . . . . . . . . . . . 227modification . . . . . . . . . . . . . . . 227plusieurs . . . . . . . . . . . . . . . . 223unique . . . . . . . . . . . . . . . . . 223

outils actifs . . . . . . . . . . . . . . . . 223ouverture

aide contextuelle . . . . . . . . . . . . . . 17état . . . . . . . . . . . . . . . . 283 - 285état existant . . . . . . . . . . . . . . . 286fiche existante . . . . . . . . . . . . . . . 264requêtes . . . . . . . . . . . . . . . . 355

Ppage d�une fiche

déplacement dans . . . . . . . . . . . . . . 274page de classeur . . . . . . . . . . . . . . . 493

ajout . . . . . . . . . . . . . . . . . 493collage . . . . . . . . . . . . . . . . . 494copie . . . . . . . . . . . . . . . . . 494déplacement . . . . . . . . . . . . . . . 494déplacement entre . . . . . . . . . . . . . . 492insertion d�objet . . . . . . . . . . . . . . 493modification des libellés . . . . . . . . . . . . 493nombre par défaut . . . . . . . . . . . . . . 493rotation . . . . . . . . . . . . . . . . 494sélection . . . . . . . . . . . . . . . . 491suppression . . . . . . . . . . . . . . . 493

pagesdéplacement dans . . . . . . . . . . . . . . 274disposition . . . . . . . . . . . . . . . . 287insertion . . . . . . . . . . . . . . . . 267

pages de fichespropriétés . . . . . . . . . . . . . . . . 277

pages multiplesaffichage . . . . . . . . . . . . . . . . 267

palette champ. . . . . . . . . . . . . . . . 449par défaut . . . . . . . . . . . . . . . . . 136

contrôle de validité . . . . . . . . . . . . . . 80copie de propriétés . . . . . . . . . . . . . . 136création d�une table . . . . . . . . . . . . . 136police . . . . . . . . . . . . . . . . . 142

Paradoxclient DDE (requêtes) . . . . . . . . . . . . . 551client DDE (tables). . . . . . . . . . . . . . 550

client et serveur (requêtes). . . . . . . . . . . . 551en tant que serveur DDE . . . . . . . . . . . . 550objets . . . . . . . . . . . . . . . . . 43serveur DDE . . . . . . . . . . . . . . . 549

Paradox VCRcontrôle ActiveX . . . . . . . . . . . . . . 502

paramètres . . . . . . . . . . . . . . 232, 235, 305fenêtre de fiche. . . . . . . . . . . . . . . 281ordre de tabulation . . . . . . . . . . . . . 274préférences. . . . . . . . . . . . . . . . 235préférences d�impression . . . . . . . . . . . . 305préférences par défaut . . . . . . . . . . . . . 235

Pas d�effacement original . . . . . . . . . . . . . 483personnalisation . . . . . . . . . . . . . . 48, 225

espace de travail . . . . . . . . . . . . . . 223format de données. . . . . . . . . . . . . 146, 151préférences du bureau . . . . . . . . . . . . . 48préférences ObjectPAL . . . . . . . . . . . . . 51

placementduplication d�un objet de conception . . . . . . . . . 242

placement des enregistrements détail . . . . . . . . . . 221placement des tabulations

règle complète . . . . . . . . . . . . . . . 228placer

barre de défilement . . . . . . . . . . . . . 256police . . . . . . . . . . . . . . . . . . 142

par défaut . . . . . . . . . . . . . . . . 142portée

définition . . . . . . . . . . . . . . . . 456position

barres de défilement . . . . . . . . . . . . . 257préférences

fenêtre de conception . . . . . . . . . . . . . 232paramètres . . . . . . . . . . . . . 232, 234 - 235

préférences de requête ou requête par défaut (QBE) . . . . . . 399préférences du bureau . . . . . . . . . . . . . . 48préférences ObjectPAL . . . . . . . . . . . . . . 51

affichage . . . . . . . . . . . . . . . . 51couleurs . . . . . . . . . . . . . . . . . 51créateur . . . . . . . . . . . . . . . . . 51Explorateur d�objet . . . . . . . . . . . . . . 51générales . . . . . . . . . . . . . . . . 51

préférences par défautparamètres. . . . . . . . . . . . . . . . 235

prévisualisationétat . . . . . . . . . . . . . . . . . 317

prioritéopérateur de requête . . . . . . . . . . . . . 358

xxii Index

Index

programmationboutons . . . . . . . . . . . . . . . . 444contrôle Paradox VCR . . . . . . . . . . . . . 502

propriétéeffet visuel . . . . . . . . . . . . . . . . 485

propriété Afficher tous les enregistrementsobjet cadre de table . . . . . . . . . . . . . 506objet multi-enregistrement . . . . . . . . . . . 489

propriété Afficher toutes les colonnesobjet cadre de table . . . . . . . . . . . . . 506

propriété Ajuster la taille . . . . . . . . . . . 480, 482cadres de table. . . . . . . . . . . . . . . 505

propriété d�un enregistrement de cadre de tablemodification . . . . . . . . . . . . . . . 507

propriété d�un en-tête de cadre de tablemodification . . . . . . . . . . . . . . . 507

propriété d�une grille de cadre de tablemodification . . . . . . . . . . . . . . . 507

propriété Diviseur d�enregistrementobjet cadre de table . . . . . . . . . . . . . 510

propriété en colonnesobjet multi-enregistrement . . . . . . . . . . . 488

propriété Hauteur variableobjet multi-enregistrement . . . . . . . . . . . 488

propriété Interligneobjets texte. . . . . . . . . . . . . . . . 518

propriété Pas d�échomasquage du contenu d�un champ avec . . . . . . . . 463

propriété Répéter l�en-têteobjet cadre de table . . . . . . . . . . . . . 508

propriété Texte continuobjet texte . . . . . . . . . . . . . . 511 - 512

propriétés . . . . . . . . . . . . . . . 235, 315ajuster la taille . . . . . . . . . . . . . . . 315alignement . . . . . . . . . . . . . . . . 135bande . . . . . . . . . . . . . . . . 290, 315barre de défilement . . . . . . . . . . . . . 315barre de titre . . . . . . . . . . . . . . . 269barres de défilement . . . . . . . . . . . . . 257cadre . . . . . . . . . . . . . . . . . 269contrôle des répétitions de groupe . . . . . . . . . . 315couleur . . . . . . . . . . . . . . . . . 135état . . . . . . . . . . . . . . . . 315, 317fenêtre . . . . . . . . . . . . . . . . . 269fiches . . . . . . . . . . . . . . . . . 277imbriquer les objets . . . . . . . . . . . . . 251menu standard . . . . . . . . . . . . . . . 315modification . . . . . . . . . . . . . . . 258

objet de conception . . . . . . . . . . . . . 244pages de fiche . . . . . . . . . . . . . . . 277par défaut . . . . . . . . . . . . . . . . 224quadrillage. . . . . . . . . . . . . . . . 135rétrécissement . . . . . . . . . . . . . . . 315rupture. . . . . . . . . . . . . . . . . 315texte . . . . . . . . . . . . . . . . . 135

propriétéspropagées . . . . . . . . . . . . . . . . 259

propriétés d�étatmodification . . . . . . . . . . . . . . . 316

propriétés d�un champ . . . . . . . . . . . . . 135modification . . . . . . . . . . . . . . . 135

propriétés d�un objet de conceptionmodification . . . . . . . . . . . . . . . 258

propriétés d�une requête (QBE) . . . . . . . . . . . 399propriétés d�une table . . . . . . . . . . . . . . 135

modification . . . . . . . . . . . . . . . 135propriétés d�une table réponse (QBE) . . . . . . . . . . 399propriétés d'alignement . . . . . . . . . . . . . 135propriétés de couleur . . . . . . . . . . . . . . 135propriétés de fiche

modification . . . . . . . . . . . . . . . 277propriétés de page de fiche

modification . . . . . . . . . . . . . . . 277propriétés de table . . . . . . . . . . . . . . 209

affichage . . . . . . . . . . . . . . . . 209ajout automatique . . . . . . . . . . . . . . 209Concepteur de modèle relationnel . . . . . . . . . . 209fiches . . . . . . . . . . . . . . . . . 209filtre . . . . . . . . . . . . . . . . . 209lecture seule . . . . . . . . . . . . . . . 209traduction exacte . . . . . . . . . . . . . . 209

propriétés dépendant des données . . . . . . . . . . . 135propriétés des requêtes distantes (QBE) . . . . . . . . . 401propriétés des tables auxiliaires (requête QBE) . . . . . . . 400propriétés grille . . . . . . . . . . . . . . . 135propriétés par défaut . . . . . . . . . . . . . . 224propriétés propagées . . . . . . . . . . . . 259 - 260

état . . . . . . . . . . . . . . . . . 260fiche . . . . . . . . . . . . . . . . . 260modification . . . . . . . . . . . . . . 259 - 260objet . . . . . . . . . . . . . . . . . 260

propriétés texte . . . . . . . . . . . . . . . 135protection

fiches . . . . . . . . . . . . . . . . . 276protocole TCP/IP . . . . . . . . . . . . . . . 559

Index xxiii

Index

publicationRTF. . . . . . . . . . . . . . . . . . 322

publication au format HTMLétats . . . . . . . . . . . . . . . . . 557fiches . . . . . . . . . . . . . . . . . 558tables . . . . . . . . . . . . . . . . . 557

QQBE . . . . . . . . . . . . . . . . . . 351Quattro Pro

DDE . . . . . . . . . . . . . . . . . 550exportation de données vers . . . . . . . . . . . 531importation de données . . . . . . . . . . . . 523

RR. I. Strict . . . . . . . . . . . . . . . . . 95raccourci

saisie des données . . . . . . . . . . . . . . 172récapitulatifs

ensemble (QBE) . . . . . . . . . . . . . . 416récapitulatifs d�un ensemble (QBE) . . . . . . . . . . 416recherche . . . . . . . . . . . . . . . . . 187

champ . . . . . . . . . . . . . . . . . 187enregistrement . . . . . . . . . . . . . 187, 190

recherche et remplacement . . . . . . . . . . . . 187enregistrement . . . . . . . . . . . . . . . 190texte . . . . . . . . . . . . . . . . . 190valeur d�un champ . . . . . . . . . . . . . . 189

reconstruction d�une table. . . . . . . . . . . . . 130récupération

table . . . . . . . . . . . . . . . . . 130redimensionnement

bande . . . . . . . . . . . . . . . . . 291classeurs . . . . . . . . . . . . . . . . 491enregistrement d�un objet multi-enregistrement . . . 485 - 486, 488hauteur d�une ligne d�une table . . . . . . . . . . 507largeur d�une colonne d�une table . . . . . . . . . . 507objet . . . . . . . . . . . . . . . . . 267objet classeur . . . . . . . . . . . . . . . 495objet graphique . . . . . . . . . . . . . . 482objet OLE . . . . . . . . . . . . . . . . 482objets . . . . . . . . . . . . . . . . . 245pages . . . . . . . . . . . . . . . . . 287

redimensionnement automatique d�une table . . . . . . . . 98réduction d�objet . . . . . . . . . . . . . . . 310

prévention . . . . . . . . . . . . . . . . 310

référence . . . . . . . . . . . . . . . . . 83intégrité référentielle . . . . . . . . . . . . . 83options . . . . . . . . . . . . . . . . . 83règles de définition . . . . . . . . . . . . . . 83

référence croisée . . . . . . . . . . 239, 323, 340 - 341, 446à deux dimensions . . . . . . . . . . . . . . 341à une dimension . . . . . . . . . . . . . . 341calcul . . . . . . . . . . . . . . . . . 348champ récapitulatif . . . . . . . . . . . . . 348consultation des données . . . . . . . . . . . . 344création . . . . . . . . . . . . . . . 344, 446définition . . . . . . . . . . . . . 340, 346 - 348définition des catégories . . . . . . . . . . . . 347définition des champs . . . . . . . . . . . . . 346définition des colonnes . . . . . . . . . . . . . 347définition des lignes . . . . . . . . . . . . . 347description . . . . . . . . . . . . . . . . 341enregistrement. . . . . . . . . . . . . . . 345exécution . . . . . . . . . . . . . . . . 344immédiate . . . . . . . . . . . . . . . . 107modification . . . . . . . . . . . . 349 - 350, 447multi-table. . . . . . . . . . . . . . . . 341propriétés . . . . . . . . . . . . . . . . 447redimensionnement . . . . . . . . . . . . . 446réorganisation des champs. . . . . . . . . . . . 350suppression de champ . . . . . . . . . . . . . 346table détail. . . . . . . . . . . . . . . . 341

référence croisée immédiate . . . . . . . . . . . . 107affichage . . . . . . . . . . . . . . . . 107

référence de tableaffichage dans le Concepteur de base de données visuel . . . . 100création . . . . . . . . . . . . . . . . . 86

références croiséesassociation de données . . . . . . . . . . . 345 - 346définition . . . . . . . . . . . . . . 345 - 346modification . . . . . . . . . . . . . . . 349modification de l�aspect . . . . . . . . . . . . 349modification de la taille . . . . . . . . . . . . 349

règle . . . . . . . . . . . . . . . . . . 226affichage . . . . . . . . . . . . . . . . 226complète . . . . . . . . . . . . 226 - 228, 230 - 231horizontale. . . . . . . . . . . . . . . . 226lien entre tables (QBE). . . . . . . . . . . . . 419objet de conception . . . . . . . . . . . . . 226verticale . . . . . . . . . . . . . . . . 226vue de requête reliée (QBE) . . . . . . . . . . . 373

règle complète . . . . . . . . . . . . . 227, 230 - 231ajout d�une indentation . . . . . . . . . . . . 230

xxiv Index

Index

alignement de texte . . . . . . . . . . . . . 230barres d�outils . . . . . . . . . . . . . . . 223interligne vertical . . . . . . . . . . . . . . 231placement des tabulations . . . . . . . . . . . . 228

Règle complète . . . . . . . . . . . . . . 517 - 518alignement de texte . . . . . . . . . . . . . 517définition de l�interligne . . . . . . . . . . . . 518

règlesaffichage . . . . . . . . . . . . . . . . 227complètes . . . . . . . . . . . . . . 517 - 518saisie des nombres dans les requêtes . . . . . . . . . 359

règles d�utilisation de l�opérateur CALC (QBE) . . . . . . . 395regroupement

objet de conception . . . . . . . . . . . . . 243regroupement par sélection

requête . . . . . . . . . . . . . . . . 365réinitialisation

champ . . . . . . . . . . . . . . . . . 216réinitialisation des numéros de pages . . . . . . . . . . 297

bande . . . . . . . . . . . . . . . . . 297relation d�imbrication. . . . . . . . . . . . . . 254

rupture . . . . . . . . . . . . . . . . 254suppression . . . . . . . . . . . . . . . 254

relation mono-valeur . . . . . . . . . . 199, 203, 205, 207relation multi-valeur . . . . . . . . . . . 203, 205, 207relation un-à-plusieurs . . . . . . . . . . . . . 156relations imbriquées . . . . . . . . . . . . . . 251

sans rupture . . . . . . . . . . . . . . . 251relations parent/enfant . . . . . . . . . . . 92, 94, 126remplacement de valeurs (requête QBE) . . . . . . . . . 423remplacement des définitions de grille . . . . . . . . . 226REMPLACERPAR (QBE) . . . . . . . . . . . . . 423réparation d�une table. . . . . . . . . . . . . . 130répertoire de travail

modification. . . . . . . . . . . . . . . . 57répertoire privé

définition . . . . . . . . . . . . . . . . 57répertoires . . . . . . . . . . . . . . . . . 56

répertoire de travail . . . . . . . . . . . . . . 57répertoire privé . . . . . . . . . . . . . . . 57

répétition de grouperetrait . . . . . . . . . . . . . . . . . 304

repousser un objet . . . . . . . . . . . . . . . 311représentation d�une fourchette de valeurs . . . . . . . . 392représentation de valeurs . . . . . . . . . . . . . 391requête . . . . . . . . . . . . . . . . 353, 401

création . . . . . . . . . . . . . . . . 353groupe (QBE) . . . . . . . . . . . . . . . 403

liens entre tables . . . . . . . . . . . . . . 362retrait d�une table . . . . . . . . . . . . . . 362

requête (QBE). . . . . . . . . . . . . . . . 377requête insérer (QBE)

exemple . . . . . . . . . . . . . . . . 427requête INSÉRER (QBE) . . . . . . . . . . . . . 425

exécution . . . . . . . . . . . . . . . . 426tables temporaires . . . . . . . . . . . . . . 425

requête remplacerparannulation . . . . . . . . . . . . . . . . 433multitable . . . . . . . . . . . . . . . . 434

requête REMPLACERPAR . . . . . . . . . . . . . 431exécution . . . . . . . . . . . . . . . . 432tables temporaires . . . . . . . . . . . . . . 431

requête remplacerpar (QBE)exemple . . . . . . . . . . . . . . . . 434

requête supprimer (QBE)annulation . . . . . . . . . . . . . . . . 430exemple . . . . . . . . . . . . . . . . 430restauration d�enregistrement . . . . . . . . . . . 430

requête SUPPRIMER (QBE) . . . . . . . . . . . . 428exécution . . . . . . . . . . . . . . . . 429tables temporaires . . . . . . . . . . . . . . 428

requête sur ensemble (QBE)définition d�un ensemble . . . . . . . . . . . . 412

requête sur groupe (QBE) . . . . . . . . . . . . . 403modificateur d�opérateur récapitulatif . . . . . . . . . 403opérateur max . . . . . . . . . . . . . . . 403opérateur min . . . . . . . . . . . . . . . 403opérateur moyenne . . . . . . . . . . . . 403, 406opérateur nombre . . . . . . . . . . . . . . 403opérateur somme . . . . . . . . . . . . . 403, 405restriction sur type de fichier . . . . . . . . . . . 403

requêtes . . . . . . . . . . . . . . . 47, 351, 361ajout de tables . . . . . . . . . . . . . . . 362avancées (QBE) . . . . . . . . . . . . . . 402choix des tables . . . . . . . . . . . . . . 361création à partir d�un état . . . . . . . . . . . . 354création à partir d�un modèle relationnel . . . . . . . . 354création à partir d�une autre requête . . . . . . . . . 354création à partir d�une fiche . . . . . . . . . . . 354création à partir d�une table . . . . . . . . . . . 353ensembles (QBE) . . . . . . . . . . . . . 402, 411exécution . . . . . . . . . . . . . . . . 355filtres . . . . . . . . . . . . . . . . 108, 110groupes (QBE) . . . . . . . . . . . . . . . 402liens inclusifs (QBE) . . . . . . . . . . . . 402, 418ouverture . . . . . . . . . . . . . . . . 355

Index xxv

Index

préférences du bureau . . . . . . . . . . . . . 48saisie de nombres . . . . . . . . . . . . . . 359sélection de champs . . . . . . . . . . . . 365 - 366

requêtes avancées (QBE) . . . . . . . . . . . . . 402requêtes multi-table . . . . . . . . . . . . . . 364requêtes sur ensemble (QBE) . . . . . . . . . . . 402, 411

utilisation de la sélection GrouperPar . . . . . . . . . 411requêtes sur groupe (QBE) . . . . . . . . . . . . 402

MAX . . . . . . . . . . . . . . . . . 407MIN . . . . . . . . . . . . . . . . . 407NOMBRE . . . . . . . . . . . . . . . . 404

réseau . . . . . . . . . . . . . . . . . . 118tri sur . . . . . . . . . . . . . . . . . 118

restauration . . . . . . . . . . . . . . . . 130propriétés d�une table . . . . . . . . . . . . . 137

restructuration d�une table . . . . . . . . . . . . 121réorganisation d�un champ. . . . . . . . . . . . 133

restructuration de tableet intégrité référentielle . . . . . . . . . . . . 126

résultats d�une requête (QBE). . . . . . . . . . . . 368retrait

alias de table . . . . . . . . . . . . . . . 210bande . . . . . . . . . . . . . . . . . 292bande de groupe . . . . . . . . . . . . . . 292répétition de groupe . . . . . . . . . . . . . 304saut de page . . . . . . . . . . . . . . . 306

retrait d�une table d�une requête . . . . . . . . . . . 362rétrécissement

propriétés . . . . . . . . . . . . . . . . 315réutilisation des structures de table . . . . . . . . . . 67RIENQUE (exemple QBE) . . . . . . . . . . . . . 414RIENQUE (QBE) . . . . . . . . . . . . . . . 413rotation

fiche . . . . . . . . . . . . . . . . . 269page de classeur . . . . . . . . . . . . . . 494

RTFcompatibilité de fichiers . . . . . . . . . . . . 322publication au format . . . . . . . . . . . . . 322

rupturepropriétés . . . . . . . . . . . . . . . . 315

SSAUF (QBE) . . . . . . . . . . . . . . . . 394saut de page . . . . . . . . . . . . . . . . 306

bande de groupe . . . . . . . . . . . . . . 301déplacement . . . . . . . . . . . . . . . 306insertion . . . . . . . . . . . . . . . . 306

retrait . . . . . . . . . . . . . . . . . 306suppression . . . . . . . . . . . . . . . 306

scintillement de l�écran . . . . . . . . . . . . 234, 280déplacement . . . . . . . . . . . . . . . 280

sélectionbande . . . . . . . . . . . . . . . . . 291objet de conception . . . . . . . . . . . . . 253objet de conception imbriqué . . . . . . . . . . . 253requête . . . . . . . . . . . . . . . . 365

sélection de champsrequête . . . . . . . . . . . . . . . 365 - 366

sélection décroissanterequête . . . . . . . . . . . . . . . . 365

sélection plusrequête . . . . . . . . . . . . . . . . 365

série de donnéesdéfinition . . . . . . . . . . . . . . . . 329

serveur d�état Paradox . . . . . . . . . . . . . . 18serveur JDBC Paradox . . . . . . . . . . . . . . 18serveur OLE . . . . . . . . . . . . . . . . 497serveur proxy JDBC . . . . . . . . . . . . . . . 18serveur Web . . . . . . . . . . . . . . . . 555

ajout . . . . . . . . . . . . . . . . . 559base . . . . . . . . . . . . . . . . . 562configuration . . . . . . . . . . . . . . . 559démarrage . . . . . . . . . . . . . . . . 561propriétés . . . . . . . . . . . . . . . . 560test. . . . . . . . . . . . . . . . . . 561

site Web Corel . . . . . . . . . . . . . . . . 16sortie

Paradox . . . . . . . . . . . . . . . . . 61soustraction d�un enregistrement . . . . . . . . 153, 157 - 158SQL

affichage d�une table . . . . . . . . . . . . . 118index . . . . . . . . . . . . . . . . . 70

structure de table . . . . . . . . . . . . . . . 64affichage . . . . . . . . . . . . . . . . 104et modification des données . . . . . . . . . . . 173

style de grilleobjet cadre de table . . . . . . . . . . . . . 509

style de la fenêtrecréation . . . . . . . . . . . . . . . . 271fiche . . . . . . . . . . . . . . . . . 269

supérieur à (requête QBE) . . . . . . . . . . . . 380supérieur ou égal à (requête QBE) . . . . . . . . . . 380superposition

objet de conception . . . . . . . . . . . . . 243suppression . . . . . . . . . . . . . . 55, 173, 304

xxvi Index

Index

alias. . . . . . . . . . . . . . . . . . 59bande . . . . . . . . . . . . . . . 291 - 292bas de page . . . . . . . . . . . . . . . 295champ. . . . . . . . . . . . . . . . 124, 175conteneur . . . . . . . . . . . . . . . . 254contrôle de validité . . . . . . . . . . . . . . 83enregistrement . . . . . . . . . . . . . 173, 175en-tête . . . . . . . . . . . . . . . . . 295filtres d�un champ . . . . . . . . . . . . . . 114format de donnée personnalisé . . . . . . . . . . . 146format de données personnalisé . . . . . . . . . . 152index secondaire . . . . . . . . . . . . . . 74mot de passe principal . . . . . . . . . . . . . 90objet imbriqué . . . . . . . . . . . . . 254, 436propriétés d�une table . . . . . . . . . . . . . 137répétitions de groupe . . . . . . . . . . . . . 304table . . . . . . . . . . . . . . . . . 162valeur de groupe . . . . . . . . . . . . . . 304

suppression d�enregistrements (requête QBE) . . . . . . 428 - 429suppression de tables

modèle relationnel . . . . . . . . . . . . . . 207suppression de valeurs (requête QBE) . . . . . . . . . . 429suppression de valeurs (requêtes QBE) . . . . . . . . . 423SUPPRIME.DB . . . . . . . . . . . . . . . . 428supprimer

fiche . . . . . . . . . . . . . . . . . 268SUPPRIMER (QBE) . . . . . . . . . . . . . . 423Sur fond/transparent . . . . . . . . . . . . . . 483

Ttable

enregistrement, restauration et suppression de propriétés . . . . 137exécution d�une fiche . . . . . . . . . . . . . 279importation de données . . . . . . . . . . . . 526jointure pour calcul (QBE) . . . . . . . . . . . . 398publication au format HTML . . . . . . . . . . . 557verrou . . . . . . . . . . . . . . . . . 165

table de référenceaffichage dans le Concepteur de base de données visuel . . . . 100création . . . . . . . . . . . . . . . . . 86saisie des données . . . . . . . . . . . . . . 193

table dépendante . . . . . . . . . . . . . . . 127table détail

enregistrement maître . . . . . . . . . . . . . 220référence croisée . . . . . . . . . . . . . . 341

table doublon . . . . . . . . . . . . . . . . 70

table enfantintégrité référentielle . . . . . . . . . . . . . 127

table réponse (QBE) . . . . . . . . . . . . . . 368attribution d�un nouveau nom . . . . . . . . . . . 368attribution de nouveaux noms aux champs. . . . . . . . 370tri . . . . . . . . . . . . . . . . . . 370tri décroissant . . . . . . . . . . . . . . . 371

table source . . . . . . . . . . . . . . . . 281affichage . . . . . . . . . . . . . . . . 281

tables . . . . . . . . . . . . . . . . . 44, 63affichage . . . . . . . . . . . . . . . 101, 319affichage des structures dBASE. . . . . . . . . . . 104affichage des structures SQL . . . . . . . . . . . 104ajout dans une requête. . . . . . . . . . . . . 362barre de défilement . . . . . . . . . . . . . 256compactage . . . . . . . . . . . . . . . 126conception . . . . . . . . . . . . . . . . 318copie . . . . . . . . . . . . . . . . 159 - 160création . . . . . . . . . . . . . . 63 - 65, 67détail . . . . . . . . . . . . . . 199, 203, 205exportation de données . . . . . . . . . . . . 532filtrage . . . . . . . . . . . . . . . . . 111impression . . . . . . . . . . . . . . . . 319liées . . . . . . . . . . . . . . . . . 207maîtres . . . . . . . . . . . . . . 199, 203, 205modèle relationnel . . . . . . . . . . . . . . 202modification de l�aspect . . . . . . . . . . . . 132nouveau nom . . . . . . . . . . . . . . . 160préférences du bureau . . . . . . . . . . . . . 48récupération . . . . . . . . . . . . . . 130 - 131restructuration . . . . . . . . . . . . . 121, 126retrait d�une requête . . . . . . . . . . . . . 362réutilisation d�une conception . . . . . . . . . . . 318réutilisation de structures . . . . . . . . . . . . 104réutilisation des structures . . . . . . . . . . . . 67structure . . . . . . . . . . . . . . . . 64structures . . . . . . . . . . . . . . . . 67suppression . . . . . . . . . . . . . . . 162table de référence . . . . . . . . . . . . . . 86table Réponse . . . . . . . . . . . . . . . 121tables de référence . . . . . . . . . . . . . . 83tri . . . . . . . . . . . . . . . . . . 119verrouillage . . . . . . . . . . . . . . . 163vidage . . . . . . . . . . . . . . . . . 161

tables de référence . . . . . . . . . . . . . . . 83et intégrité référentielle . . . . . . . . . . . . . 83options . . . . . . . . . . . . . . . . . 83règles de définition . . . . . . . . . . . . . . 83

Index xxvii

Index

tables détail. . . . . . . . . . . . . . 199, 203, 205exécution d�opérations récapitulatives . . . . . . . . . 456

tables enfant . . . . . . . . . . . . . . . . 92intégrité référentielle . . . . . . . . . . . . . 94

tables maîtres. . . . . . . . . . . 199, 201, 203, 205, 296exécution d�opérations récapitulatives . . . . . . . . . 456

tables parent . . . . . . . . . . . . . . . 92, 94tables réponse (QBE) . . . . . . . . . . . . . . 368tables temporaires

requête INSÉRER (QBE) . . . . . . . . . . . . 425requête REMPLACERPAR (QBE). . . . . . . . . . . 431requête SUPPRIMER (QBE). . . . . . . . . . . . 428

tabulation . . . . . . . . . . . . . . . . . 275tabulations . . . . . . . . . . . . . . . . 228

à droite . . . . . . . . . . . . . . . . 228à gauche . . . . . . . . . . . . . . . . 228centre . . . . . . . . . . . . . . . . . 228déplacement . . . . . . . . . . . . . . . 228mise en place . . . . . . . . . . . . . . . 228par défaut . . . . . . . . . . . . . . . . 228suppression . . . . . . . . . . . . . . . 228

taille de l�objetaffichage . . . . . . . . . . . . . . . . 245

taille de la page . . . . . . . . . . . . . . . 265taille par défaut

objet de conception . . . . . . . . . . . . . 239objet texte . . . . . . . . . . . . . . . . 239

textealignement . . . . . . . . . . . . . . . . 145champ mémo formaté . . . . . . . . . . . . . 144délimité . . . . . . . . . . . . . . . . 527exportation vers du texte de longueur fixe . . . . . . . . 534exportation vers du texte délimité . . . . . . . . . . 533formatage . . . . . . . . . . . . . . . . 143longueur fixe . . . . . . . . . . . . . . . 529modification . . . . . . . . . . . . . . . 183modification des propriétés . . . . . . . . . . . 143recherche et remplacement. . . . . . . . . . . . 190vérification orthographique . . . . . . . . . . 181 - 182

texte continu . . . . . . . . . . . . . . . . 281texte délimité

exportation . . . . . . . . . . . . . . . 533importation . . . . . . . . . . . . . . . 527

texte longueur fixe . . . . . . . . . . . . . . 529exportation . . . . . . . . . . . . . . . 534

titreajout à une fiche ou un état . . . . . . . . . . . 511

titre de colonne . . . . . . . . . . . . . . . 135

modification . . . . . . . . . . . . . . . 135touche de tabulation . . . . . . . . . . . . . . 273touches de clavier

fiche . . . . . . . . . . . . . . . . . 272tri . . . . . . . . . . . . . . . . . . . 118

autre . . . . . . . . . . . . . . . . . 70bande de groupe . . . . . . . . . . . . . . 304bandes d�enregistrement . . . . . . . . . . . . 298enregistrements . . . . . . . . . . . . . 298, 304groupement . . . . . . . . . . . . . . . 304primaire. . . . . . . . . . . . . . . . . 70réseau . . . . . . . . . . . . . . . . . 118table . . . . . . . . . . . . . . . . . 119table dBASE . . . . . . . . . . . . . . . 118table indexée . . . . . . . . . . . . . . . 118table non indexée . . . . . . . . . . . . . . 118table Réponse . . . . . . . . . . . . . . . 121

tri de la table réponse (QBE) . . . . . . . . . . 370 - 371décroissant . . . . . . . . . . . . . . . . 371

type de référence . . . . . . . . . . . . . . . 86types

liaison . . . . . . . . . . . . . . . . . 203types d�événement

contrôles OLE . . . . . . . . . . . . . . . 500types de bouton . . . . . . . . . . . . . . . 442

sélection . . . . . . . . . . . . . . . . 442types de champ

BLOB . . . . . . . . . . . . . . . . . 205types de champs

alphanumérique . . . . . . . . . . . . . 76, 128binaire . . . . . . . . . . . . . . . 108, 118BLOB . . . . . . . . . . . . . . . . . 118compatibles . . . . . . . . . . . . . . . 153conversion . . . . . . . . . . . . . . . . 128date . . . . . . . . . . . . . . . 76, 128, 148date/heure . . . . . . . . . . . . . . . 76, 148DCB . . . . . . . . . . . . . . . . . 118entier court . . . . . . . . . . . . . . 76, 128entier long . . . . . . . . . . . . . . . 76, 128graphique . . . . . . . . . . . . . . . . 108heure . . . . . . . . . . . . . . . . 76, 148importation d�une feuille de calcul . . . . . . . . . . 525incrémentation automatique . . . . . . . . . . 76, 128logique . . . . . . . . . . . . . . . 118, 148mémo . . . . . . . . . . . . . . . . 108, 118mémo formaté . . . . . . . . . . . . . . . 108modification . . . . . . . . . . . . . . . 129monétaire . . . . . . . . . . . . . . 76, 128, 147

xxviii Index

Index

numérique . . . . . . . . . . . . 76, 128, 147, 150octets . . . . . . . . . . . . . . . . 108, 118OLE . . . . . . . . . . . . . . . . 108, 118

Uutilisation . . . . . . . . . . . . . . . . . 54utilisation des nombres dans les requêtes . . . . . . . . . 359utilitaires Web jPdox . . . . . . . . . . . . . . 18

Vvaleur alphanumérique

et opérateur calc (QBE) . . . . . . . . . . . . 397valeur constante

ajout dans une table réponse (QBE) . . . . . . . . . 397valeur de groupe

retrait des répétitions de groupe . . . . . . . . . . 304suppression . . . . . . . . . . . . . . . 304

valeur tronquéesdans des champs calculés . . . . . . . . . . . . 473

validation . . . . . . . . . . . . . . . . . 173enregistrement . . . . . . . . . . . . 173, 175, 195

verrouajout d�un enregistrement . . . . . . . . . . . . 153table . . . . . . . . . . . . . . . . 164 - 165

verrou d�image . . . . . . . . . . . . . . . 163verrouillage . . . . . . . . . . . . . . . . 163

enregistrement . . . . . . . . . . . . . . . 194table . . . . . . . . . . . . . . . . . 163

vidage . . . . . . . . . . . . . . . . . . 153enregistrement . . . . . . . . . . . . . . . 153table . . . . . . . . . . . . . . . . . 161

violation de clé . . . . . . . . . . . . . . . . 70Vue champ . . . . . . . . . . . . . . . . 105

modification de données en . . . . . . . . . . . 168modification des données en . . . . . . . . . . . 170

Vue champ persistantemodification de données en . . . . . . . . . . . 168

vue de requête reliée (QBE) . . . . . . . . . . . . 368création . . . . . . . . . . . . . . . . 373enregistrement . . . . . . . . . . . . . . . 375modification . . . . . . . . . . . . . . . 374règle . . . . . . . . . . . . . . . . . 373

Vue mémo . . . . . . . . . . . . . . . . . 105modification de données en . . . . . . . . . . . 168modification des données en . . . . . . . . . . . 170

vues de requête . . . . . . . . . . . . . . . 372

vues de requête reliée (QBE) . . . . . . . . . . . . 372

WWeb server . . . . . . . . . . . . . . . . 559Web Server

affichage des connexions . . . . . . . . . . . . 561WordPerfect

exportation de données vers . . . . . . . . . . . 531

Zzone. . . . . . . . . . . . . . . . . 436 - 437

création . . . . . . . . . . . . . . . . 437graphes . . . . . . . . . . . . . . . . 445redimensionnement . . . . . . . . . . . . . 437

Zones d�options . . . . . . . . . . . . . . . 497zones d�un graphe. . . . . . . . . . . . . . . 445Zones de liste . . . . . . . . . . . . . . . . 497zoom

fiche . . . . . . . . . . . . . . . . . 280

Index xxix

Index