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 :

post-query ne s'execute pas


Sujet :

Forms Oracle

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut post-query ne s'execute pas
    Bonjour,

    Voila, je ne comprends pas pourquoi mon POST-QUERY ne veut pas s'executer.
    je fais "go_block('mon_bloc');" puis "execute_query;".
    Mais le post-query du bloc n'est pas appelé.
    pourriez-vous me donner quelques suggestions à ce sujet.
    Merci.

  2. #2
    Membre éclairé Avatar de Jean_Benoit
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 499
    Par défaut
    Je ne sais plus si on peut faire un go_block dans un post-query. Les triggers évènementiels ne peuvent pas faire de navigation.
    Ensuite peut être que le block cible a un pre-query qui le met en status changed.
    Faudrait debuguer avec un message à chaque étape avec :system.cursor_block , status.
    Faudrait aller sur le block destination à la souris et entrer un execute query (Ctrl-F11) pour voir s'il n'y aurait pas un champ en affichage impossible genre trop court ou pas du bon type. Faudrait mettre une section exception dans le post-query

    declare
    .
    begin
    .
    exception
    when others then
    message( 'erreur: ' || substr( sqlerrm, 1, 70 ) );
    end;

  3. #3
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    1. assurez-vous que le go_block() vous place effectivement sur le bloc.
    2. assurez-vous que le execute_query est effectivement exécuté
    3. commant savez-vous que le post-query ne s'exécute pas ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Merci, je vais essayer toutes vos suggestions.
    Sinon le post-query ne s'execute pas car lors du debug, le block s'affiche sans passer dans le post-query.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Faudrait aller sur le block destination à la souris et entrer un execute query (Ctrl-F11) pour voir s'il n'y aurait pas un champ en affichage impossible genre trop court ou pas du bon type
    Quand je execute manuellement l'execute query (F8), il n'ya aucun messages.il ne connait pas ctrl F11.

    Faudrait mettre une section exception dans le post-query
    Je ne peux pas car je ne rentres pas dans le post-query.

    assurez-vous que le go_block() vous place effectivement sur le bloc.
    Le go_block me place effectivement sur mon block (je visualise tout les items du block et le bouton).

    assurez-vous que le execute_query est effectivement exécuté
    c'est peut-etre la que vient le probleme car en faisant F8, je n'ai rien meme pas un message d'erreur.

    Je ne sais pas trop vers ou aller pour regler ce probleme.
    pourriez_vous me dire quels variables system ou autre dois-je regarder lors du debug pour savoir pourquoi le post-query ne s'execute pas?
    Merci.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    j'avais oublier
    Je ne sais plus si on peut faire un go_block dans un post-query. Les triggers évènementiels ne peuvent pas faire de navigation.
    le go_block, je le fais sur le "when-button-pressed" d'un bouton d'un autre block.

  7. #7
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Plcez-vous manuellement dans ce bloc et passer en mode interrogation (Enter-Query), puis exécutez (F8)

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    ctrl F11 et F11 sons des "invalides key" chez moi.
    quand je me positionne dans un item et que je fais f8 je n'ai rien comme message.
    par contre quand je fais f6 j'ai : argument 1 to builtin FIND_VIEW cannot be null (FRM-40738).
    j'ai regardé tout les items : leur type, leur longueur ont l'air correcte.

  9. #9
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Peu importe le raccourci clavier qui change entre 6i et 9i/10g.
    Lorsque vous exécutez manuellement le query dans le bloc, passe t-il par le post-query ?

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    non c'est mon probleme depuis le debut.
    le post-query n'est jamais executé apres l'execute-query.
    que se soit manuellement ou à l'execution.

  11. #11
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Pourtant les lignes sont bien affichées dans le bloc?

    le trigger POST-QUERY est bien nommé post-query et pas post_query par exemple?
    N'avez vous pas une erreur à l'exécution qui serait interceptée dans un trigger ON-ERROR ?

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    Pourtant les lignes sont bien affichées dans le bloc?
    Non je n'ai aucun enregistement de la table, par contre je visualise tout les items que j'ai placé dans le block.le post-query me sert à remplir les champs non basés.

    le trigger est bien nommé : post-query.

    malheuresement je n'ai aucune erreur à l'execution.
    de plus j'ai fait un autre block qui ressemble à 2 gouttes d'eau comme celui-ci qui est basé sur la meme table.Et qui marche sans probleme.

    Es ce que le probleme peut venir du bloc source (celui qui fait le go_block et le execute_ query) qui appelle le bloc destination(celui qui a le post-query)?.

  13. #13
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Citation Envoyé par decksroy Voir le message
    Non je n'ai aucun enregistement de la table, par contre je visualise tout les items que j'ai placé da
    donc l'execute_query foire, ou bien il ne ramène aucune ligne.
    Il est facile de comprendre que le POST-QUERY ne va pas se déclencher sur une ligne qui n'est pas ramenée.

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    j'ai la fin de ma question en haut de la votre, j'ai appuyé sur entree par idnavertence.
    mais tant que je fais go__block et execute_query le post-query doit etre executé meme s'il n'ya pas d'enregistrement.non?

  15. #15
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Non, le post-query se déclenche pour chaque ligne ramenée. Pas de ligne, pas de post-query.

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    En tout cas je suis sur qu'il me ramene des lignes car dans le when-button-pressed, j'insere dans la table du bloc basé (les données sont bien presentes).
    voici le when_button_pressed :
    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
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    BEGIN
    	:BLK_SUIVI_IN.SINS_DATE_REC_AR := :BLK_SUIVI_IN.SINS_DATE_REC_AR;
    	ps_valider ;
    	IF :BLK_SUIVI_IN.ROWID IS NOT NULL THEN
    	execute_query;	
    	DECLARE 
    	CURSOR cur_nbDocs IS 
    	SELECT COUNT(*) nbDocs
    	FROM SINISTRES_PHASES
    	WHERE sinph_sins_id = :BLK_SINISTRES_SUIVI_IN.SINS_ID ;
     
    	rec_Docs			cur_nbDocs%ROWTYPE ;
    	BEGIN
    		OPEN cur_nbDocs ;
    		FETCH cur_nbDocs into rec_Docs ;
    		CLOSE cur_nbDocs ;
    		IF rec_Docs.nbDocs = 0 THEN
    			Pkg_Sec_Sin.PS_CREDOCS('SIN_PHASES_IN',:BLK_SUIVI_IN.SINS_ID) ;
    		END IF ;
      	go_block('BLK_SIN_PHASES_IN');
      	execute_query;
    	END ;
    	END IF ;
    END;
    j'ai verifié j'insere bien des lignes dans la table du block (celui qui n'execute pas le post-query) avec la procedure ps_credocs.
    elle me sert à affiché des libellés d'une table de parametre.

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    non ne partez pas je sens que la reponse n'est pas loin.
    En tout cas j'ai verifié sur le execute query rien n'est ramené alors que j'ai des enregistrements dans la table.
    et le block est bien basé sur cette table.
    il ya aussi dans ce block un item basé sur l'id de la table.

  18. #18
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Ne pas confondre execute_query qui interroge la table et rempli le bloc avec toute autre façon manuelle de créer des enregistrements dans le bloc.

    donc, lorsque le bloc est basé et que vous faites execute-query, le post-query se déclenche sur chaque ligne ramené.
    Lorsque vous créez vous même des enregistrements dans le bloc, le post-query ne se déclenchera jamais.

  19. #19
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Vérifiez la condition éventuelle que vous avez mis sur la propriété WHERE du bloc, et également qu'il n'y a pas un message d'erreur dans la status bar au moment de l'execute query.

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    331
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 331
    Par défaut
    ok.
    Mais la je viens de voir quand je debug que le block_status est egal a "new" alors qu'il devrait etre à "query" quand j'execute le execute_query.
    pourquoi?
    il n'est donc pas passé en mode interrogation?
    je ne comprends pas.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Lsmod ne s'execute pas
    Par bmamine dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 25/11/2005, 17h45
  2. Mon getline ne s'execute pas.
    Par mail1789 dans le forum C++
    Réponses: 7
    Dernier message: 21/08/2005, 20h42
  3. help please[global.asa] il s'execute pas!
    Par thief dans le forum ASP
    Réponses: 6
    Dernier message: 24/03/2005, 14h10
  4. ShellExecuteEx ne s'execute pas à chaque fois??
    Par Gothico dans le forum MFC
    Réponses: 11
    Dernier message: 01/03/2005, 23h02
  5. [Kylix] Compilation OK Execution pas ok
    Par teurf dans le forum EDI
    Réponses: 14
    Dernier message: 03/12/2002, 16h10

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