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 :

Remplir un bloc de données tabulaire par un curseur


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Par défaut Remplir un bloc de données tabulaire par un curseur
    Bonjour,

    Je souhaite à l'aide d'un curseur remplir un bloc de données nommé emp.
    J'ai fait un next_record mais ça ne l'accepte pas dans un déclencheur when_validate_item.

    Voilà où j'en suis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    declare
    	cursor c_emp(p_deptno number) is
    	select empno,ename,job from emp where deptno=p_deptno;
     
    begin
    	open c_emp(:deptno1);
    	fetch c_emp into :empno,:ename,:job;
    	close c_emp;
    end;
    /
    Aidez-moi pour charger tous les enregistrements ramenés par le curseur.

    Merci !

  2. #2
    Membre très actif Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 941
    Par défaut
    regarde ici

    .

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Par défaut Affichage Resultats requête curseur dans un bloc
    Merci.
    J'ai vu le procédé mais mon problème c'est que je dois remplir un bloc en validant un champ de saisie qui est renseigné par un LOV.
    De ce fait j'utilise le Trigger When_validate_item pour traiter ça :
    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
     declare
    	cursor c_emp(p_deptno number) is
    	select empno,ename,job from emp where deptno=p_deptno;
     
     begin
     	last_record;
     	for cur in c_emp(:deptno1) loop
     		create_record;
     		:emp.empno:=cur.empno;
     		:emp.ename:=cur.ename;
     		:emp.job:=cur.job;
     	end loop;
     	first_record;
     
     end;
    Or quand j'execute il me dit :
    FRM40737. Procédure restreinte interdite CREATE_RECORD dans le declencheur When_Validate_Item.
    Procedure restreinte interdite Go_Block dans le déclencheur When_validate_item
    Procedure restreinte interdite Get_relation_property dans le déclencheur When_Validate_Item.
    Mon problème reste entier. Que faire ?

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Tu ne peux pas faire de go_block dans un WHEN-VALIDATE
    Il faut le faire dans un WHEN-NEW
    La solution est de créer un paramètre (initialisé à 0) que tu mets à 1 dans ton When-validate-item
    Ensuite un trigger de block (WHEN-NEW-ITEM_INSTANCE) vérifie que le param est à 1, le remat à 0 et lance ta procédure de remplissage.

    Sinon : Es-tu sur de devoir renseigner le block par un curseur (c'est une erreur fréquente chez les débutants) ?
    Car un block basé sur EMP avec une condition where sur deptno, c'est la bonne façon de faire.

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 469
    Par défaut
    Voila j'ai ai parvenu avec l'utilisation des deux déclencheurs when_validate et when_item_instance.
    En fait c'est sur que je veux utiliser un bloc non basé car comme je l'utilise que pour en quelque sorte faire un genre de recherche. quand le champ deptno d'en haut est renseigné via une LOV, j'amène les employés correspondants.
    Donc du coup le curseur m'arrange je pense.
    Merci.

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

Discussions similaires

  1. [AC-2003] A partir d'un intervalle de date remplir des données jour par jour
    Par colline_ dans le forum Access
    Réponses: 8
    Dernier message: 18/04/2014, 11h42
  2. bloc de données tabulaire +multi boutons
    Par killua86 dans le forum Forms
    Réponses: 4
    Dernier message: 20/06/2010, 14h48
  3. Ouverture d'un fichier txt et lecture par blocs de données
    Par zazouille_63 dans le forum MATLAB
    Réponses: 1
    Dernier message: 17/04/2009, 08h17
  4. [forms] ref cursor associé à un bloc de données
    Par plaineR dans le forum Forms
    Réponses: 9
    Dernier message: 27/08/2004, 18h26
  5. Réponses: 8
    Dernier message: 20/07/2004, 11h46

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