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 :

FRM-40505


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 18
    Par défaut FRM-40505
    bonjour
    j'ai un declencheur ' WHEN-NEW-BLOCK-INSTANCE' que au moment où il doit s'executer je reçoie le message d'erreur suivant : FRM-40505 erreur oracle: execution impossible de l'interrogation

    ça peut etre quoi la cause?

    NB le code de mon declencheur :


    IF :KEY_BLOCK.CODE IS NOT NULL THEN
    EXECUTE_QUERY;
    ELSE
    GO_BLOCK('KEY_BLOCK');
    END IF;

  2. #2
    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
    Plusieurs causes possibles.

    Généralement cela vient du fait qu'un des champs basé du block est de type incorrect ou est basé alors qu'il ne correspond à aucune colonne de la table,...


    Vérifiez les propriétés de chaque champ de ce bloc sa taille (est-til sous-dimentionné ?), son type (est-ce le bon ?) son adéquation avec la colonne de la table sous-jacente

  3. #3
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 18
    Par défaut
    j'ai resolu ce probleme c''est que j'avais un champ qui n'est pas element de la base de données et montioné comme ettant un element de la bese.

    mais j'ai dans un autre declecheur : d'inserer des données dans une table , il insere tout sauf un champ , ce meme champ où j'avais le premier probleme , il reste vide
    qu'est ce que je peux faire ?

  4. #4
    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
    C'est normal que ce champ ne soit pas inséré dans la table puisqu'il n'est pas basé !

  5. #5
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 18
    Par défaut
    et qu'est ce que je peux faire dans un cas pareil , puisque quand je l'ai basé le requete ne s'executait pas.

    c 'est un element texte dans un bloc de données , je veux inserer la valeur de cet element dans un champ d'une table ( un autre bloc de données )

  6. #6
    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
    Le plus simple est de gérer l'insertion de ce champ dans l'autre table dans un trigger POST-INSERT ou POST-UPDATE de votre bloc.

  7. #7
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 18
    Par défaut
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    BEGIN
    	GO_BLOCK('AFFECTER_MATIERE');
    	FIRST_RECORD;
     
    	WHILE :SYSTEM.LAST_RECORD = 'FALSE' LOOP
     
    	  IF :NOTE IS NOT NULL AND :OBSERVATION IS NOT NULL THEN
    	    INSERT INTO PASSER (MATRICULE_ETUD,
    	                        CODE_MATIERE,
    	                        CLASSE,
    	                        NOTE,
    	                        NOTE_POND,
    	                        OBSERVATION,
    	                        ANNEE_UNIVERSIT)
    	    VALUES(:AFFECTER_MATIERE.MATRICULE_ETUD,
    	           :AFFECTER_MATIERE.CODE_MATIERE,
    	           :AFFECTER_MATIERE.CLASSE,
    	           :AFFECTER_MATIERE.NOTE,
     
    	           :AFFECTER_MATIERE.NOTE_POND,
    	           :AFFECTER_MATIERE.OBSERVATION,
    	           :K_ANNEE);
    	  END IF;
    	  NEXT_RECORD;
    	END LOOP;
     
      IF :SYSTEM.LAST_RECORD = 'TRUE' THEN
        IF :NOTE IS NOT NULL AND :OBSERVATION IS NOT NULL THEN
    	    INSERT INTO PASSER (MATRICULE_ETUD,
    	                        CODE_MATIERE,
    	                        CLASSE,
    	                        NOTE,
    	                        NOTE_POND,
    	                        OBSERVATION)
    	    VALUES(:AFFECTER_MATIERE.MATRICULE_ETUD,
    	           :AFFECTER_MATIERE.CODE_MATIERE,
    	           :AFFECTER_MATIERE.CLASSE,
    	           :AFFECTER_MATIERE.NOTE,
     
    	           :AFFECTER_MATIERE.NOTE_POND,
    	           :AFFECTER_MATIERE.OBSERVATION
    	           );
    	  END IF;
      END IF;
    :system.message_level := '25';  
    COMMIT;  		  	 
    :system.message_level := '0';
    CLEAR_FORM;
     
    END;
    mnt K_ANNEE est l'element texte où je rentre ma valeur dans le form , et je veux que ça s'insere dans le champ annee_universit d'une table (affecter_matiere) comme tous les autres elements dans cet insert .
    tous les champs sont inserer sauf le dernier .

    avec un post_insert , je peux inserer un seule elemant ?( dans une ligne qui contient +ieurs champs)

  8. #8
    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
    Le trigger POST-INSERT ou POST-UPDATE se déclenche bien évidement pour chaque enregistrement.

  9. #9
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 18
    Par défaut
    merci
    c bon je l'ai resolu , ai niveau de mon premier insert
    bonne journée

  10. #10
    Membre éclairé Avatar de sofien
    Inscrit en
    Février 2005
    Messages
    325
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2005
    Messages : 325
    Par défaut
    Bonjour, j'ai le même problème...La requête qui me génère l'erreur (en appuyant sur SHIFT+F1 est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT NBJ,NB,ANS,DATABS,NBR,DATFIN,MOTIF,ELEMAT,HEURE_ABS,ROWID FROM ABSENCE WHERE (ELEMAT=:1)
    Et l'erreur est : invalid number
    En fait j'ai vérifié le type des colonnes dans la base de données et ceux des champs mais il n y'a d'incompatibilités...

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

Discussions similaires

  1. [PROBLEME] erreur d'un poste client (FRM-40505 et 501)
    Par renren54 dans le forum Administration
    Réponses: 0
    Dernier message: 01/07/2010, 17h48
  2. [FORMS] Erreur FRM-40735 et ORA-6508
    Par sourizeante dans le forum Forms
    Réponses: 5
    Dernier message: 27/06/2007, 12h14
  3. [Forms]Oracle Forms/Report 9i - erreur FRM-41214
    Par rayane31 dans le forum Forms
    Réponses: 10
    Dernier message: 21/10/2006, 23h33
  4. [FORMS] Message d'erreur FRM-40106
    Par sourizeante dans le forum Forms
    Réponses: 2
    Dernier message: 11/08/2004, 18h15
  5. Réponses: 4
    Dernier message: 15/06/2004, 17h36

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