|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité régulier
![]() Inscription : décembre 2007 Messages : 16 ![]() |
Bonjour,
Voila un pb classique en forms 6i : - J'ai un bloc basé BL_A sur une table A. - J'ai mis un bouton pour insérer en masse des enregistrements dans la table A : - Lorsque clic sur ce bouton : Je remplis la table A : insert into A select ... Je refais un execute query du bloc BL_A pour rafraichir mon bloc => les données s'affichent. Par contre, lorsque je quitte la form : on ne me demande pas d'enregistrer alors que des modifications sont en cours. Je pense que c'est parce que je n'ai aucune valeur changée dans le bloc, et que le statut de la form est à query => pour forms, il n'y a pas de modifications à enregistrer. - Je ne pense pas que l'on puisse changer le statut de la form à CHANGED (via set_block_property) - Ou alors je dois faire les insert dans le bloc BL_A via create record (faire une boucle) mais au niveau de temps de réponse je ne suis pas très chaud. Quelqu'un a une astuce pour pallier à ce problème ou une idée? Merci d'avance! |
|
|
00
|
|
|
#2 |
![]() ![]() Inscription : janvier 2004 Messages : 15 861 ![]() |
il me semble bien pourtant que le statut peut être changé. C'est pas en changeant la valeur de la variable SYSTEM.BLOCK_STATUS ?
|
|
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : décembre 2007 Messages : 16 ![]() |
Bonjour,
Merci de la réponse. Je viens d'essayer : on ne peut pas modifier cette variable. On peut seulement la tester (Cela ne passe pas à la compilation). Et on ne peut pas modifier la propriété du block par un set_block_property... D'autres idées? Merci d'avance! |
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Philippe CHIRCOPChef de projet Inscription : juin 2007 Messages : 1 109 ![]() |
essaie
Code :
__________________
Garuda गरूड Brahmâ la Guerre et Vishnu la Paix Oracle 10.2.0.4 - Forms6i patch 17 - Toad 11.1 - sharePoint 2010 |
||
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() |
Ton block est toujours marqué comme modifié et tu ne peux rien y faire.
tu as une autre Option: La requete de ton bouton ou tu fais le insert, tu lla deplace dans un trigger on-Insert de ton block de donnée. cela va détourner le insert normal. et derriere ton bouton, tu fais juste un Bonne chance.
__________________
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() ![]() Inscription : mai 2002 Messages : 257 ![]() |
ça dépend de ce que tu veux comme résultat
1) tu veux que dès que tu fais l'insert se soit committé en base de données ? 2) tu veux que se soit validé quand tu quittes l'application ? |
|
|
00
|
|
|
#7 |
|
Invité régulier
![]() Inscription : décembre 2007 Messages : 16 ![]() |
Merci pour vos réponses!
- J'ai déjà pensé et essayé la solution de Garuda set_record_property(1,'monblock',STATUS,CHANGED_STATUS) Mais ça interfère avec certaines procs standards que je suis obligé d'utiliser. - La solution de NGuessan n'est pas possible dans mon cas car je ne veux pas commiter à chaque appui sur le bouton : je développe des écrans spécifiques dans un progiciel sous forms et mes utilisateurs ont l'habitude de sauvegarder par F12. - En fait, je voudrais que si l'utilisateur a fait des modifs et qu'il change de conditions d'affichage ou qu'il fait F4 => on lui pose la question 'saisies en cours, voulez-vous sauvegarder?' D'autres idées? |
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() ![]() Inscription : mai 2002 Messages : 257 ![]() |
lorsque tu fais ton insert, tu positionnes une variable à 1 ou True, pour indiquer que tu dois demander la validation.
Ensuite quand tu change de conditions d'affichage ou F4, dans ce cas tu teste la valeur de ta variable et du demandes de valider, et n'oublie pas de repasser la variable à 0 ou false |
|
|
00
|
|
|
#9 |
|
Invité régulier
![]() Inscription : décembre 2007 Messages : 16 ![]() |
Merci pour votre aide,
Je viens de trouver une solution pas trop mal : En fait, j'ai un autre bloc basé "C" dans l'écran. dès que je clique sur mes boutons d'insertion/delete en masse, je remodifie une zone de mon autre bloc basé "C" : je modifie puis je remets la même valeur dans l'item . Forms détecte alors qu'il y a des modifs en cours => il me demande de sauvegarder. Cela m'a lair de bien fonctionner! A bientôt
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com