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 :

Forms 6i probleme


Sujet :

Forms Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 2
    Points
    2
    Par défaut Forms 6i probleme
    Salut je débute en forms 6i
    J'ai réalisé un simple formulaire et je positionne les variables insertion autorisée à oui ainsi que Mise à Jour.
    Pourtant lorsque je veux faire un commit, je tombe sur une erreur oracle: Insert impossible.
    J'ai les droits du dba et je peux insérer à loisir via sqlplus.
    Je suis sous forms 6i et oracle 9i2.
    Any Help appreciated.
    Thanks.

  2. #2
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 2
    Points
    2
    Par défaut Plus de détails sur mon problème
    Le problème vient des clés primaires.
    En effet quand je fais un commit sur le bloc, forms essaie d'insérer les enregistrements déjà existants au lieu de faire une simple mise à jour .D'où une erreur oracle car la contrainte unique sur la clé primaire n'est pas respectée.
    Comment faire pour contourner ce problème?

  3. #3
    McM
    McM est déconnecté
    Expert éminent

    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
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Forms gère tout seul le fait de savoir si c'est un INSERT ou un UPDATE à faire.

    Pour updater une ligne qui existe déjà, il faut la ramener de la base par un query. C'est bien ce que tu fais ?

    Pour avoir l'erreur exacte : fais CTRL+F1 (pour avoir la liste des touches) et regarde le "Afficher erreur". Chez moi c'est SHIFT+F1.

  4. #4
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 2
    Points
    2
    Par défaut forms 6i
    Oui c'est bien ce que je fais.
    Je récupère tous les enregistrements via un curseur de la base de données et je peuple mon tableau .
    Mais quand je fais un commit, forms s'amuse à vouloir faire un insert au lieu de faire un update sur les champs déjà existants.
    Pour info ce problème n'apparait pas sur les autres formulaires que j'ai développés.

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 2
    Points
    2
    Par défaut
    L'erreur est forms 40-508 : insertion Insert oracle impossible.
    En effet Forms veut insérer les champs déjà existants au lieu de les mettre à jour d'où erreur sur les clés primaires qui doivent être uniques;
    Comment débloquer ce problème?

  6. #6
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 2
    Points
    2
    Par défaut
    il faut la ramener de la base par un query
    JE NE SAIS PAS SI C'EST EXACTEMENT CE QUE JE FAIS.
    Moi je peuple mon tableau d'enregistrements par un curseur qui récupère ses informations de la table.
    Est ce que c'est pareil?

  7. #7
    McM
    McM est déconnecté
    Expert éminent

    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
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut Re: forms 6i
    Citation Envoyé par debutant forms 6i
    Je récupère tous les enregistrements via un curseur de la base de données et je peuple mon tableau .
    Ah non, c'est pas du tout comme ça que ça marche... là tu insères toi même des enregistrements dans un tableau.
    Il faut baser ton bloc sur ta table et faire un query de ton bloc.

  8. #8
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 2
    Points
    2
    Par défaut
    Comment ça marche les query?

  9. #9
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 2
    Points
    2
    Par défaut
    Normalement forms récupère lui-même les champs de la table surlaquelle est basé le bloc .Là il ne veut pas.
    Pourtant je passe par l'assistant.
    ????,

  10. #10
    McM
    McM est déconnecté
    Expert éminent

    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
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par debutant forms 6i
    Comment ça marche les query?
    2 façons : soit automatiquement, soit manuellement.

    1/ Manuellement : Tu vas sur ton bloc, tu fais F7 (Menu Edition - Interroger - Entrer), tu mets les conditions que tu veux dans les différents champs (rien si tu veux tout), puis tu fais F8 (Menu Edition - Interroger - Lire).

    2/ Automatiquement (ex a l'ouverture de l'écran)
    dans le trigger WHEN NEW FORM INSTANCE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GO_BLOCK('MON_BLOCK');
    EXECUTE_QUERY;
    Tu as aussi un paramètre du bloc qui s'appelle 'DEFAULT_WHERE' que tu peux affecter dynamiquement (SET_BLOCK_PROPERTY) pour limiter les enreg que tu veux.

  11. #11
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 2
    Points
    2
    Par défaut
    faire un query de ton bloc
    Que veux tu dire par là?

  12. #12
    Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 23
    Points : 2
    Points
    2
    Par défaut
    ok Thanks a lot.

Discussions similaires

  1. form contact probleme
    Par eamon250d dans le forum Langage
    Réponses: 4
    Dernier message: 25/08/2010, 09h58
  2. [forms 6i]probleme avec JDAPI
    Par medbouh dans le forum Forms
    Réponses: 2
    Dernier message: 03/08/2009, 13h36
  3. Form Dispose probleme
    Par TrollTop dans le forum C++/CLI
    Réponses: 4
    Dernier message: 14/04/2008, 13h51
  4. Forms Authentication Problem
    Par soldiertt dans le forum SharePoint
    Réponses: 6
    Dernier message: 06/09/2007, 10h28
  5. Réponses: 1
    Dernier message: 31/03/2006, 08h37

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