Vous êtes sur la page 1sur 18

Tutoriel de création d’une application APEX

6 – Personnalisation des formulaires

6.1 – Accès aux éléments de la page

Dans la page, une zone décrit les éléments présents.

On a ici 5 éléments, le premier étant caché, les 4 suivants visibles. Ils vont permettre de visualiser et modifier les données de la table Ecritures.

Accédons à l’élément nommé P1_EC_DATE, en cliquant sur le lien de même libellé :

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 1


6.2 – Mise en forme de l’élément de saisie de date

Modifions l’attribut « Label » en « Date », et indiquons dans « Element » que les largeurs (Width et Maximum Width) sont fixées à 10.

Lançons l’exécution de la page. Dans la zone de date, il n’est possible de saisir que 10 caractères au plus.

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 2


Par contre, il est plus rapide d’utiliser le composant calendrier, qui accélère la sélection d’une date, que d’introduire au clavier chaque caractère.

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 3


6.3 – Langue utilisée dans le calendrier de saisie de la date

La langue affichée dans le calendrier dépend du paramètre « Application Primary Language » qui est accessible dans le menu « Shared Components »
(composants partagés) :

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 4


La vue d’ensemble des écritures se présente de la façon suivante :

6.4 – Personnalisation des colonnes de la vue d’ensemble

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 5


On va commencer par modifier les libellés affichés en haut de chaque colonne (Heading). « Custom » permet de personnaliser les entêtes de colonnes.
Puis indiquer un alignement à droite de la colonne « Montant », et enfin cocher la possibilité de tri sur les colonnes (Sort) :

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 6


La présentation de l’état est maintenant la suivante :

Nous allons formater la colonne de date :

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 7


Pour formater la colonne des montants, le plus simple est de sélectionner l’un des formats proposés dans le « pop-up » :

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 8


Après ces modifications, dates et montant sont dans des formats plus lisibles :

On va déplacer l’icône Edit à droite, et renommer la colonne « Modification écriture » :

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 9


Voici comment les attributs de l’état doivent être spécifiés :

A l’issue de ces modifications, on peut insérer, modifier, supprimer des écritures. On va maintenant ajouter des contrôles de validité.

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 10


6.5 – Mise en place de validations sur les données saisies

On va, depuis l’édition de la page, ajouter des validations, en utilisant le menu « Create validation ».
Il existe deux types de validation, au niveau élément ou au niveau page.
On va créer des validations de type élément.

Une première validation de contrôle de la date, pour l’ élément P1_EC_DATE :

Une seconde validation de contrôle de numéricité sur P1_EC_MONTANT.

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 11


Il est conseillé d’indiquer des messages d’erreur avec des éléments d’aide, comme le message ci-dessous :

Une fois les deux validations créées, modifiez éventuellement les noms des validations de façon à ce qu’ils décrivent de façon précise ce qui est contrôlé :

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 12


Dans l’exemple ci-dessous, l’utilisateur a, en même temps , introduit une date et un montant incorrects :

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 13


6.6 – Validation définie en langage PL/SQL

On souhaite maintenant introduire un troisième contrôle sur le montant maximum du montant saisi.

On va utiliser un contrôle programmé en PL/SQL :

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 14


Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 15
Le texte du « source » PL/SQL est le suivant :

if :P1_EC_MONTANT > 100000 then


return 'ce montant est supérieur à 100000';
else
return NULL; -- indique qu'il n'y a pas d'erreur
end if;

Ce contrôle fonctionne.
Cependant, si on introduit une valeur non numérique dans la rubrique de saisie du montant, un message d’erreur apparaît :

Pourquoi ce message, alors que l’on a créé un message vérifiant la numéricité ?

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 16


6.7 – Validation conditionnelle

En fait, toutes les validations définies sont exécutées.


Or la validation qui vient d’être créée, en langage PL/SQL, effectue une comparaison entre l’élément nombre et une valeur (maximale).

Dans le cas où ce n’est pas un nombre, cela génère une « exception ».


On va, pour résoudre ce conflit de validations, ajouter une « clause conditionnelle » à la validation PL/SQL :

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 17


Une fois cette condition créée, voici ce que donne la liste des validations définies dans cette page :

Oracle Apex 3.21 – Tutoriel – RCI Informatique SAS - 2010 Page D- 18