![]()
Bonjour
j'ai une grille avec 2 canvas: le 1ere Canvas contient deux blocs basés ( 1er bloc: ID_Classe et Nom_Classe, 2éme bloc: ID_inscription et Type_inscription)
le 2éme Canvas posséde tois Anglets(Anglet1, Anglet2, Anglet3)...
Lorsqu'on a le curseur sur ID_Classe, on navigue pour voir les classes et leurs inscriptions (NB: il y a des classes sans inscription, càd que les champs ID_inscription et Type_inscription apparaissent vides )
En se basant sur le changement des enregistrements de l'item Type_inscription (j'utilise le déclencheur "POST-CHANGE") qui ne peut avoir que 2 valeurs possibles: Directe, indirecte) je peux empêcher l'utilisateur de travailler sur un ou deux anglets parmis les trois selon les valeurs de Type_inscription ... mais lorsque l'item "Type_inscription" ne contient aucune valeur, je n'arrive pas à griser les trois Anglets et la grille reste dans l'état précédante qui correspond au dernier enregistrement càd celui qui contient un type d'inscription pr une classe (je crois dans ce cas que l'item "Type_inscription" ne correspond à aucun enregistrement !!!?)
Résumé: le test se fait sur la valeur du champ Type_inscription qui refléte une valeur ds la BD, mais comment faire si la classe n'a aucune inscription? le champ est-il vide? est ce qu'il y a une manière de tester sur l'existance de l'enregistrement?
Voici mon code de POST-CHANGE:
Merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 DECLARE Tp_id1 tab_page; Tp_id2 tab_page; Tp_id3 tab_page; BEGIN Tp_id1 :=find_tab_page('CANVAS0.Anglet1'); Tp_id2 :=find_tab_page('CANVAS0.Anglet2'); Tp_id3 :=find_tab_page('CANVAS0.Anglet3'); IF :TYPE = 'statique' THEN SET_TAB_PAGE_PROPERTY(Tp_id1, enabled, property_FALSE); SET_TAB_PAGE_PROPERTY(Tp_id2, enabled, property_TRUE); SET_TAB_PAGE_PROPERTY(Tp_id3, enabled, property_TRUE); ELSE IF :TYPE = 'dynamique' THEN SET_TAB_PAGE_PROPERTY(Tp_id1, enabled, property_TRUE); SET_TAB_PAGE_PROPERTY(Tp_id2, enabled, property_FALSE); SET_TAB_PAGE_PROPERTY(Tp_id3, enabled, property_TRUE); ELSE SET_TAB_PAGE_PROPERTY(Tp_id1, enabled, property_FALSE); SET_TAB_PAGE_PROPERTY(Tp_id2, enabled, property_FALSE); SET_TAB_PAGE_PROPERTY(Tp_id3, enabled, property_FALSE); END IF; END IF; exception when others then null; END;
Partager