IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Forms Oracle Discussion :

Activer un champ après commit


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 390
    Par défaut Activer un champ après commit
    Bonjour,

    J'ai un champ non basé dans un bloc0 qui reçoit la valeur choisit dans une liste après un clic sur un bouton :
    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
    declare
    	  x boolean;
     
    	WHR 	VARCHAR2(50);
     
     
    begin
    	x:= show_lov('LV');
    if x  then
     
              WHR := 'bloc1.champ3 like :controle.ch3';	
    	  set_block_property('bloc1',default_where,WHR);
    	  go_block('bloc1');
              execute_query;
              last_record;
              next_record;
    end if;
    end;
    un bloc1 basé contenant trois champs: le champ3 basé masqué, le champ1 non basé de type élément affiché et le champ2 non basé de type élément texte.
    Au niveau du bloc1, j'ai mis un trigger post-bloc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set_item_property('bloc1.champ2',enabled,property_false);
    Dans le trigger key_commit j'ai mis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    commit_form;
    clear_form;
    set_item_property('bloc1.champ2',enabled,property_true);
    Après un enregistrement, si j'essai d'ajouter un second il m'affiche le message suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FRM-40106:Absence d'élément de navigation autorisé dans le bloc cible.
    FRM-41300: Exécution de cette fonction impossible ici.
    Je ne trouve pas de solution même j'ai suivit les sujets de ce genre sur developpez.net.

    Merci pour vos propositions.

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    T'as essayé avec set_item_property('bloc1.champ2',enabled,property_true) avant le COMMIT_FORM ?

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 390
    Par défaut
    Bonjour,

    Oui j'ai essayé de mettre l'instruction avant le commit_form et même avant le IF du bouton de liste de valeurs mais le même message d'erreur.

    Je n'ai pas compris pourquoi ce message apparait.

  4. #4
    Membre Expert

    Homme Profil pro
    Inscrit en
    Mars 2010
    Messages
    536
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 536
    Par défaut
    Citation Envoyé par tunis71187 Voir le message
    Bonjour,

    Oui j'ai essayé de mettre l'instruction avant le commit_form et même avant le IF du bouton de liste de valeurs mais le même message d'erreur.

    Je n'ai pas compris pourquoi ce message apparait.
    Bonjour,

    Bien que pour moi, cela remonte à plusieurs années de non utilisation de forms, mais mes souvenirs semblent m'indiquer que la commande suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set_item_property('bloc1.champ2',enabled,property_false);
    discretement, rend l'item bloc1.champ2 non navigable. Alors que la commande inverse suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set_item_property('bloc1.champ2',enabled,property_true);
    garde le même item non navigable. Il faudrait également ajouter explicitement la commande suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set_item_property('bloc1.champ2',navigable,property_true);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set_item_property('bloc1.champ2',updatable,property_true);
    J'écris uniquement selon mes souvenirs. Je n'ai pas testé les commandes ci-dessus

    Bien à vous

    Mohamed Houri

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2007
    Messages
    390
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 390
    Par défaut
    Bonjour,

    Merci Mohamed pour votre réponse.

    J'ai essayé avec votre proposition mais pas de nouvelle.

    Enfin j'ai trouvé la solution suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set_item_property('be_equipement.designation',enabled,property_true);
    set_item_property('be_equipement.designation',navigable,property_true);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Activé un champ en mode ReadOnly
    Par ludobado dans le forum Access
    Réponses: 3
    Dernier message: 21/04/2006, 12h06
  2. Problème champ après import d'excel vers access
    Par David M dans le forum Access
    Réponses: 6
    Dernier message: 16/10/2005, 11h53
  3. vérification champ après champ d'un formulaire
    Par Francis_R dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/10/2005, 08h55
  4. SOS recup champ après préocédure stockée
    Par seb92 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 24/11/2004, 07h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo