Formatage conditionnel
Quand vous exécutez les instructions SELECT dans votre Éditeur SQL, les données extraites sont affichées dans la fenêtre de Résultat (ou de multiples fenêtres de Résultat, si de multiples requêtes ont été exécutées). Vous pouvez modifier l’apparence des données extraites (telle la couleur, l’arrière-plan, l’épaisseur de la police) basée sur les conditions SQL personnalisées. Par exemple, vous pouvez avoir certaines valeurs dans la grille de résultat formatées avec un arrière-plan jaune si elles dépassent un certain seuil.
L’image ci-dessous illustre un exemple de formatage conditionnel dans une base de données SQLite. Cet exemple de projet est disponible dans le chemin suivant : <% DBSPY-TUT%>\NanonullEnterprise.qprj. Dans cet exemple, l’objectif est d’appliquer le formatage conditionnel comme suit :
•Les enregistrements dont le nombre dépasse 200 doivent avoir un arrière-plan en corail et une police en gras
•Les enregistrements dont le nombre est inférieur à 10 doivent avoir un arrière-plan en turquoise et une police en italique.
Formatage conditionnel dans la syntaxe SQLite
Tel qu’illustré ci-dessus, et afin de prendre en charge le formatage conditionnel, l’instruction SQL doit inclure une colonne alias qui doit être appelée de manière conventionnelle DbSpyRowSettings. Ceci dit à DatabaseSpy de traiter cette colonne comme instructions de formatage conditionnel. Notez que cette colonne alias consiste en une construction « CASE ». La branche WHEN est une expression SQL où vous fournissez la condition à vérifier dans la grammaire de la base de données correspondante. La branche THEN est un string qui spécifie les styles de formatage tels l’épaisseur de la police ou la couleur d’arrière-plan. Ce string doit être entre guillemets, dans la grammaire spécifique à la base de données, pour qu’il ait l’air d’un string de la base de données.
La syntaxe SQL qui définit la colonne alias dépend du type de base de données. Voir ci-dessous pour des exemples spécifiques aux différents genres de base de données. Pour les détails, référez-vous à la documentation du vendeur de la base de données. |
Les styles que vous pouvez utiliser sont les suivants :
Style | Remarques | Exemple |
---|---|---|
Style du texte | Le texte peut être formaté en gras, italique ou souligné. | police:gras police:italique police:souligné |
Taille de police | La taille de la police peut être exprimée en unités fixées (les mêmes unités que celles dans la boîte de dialogue Options) ou comme pourcentage. Une valeur de pourcentage est relative à la taille de la police définie dans la boîte de dialogue Options. | Taille de la police:10 Taille de la police: 150 % |
Famille de police | Contrairement à d’autres styles, les noms de police sont sensibles à la casse. Les noms de police peuvent être entre guillemets aussi longtemps que l’instruction SQL reste valide. | Famille de police:Arial |
Couleur du texte | La couleur du texte peut être exprimée comme valeur hexadécimale (insensible à la casse) ou en tant que couleur nommée. Pour référence de toutes les couleurs nommées que vous pouvez utiliser, voir https://www.w3.org/TR/2003/REC-SVG11-20030114/types.html, Section 4.2. | couleur:jaune couleur:#FFFF00 |
Couleur d’arrière-fond : | Les couleurs d’arrière-plan peuvent avoir les mêmes valeurs que les couleurs du texte. | Couleur d’arrière-plan:doré couleur d’arrière-plan:#FFD700 |
Remarques :
•Vous pouvez utiliser des multiples styles séparés par des points-virgules, par exemple : background-color:gold; font: bold; color: blue;. Les espaces blancs entre les styles ne sont pas pertinents.
•Si les styles que vous avez saisi ne sont pas reconnus, DatabaseSpy les ignorera sans afficher des erreurs ou avertissements.
•La colonne DbSpyRowSettings peut apparaître à tout emplacement dans la liste de colonne.
•Le cas de la colonne DbSpyRowSettings ou le cas des styles n’est pas pertinent (excepté pour les noms de police, voir ci-dessus).
•Lorsqu’une cellule, colonne ou ligne formatée de manière conditionnelle est dans le focus (sélectionnée), la couleur d’arrière-plan n’a pas d’effet. Seules la couleur du texte et la police sont appliquées.
•Pour de meilleurs résultats d’affichage, vous allez vouloir désactiver la case à cocher Afficher la grille avec des couleurs alternantes dans les options Mode des Résultats.
Formatage conditionnel dans différents genres de base de données
Les exemples suivants sont des exemples spécifiques à la base de données d’instructions SQL qui utilisent un formatage conditionnel. Notez que ces exemples ci-dessous illustrent juste quelques manières d’appliquer le formatage conditionnel. Si pris en charge par la base de données, il est également possible d’arriver au même résultat avec plus de techniques complexes, telles que les sous-requêtes, les procédures stockées, etc.
Type de base de données | Exemple |
---|---|
Accès | Utiliser la fonction SWITCH, voir https://support.office.com/en-us/article/Switch-Function-D750C10D-0C8E-444C-9E63-F47504F9E379
SELECT [id],
En alternative, utilisez la fonction IIF, voir https://support.office.com/en-us/article/IIf-Function-32436ECF-C629-48A3-9900-647539C764E3
SELECT [id], |
IBM DB2 IBM DB2 pour i Oracle PostgreSQL Progress OpenEdge SQLite Sybase Teradata | SELECT "id", |
IBM Informix | SELECT id, |
MariaDB MySQL | SELECT `id`, |
Serveur SQL | SELECT [ProductID], |