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 :

When-button-pressed insert, update


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut When-button-pressed insert, update
    Bonjour à tous,

    mon souci est que je n'arrive pas à faire d'action du type insert ou update avec un boutton.
    J'utilise le smarttrigger when-button-pressed j'y met ma requête sql concernant l'update ou l'insert mais le soucis c'est que quand je clique sur le boutton j'ai l'impression qu'il essaye d'inserer ou d'update les bloc de ma presentation

    e sujet étant la gestion d'un comité d'entreprise qui permet l'inscriptions des enfants d'un salarie à des centres de vacances;

    Explications:

    j'ai 5 bloque dans ma présentation , ces bloques faisant référence à 5 tables de ma bases

    SALARIE
    ENFANT
    ANNEE
    MOI
    LIEU

    Grâce au LOV je choisis un salarie, puis un de ces enfants, ensuite je choisit un mois et une année puis un lieu. jusque l'a pas de soucis tous ce passe bien

    ensuite j'ai un boutton don le trigger when-button-pressed contient :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO CHOIX (id_choix,nom_mois,id_lieu,id_validation) VALUES (choix_seq.NEXTVAL,:MOIS.nom_mois,:LIEU.id_lieu,1);
    INSERT INTO FAIRE_CHOIX (num_annee, id_enfant, id_choix) VALUES (:ANNEE.num_annee,:ENFANT.id_enfant,choix_seq.CURRVAL);
    commit;
    et l'erreur qui me sort est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FRM-40508 : Insertion impossible
    INSERT INTO SALARIE(ID_SALARIE,NOM_SALARIE,PRENOM_SALARIE) VALUES (:1,:2,:3) 
    ORA-00001: violation de contrainte unique (YOANN.GREGOIRE.PK_SALARIE)
    forcement violation de contrainte unique, vu qu'il essaye d'inserer un salarie, que j'ai sélectionné dans la base.
    Bon comme j'avais pas de insert into salarie dans mon when-button-pressed , je me suis dis : ça vient peut etre d'un trigger. puis au final non, ça vient d'aucun trigger.


    Et ça me fait l'a même chose sur un update, j'ai une vue, j'essaie d'update une table de ma base et il me sort une erreur car il essaye d'inserer ma vue


    Je comprend pas vraiment d'ou ça peut venir

    Merci bien

    Yann

  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
    Pourquoi gérer les ordres d'insertion mise à jour et suppression à la main alors que Forms le fait si bien tout seul

    Faites simplement COMMIT et Forms se débrouillera avec la base.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut
    ben comment il va savoir ou j'ai besoin de creer des tuples, sachant que les tables ou j'insert, ne sont pas présent dans le formulaire

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO SALARIE(ID_SALARIE,NOM_SALARIE,PRENOM_SALARIE) VALUES (:1,:2,:3)
    ça, ça vient forcément d'un bloc basé.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 102
    Par défaut
    Le soucis c'est qu'on a eu qu'un petit tutoriel sur forms avant le projet, donc effectivement je comprend pas énormement son fonctionnement.

    En ce qui concerne le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO SALARIE(ID_SALARIE,NOM_SALARIE,PRENOM_SALARIE) VALUES (:1,:2,:3)
    C'est généré tout seul lors ce que j'appui sur le boutton pour faire mes insert, je n'ai jamais écrit cette ligne.

    Sinon quel moye y'a-til d'éxécuté une requête sql avec un when-pressed-button?

  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
    Je sais bien que vous n'avez pas écrit cette ligne. Cette requête est générée automatiquement par Forms car vous avez un bloc basé sur la table SALARIE.

    Ce que je veux dire, c'est que lorsque vous utilisez des blocs basés (donc sur une table) Forms gère automatiquement l'interaction avec la base et donc les ordres DELETE, UPDATE et INSERT. Vous n'avez donc pas à le faire "à la main"

Discussions similaires

  1. Trigger When-Button-Pressed ne fonctionne pas
    Par Finol dans le forum Forms
    Réponses: 5
    Dernier message: 20/12/2012, 15h18
  2. FRM-40735 (When button pressed) ORA-01403
    Par miss_poopoucy dans le forum Forms
    Réponses: 1
    Dernier message: 17/09/2009, 19h05
  3. Réponses: 4
    Dernier message: 07/08/2008, 09h34
  4. Réponses: 2
    Dernier message: 04/06/2007, 13h53

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