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 :

Call_form execute_query avec paramètre


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut Call_form execute_query avec paramètre
    bonjour

    est quelqu'un peut m'aider à réaliser ceci:

    un bouton dans une form qui appelle une autre forme en lui envoyant un paramètre.
    Après l'appel, la forme appelée execute une requete avec le paramètre envoyé par la forme appelante.

    est ce qu'il faut définir une varaiable globale? quel trigger utiliser? ou... comment faire?!

    merci de votre aide

    a+

  2. #2
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    Salut,



    un bouton dans une form qui appelle une autre forme en lui envoyant un paramètre.

    1-Tu crées un parametre(p1) ou plusieurs ( selon le besoin) dans ta forme appelée.

    2- Tu trouveras la suite dans ce lien :
    http://sheikyerbouti.developpez.com/...g/?page=Chap37.

    Après l'appel, la forme appelée execute une requete avec le paramètre envoyé par la forme appelante.

    Tu mets dans ton pre-query de la forme appelée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    :nom_block.nom_champ:=:parameter.p1;
    Remarque : Tu peux aussi utiliser le set_block_property('nom_block',default_where,'nom_champ=:parameter.p1');

  3. #3
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    bonjour;

    voici un exemple qui montre comment appeller un forms à partir d'un autre;

    ds forms SOURCE....

    ds l'evenement WHEN-BUTTON-PRESSED:
    <code>
    declare
    PL_key ParamList;
    PL_nom varchar2(15):='tmp_donnee';
    begin
    PL_key :=get_parameter_list(PL_nom);
    if id_null(PL_key)then
    PL_key:=create_parameter_list(PL_nom);
    else
    delete_parameter(PL_key,'param_cible');----parametre ds forms cible
    end if;

    add_parameter PL_key,'param_cible',text_parameter,:LOCATION_ID);--nom du champ distination (key)
    open_form('c:\test\cible',activate,no_session,PL_key);--appel du forms CIBLE

    </code>

    ds la forms CIBLE:
    vous creer un parametre portant le meme nom qui est utilisé ds forms SOURCE exp. 'param_cible'
    il faut renseigner le declancheur (evenment )WHEN-NEW-FORM-INSTANCE avec:
    <code>
    if :parameter.param_cible is not null then

    set_block_property('COUNTRIES',default_where,'LOCATION_ID='''||:parameter.param_cible||'''');
    set_window_property('COUNTRIES',title,:parameter.param_cible);

    else
    set_block_property('COUNTRIES',default_where,'');

    end if;


    execute_query;
    </code>

    sinon CIBLE ne prent pas en consideration le parametre
    Fichiers attachés Fichiers attachés

  4. #4
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 53
    Par défaut
    bonjour,

    je remercie infiniment salim11 et boussafi pour leur aide.Grace à eux et le help de Forms, j'ai réussit à résoudre mon problème. voici une synthèse de la solution:

    - Dans la form source:
    Dans le When_button_pressed du bouton (qui appelle la forme cible), ajouter le code suivant:
    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
     
     
    DECLARE
    	PL_ID PARAMLIST;
    BEGIN
      PL_ID:=get_parameter_list('PL'); /* 'PL' est le nom de la liste
      if id_null(PL_ID)then
      PL_ID:=CREATE_PARAMETER_LIST('PL');
      else
      delete_parameter(PL_ID,'PL');
      end if;
      
      IF Id_Null(pl_id) THEN 
        Message('Error creating parameter list '); 
        RAISE Form_Trigger_Failure; 
      ELSE
       Add_Parameter(pl_id,'PL',TEXT_PARAMETER,:nom_block.nom_item);
       CALL_FORM('nom_forme_cible',hide,no_replace,no_query_only,pl_id);
      END IF;
    END;
    -Dans la form cible:
    * Ajouter un paramètre à l'aide de l' Object Navigator. nommer le paramètre PL
    (le même nom utilisé dans la forme source)

    * Dans le Pre-query de la forme cible, ajouter le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    if :parameter.PL is not null then
     
    :nom_block.nom_item:=:parameter.pl;
     
    end if;
    *Dans le When_new_form_instance, ajouter le code suivant:
    Avec ces étapes, ça devrait marcher. en tout cas, c'est le cas pour moi.

    Remarque:
    après avoir effectuer les modifications sur la forme source, effectuer une compilation de la forme avant de l'appeler depuis la forme source, en effet, cette dernière fait appel à l'executable de la forme cible (.fmx).

    Merci à tous

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    422
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 422
    Par défaut
    je confirme, j'emploie la même manière de procéder

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

Discussions similaires

  1. dbexpress : delete avec paramètre
    Par KRis dans le forum Bases de données
    Réponses: 2
    Dernier message: 14/06/2005, 10h04
  2. [VB.net] Thread avec paramètres
    Par WriteLN dans le forum Windows Forms
    Réponses: 4
    Dernier message: 19/04/2005, 17h42
  3. requête SQL avec paramètre en vb avec base de donnée SQL srv
    Par dialydany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/02/2005, 10h33
  4. [PL/SQL] Curseur avec Paramètre
    Par blids dans le forum Oracle
    Réponses: 5
    Dernier message: 10/10/2004, 20h07
  5. Réponses: 3
    Dernier message: 21/05/2003, 11h44

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