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 31/12/2010, 13h26   #1
Membre du Club
 
Inscription : novembre 2007
Messages : 226
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 226
Points : 66
Points : 66
Par défaut Problème Clear Form

Bonjour à tous;

j'ai un problème de clear_form après enregistrement.
J'utilise seulement un mennu à partir duquel je peux enregistrer, le problème c'est que je veux après l'enregistrement la forme soit vide. si je mets le code clear_form dans le menu donc ça sera appliqué à tous les autres formes ayant ce menu or je veux juste une forme bien particulier.

Des idées s'il vous plait.
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 15h51   #2
Membre du Club
 
Inscription : novembre 2007
Messages : 226
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 226
Points : 66
Points : 66
Il me reste ce problème que je n'ai trouvé aucune solution. J'ai essayé avec clear bolock mais....
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 15h55   #3
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 529
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 529
Points : 6 458
Points : 6 458
Si c'est juste pour une forme, alors il faut déplacer le Clear_Form() dans un trigger de niveau form dans la forms en question.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 16h01   #4
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 529
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 529
Points : 6 458
Points : 6 458
Sinon vous pouvez laisser dans le menu et tester le nom de la forme en cours, mais ça me semble moins propre

Code :
1
2
3
4
 
IF Name_In('SYSTEM.CURRENT_FORM') = 'XXXX' Then
  Clear_Form ;
End IF ;
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 16h03   #5
Membre du Club
 
Inscription : novembre 2007
Messages : 226
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 226
Points : 66
Points : 66
Mr Yerbouti,

j'ai essayé avec le trigger key_commit mais pas d'effet.

pour plus d'éclairsissement: dans cette forme j'ai 4 block de données basés et 1 non basé à partir duquel l'utilisateur choisit un numéro à travers un LOV et ensuite il y aura affichage des données liées à ce numéro, dans ce cas pas de problème puisque suite au choix le second block réagit. le problème c'est pour les 3 autres : 1 block parent et 2 fils indépendants. Suite à un commit et le choix d'un autre numéro seulement les deux premiers se changent les autres restent inchangés sauf si l'utilisateur les supprimé.
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 16h07   #6
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 529
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 529
Points : 6 458
Points : 6 458
Citation:
j'ai essayé avec le trigger key_commit mais pas d'effet.
Interressant comme info, mais qu'avez-vous mis dans ce trigger ?
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 16h35   #7
Membre du Club
 
Inscription : novembre 2007
Messages : 226
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 226
Points : 66
Points : 66
Dans le trigger key_commit j'écris:
Code :
1
2
3
4
5
6
7
commit;
go_block('test1');
clear_block;
go_block('test2');
clear_block;
go_block('test3');
clear_block;
au niveau de forme, mais ça marche pas, je le fais au niveau des 3 blocks encore pas de nouvelle.

j'ai essayé de même
Code :
1
2
3
IF Name_In('SYSTEM.CURRENT_FORM') = 'TEST' Then
  Clear_Form ;
End IF ;
ça marche plus.
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 16h55   #8
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 529
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 529
Points : 6 458
Points : 6 458
Mettez des messages pour voir si le code s'exécute.
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h16   #9
Membre du Club
 
Inscription : novembre 2007
Messages : 226
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 226
Points : 66
Points : 66
Bonne idée;

j'ai testé avec un trigger key_commit au niveau du block à nettoyer:
Code :
1
2
3
4
5
6
7
messagebox('hello');
commit;
messagebox('hello1');
go_block('block1');
messagebox('hello2');
clear_block;
messagebox('hello3');
aucun message n'est affiché!!!!!!!!!!
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h17   #10
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 529
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 529
Points : 6 458
Points : 6 458
Le trigger n'est donc pas déclenché.
Comment faites-vous pour le déclencher ?
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h34   #11
Membre du Club
 
Inscription : novembre 2007
Messages : 226
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 226
Points : 66
Points : 66
Je n'ai pas compris votre dernier question.
Se déclenche si je sélectionne l'élément Enregistrer du menu.
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h43   #12
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 529
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 529
Points : 6 458
Points : 6 458
Mais quel code il y a t-il dans cette option de menu ?
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 17h45   #13
Membre du Club
 
Inscription : novembre 2007
Messages : 226
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 226
Points : 66
Points : 66
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 19h26   #14
Membre régulier
 
Inscription : mars 2007
Messages : 78
Détails du profil
Informations personnelles :
Âge : 33
Localisation : Suisse

Informations forums :
Inscription : mars 2007
Messages : 78
Points : 75
Points : 75
il serait peut être préférable de faire un
afin de "commiter" l'enregistrement et la form
ainsi vous devrez passer dans le key-commit, ou vous ferez votre
Penser à vérifier qu'il n'y ai pas un trigger Key-CLRFRM au niveau de la form qui ne ferait rien.
alx13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2011, 20h09   #15
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 529
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 529
Points : 6 458
Points : 6 458
Remplacez par ceci:

__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 10h17   #16
Membre du Club
 
Inscription : novembre 2007
Messages : 226
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 226
Points : 66
Points : 66
Bonjour,

j'ai mis le code: au niveau du menu puis le code
Code :
1
2
commit_form;
clear_form;
dans le trigger key_commit au niveau de la forme et ça marche.

j'ai ajouté le commit_form car il me demande d'enregistrer ou non les données si oui l'enregistrement passe. Je ne sais pas est-ce que ça a un effet ultérieurement ou non? Si non donc c'est Résolu et Merci de nouveau.
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 10h22   #17
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 529
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 529
Points : 6 458
Points : 6 458
Do_Key() exécute le code contenu dans le trigger en paramètre, donc il faut y inclure toutes les instructions souhaités, à commencer par commit_form !
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 11h07   #18
Membre du Club
 
Inscription : novembre 2007
Messages : 226
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 226
Points : 66
Points : 66
J'ai modifier commit_form par do_key('') mais si je clik pour enregistrer la forme est plantée donc je mis commit_form seulement.
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 11h11   #19
Rédacteur

 
Avatar de SheikYerbouti
 
Inscription : mai 2003
Messages : 6 529
Détails du profil
Informations forums :
Inscription : mai 2003
Messages : 6 529
Points : 6 458
Points : 6 458
Vous n'avez pas compris. Le DO_KEY() dans votre option de menu déclenche le trigger équivalent dans la forme, en l'occurence le trigger KEY-COMMIT dands votre cas. Il faut donc inclure dans ce trigger toutes les instructions désirées, à commencer par commit_form car le trigger ne contient rien au départ. (ce n'est pas parce qu'il se nomme KEY-COMMIT qu'il contient l'instruction commit_form)
__________________
Rédacteur Oracle (Oracle ACE)
Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
Je ne réponds pas aux questions techniques par MP
Blogs: Forms-PL/SQL-J2EE - Forms Java Beans
SheikYerbouti est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/01/2011, 11h32   #20
Membre du Club
 
Inscription : novembre 2007
Messages : 226
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 226
Points : 66
Points : 66
Dans le déclencheur du menu je mis do_key('commit_form') après dans le déclencheur key_commit du forme je mis
Code :
1
2
commit_form;
clear_form;
j'ai compris ce que vous voulez dire ou non ?
tunis71187 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h09.


 
 
 
 
Partenaires

Hébergement Web