Précédent   Forum des professionnels en informatique > Bases de données > Oracle > Outils > Forms
Forms Forum d'entraide sur Oracle Forms
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/10/2007, 19h14   #1
Invité de passage
 
Inscription : septembre 2007
Messages : 7
Détails du profil
Informations forums :
Inscription : septembre 2007
Messages : 7
Points : 0
Points : 0
Par défaut Absence d'enregistrement pour un Item!?


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:
Code :
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;
Merci pour votre aide
Youtoto est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/10/2007, 09h31   #2
Expert Confirmé
 
Homme
Chef de projet en SSII
Inscription : janvier 2004
Messages : 2 866
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : janvier 2004
Messages : 2 866
Points : 3 448
Points : 3 448
Citation:
Envoyé par Youtoto Voir le message
: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?
Oui ton champ est nul et le statut de ton enregistrement à NEW.
__________________
Un problème sans solution est un problème mal posé

Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.
plaineR est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h32.


 
 
 
 
Partenaires

Hébergement Web