|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 226 ![]() |
Bonjour,
Comment je peux tester qu'un block doit contenir au moins un enregistrement? Merci pour vos propositions. |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Tu peux t'inspirer de ceci pour compter les enregistrements :
http://www.dbforums.com/oracle/10311...ata-block.html |
|
|
00
|
|
|
#3 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 529 ![]() |
Attention, un block contient TOUJOURS au moins un enregistrement, mais ce n'est pas pour autant qu'il est renseigné...
Il vaut mieux tester si un ou plusieurs champs obligatoires ont une valeur non nulle.
__________________
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 |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Ou tester 'SYSTEM.BLOCK_STATUS' (='NEW')
Ou tester :SYSTEM.RECORD_STATUS SUR LE premier enregistrement ('NEW' ) EDIT : J'ai peut être mal compris la question ? Qu'entends-tu par "doit contenir au moins un enregistremen?" ? Qu'il faut que l'utilisateur renseigne au moins un enregistrement ?
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
|
|
00
|
|
|
#5 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
Il doit même y avoir une propriété sur le block pour ça non ?
|
|
|
00
|
|
|
#6 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 529 ![]() |
__________________
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 |
|
|
00
|
|
|
#7 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
je pensais aux options dans les propriétés du bloc en fait
|
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 226 ![]() |
Bonjour,
Garuda: je veux dire qu'il faut un enregistrement fils pour un bloc maitre càd il ne faut pas autoriser l'enregistrement d'une donnée du bloc maitre sans avoir de détails. Pour cela, je suis bloqué dans la situation de bloquer l'utilisateur de ne pas enregistrer des données maitres sans détails. J'ai essayé avec la proposition de Mr.Orafrance, c'est une bonne idée mais je ne trouve pas l'emplacement idéale pour le code pour faire le blocage. Un DBA me propose d'utiliser un déclencheur, mais je suis débutant et je n'ai aucune idée de traduire ça. Merci. |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 226 ![]() |
Bonjour,
J'ai essayé avec les commandes et mais je ne trouve pas la solution désirée. Est il possible de me donner un exemple. Merci |
|
|
00
|
|
|
#10 |
![]() ![]() ![]() Inscription : mai 2003 Messages : 6 529 ![]() |
Vous avez essayé quoi ? donnez votre code
__________________
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 |
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() nancy carina Inscription : décembre 2010 Messages : 34 ![]() |
tu peux utiliser un déclencheur WHEN-VALIDATE-RECORD
|
|
|
00
|
|
|
#12 | ||
|
Membre du Club
![]() nancy carina Inscription : décembre 2010 Messages : 34 ![]() |
par exemple
Code :
|
||
|
|
00
|
|
|
#13 | ||||
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 226 ![]() |
Bonjour,
Merci Nancy pour votre proposition. J'ai utilisé le code : Code :
mais dans le déclencheur PRE-DELETE au niveau du block détails ça n'empêche plus de vider le block et l'enregistrement réussit donc ce n'est pas préférable dans ce cas. M. Yerbouti, j'ai essayé avec ce code: Code :
D'une autre façon je ne veux pas enregistrer un enregistrement maitre sans au moins un détail. Merci. |
||||
|
|
00
|
|
|
#14 | |||
|
Membre expérimenté
![]() Mohamed HouriInscription : mars 2010 Messages : 286 ![]() |
Citation:
Code :
(a) les triggers ne se déclenchent pas lors d'un "direct path'' (b) les triggers peuvent êtres disablés Bien Cordialement Mohamed Houri |
|||
|
|
00
|
|
|
#15 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 226 ![]() |
Bonjour,
J'ai esayé de créer le trigger mais suite à un "commit_form", le message suivant est affiché: Code :
FRM-99999 : Erreur 408. Reportez-vous au fichier relnotes pour plus d’informations. |
|
|
00
|
|
|
#16 | ||
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 226 ![]() |
Bonjour,
C'est résolu enfin. J'ai inspiré de l'idée de Mohamed Houri et j'ai ajouté le déclencheur ON_COMMIT: Code :
S'il y a un truc merci de m'éclairsir. |
||
|
|
00
|
|
|
#17 | |||||
|
Membre du Club
![]() nancy carina Inscription : décembre 2010 Messages : 34 ![]() |
Citation:
Code :
|
|||||
|
|
00
|
|
|
#18 |
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Facile !
Faire un item calculé sur le bloc maitre Calcul :Summary Fonction : Count Block : <block détail> Item : <un item du bloc fils> Tester la valeur dans le pre insert ou le pre_update du bloc maitre si lavaleur de l'item > 0
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
|
|
00
|
|
|
#19 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 226 ![]() |
Merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii Garuda pour l'idée.
Mais avant de clôturer ce sujet je veux juste une information: La fonction Count est la même la fonction Décompte sous Forms? Merci. |
|
|
00
|
|
|
#20 |
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
Je suppose que oui.
Si j'ai dit count, c'est que j'utilise form builder en anglais !
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com