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 :

Oracle forms


Sujet :

Forms Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Oracle forms
    msg
    j'ai une form contenant deux Blocks B1(items: :B1.idcli, :B1.dts) --non basé--
    et B2(items: :B2.idcli, :B2.idp, :B2.dtr, :B2.dts)

    le block B2 est basé sur la table DEPOSER(idcli,idP,dtr,dts);
    B2 contient une requete pour sélectionner dans la table "DEPOSER" tous les prds déposés par le Client :B1.idcli

    prg: avec un déclencheur When-new-block
    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
    declare 
    	cursor cc is
    	select deposer.idp,deposer.dtr,deposer.dts,produit.desp,produit.etat  
    	from deposer,produit
    	where (deposer.idcli=:bl.idcli)and(produit.idp=deposer.idp)and(deposer.dts='01-mars-1000');
    	v1 DEPOSER.idp%type;                  
    	v2 deposer.dtr%type;
    	v3 produit.desp%type;
    	v4 produit.etat%type;
    	v5 deposer.dts%type;
    begin
    	open cc;
    	loop
    	 fetch cc into v1,v2,v5,v3,v4 ;
    	 go_block('deposer');
    	 :deposer.idp:=v1;
    	 :deposer.dtr:=v2;
    	 :deposer.prod:=v3;
    	 :deposer.etat:=v4;
    	 :deposer.dts:=:bl.dts;
    	 exit when cc%NOTFOUND;
    	 create_record;
    	end loop;
    	clear_record;
    	close cc;
    end;  -- rmq: ça marche--
    Prb: Je veux modifier la date "dts" dans la table "DEPOSER" de chaq produit restitué,
    à l'execution il me signale FRM-40508
    Merci bien

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 138
    Points : 166
    Points
    166
    Par défaut
    Je veux modifier la date "dts" dans la table "DEPOSER" de chaq produit restitué
    Je ne comprends pas ce que tu veux dire par là...


    à l'execution il me signale FRM-40508
    Si ma mémoire m'est fidèle, il s'agit d'un "Cannot insert record". Évidemment, si les enregistrements du bloc sont créés à la mitaine, il les voit comme des enregistrements "insérés par l'utilisateur" et souhaite à son tour, les insérer dans les tables de la base quand tu cliques sur enregistrer (parce que j'ai supposé que tu avais cliqué sur la disquette, ce message là n'arrive jamais autrement).

    Un petit retour aux sources est peut-être la solution. Pourquoi ne pas laisser FORMS faire son travail en le laissant lui même fetcher les données de la bd, tu n'auras pas à faire toute cette gestion toi même!


    Si tu y tiens absolument, tu peux toujours jetter un coup d'oeil à SET_RECORD_PROPERTY afin d'en changer le statut au besoin, pour dire à forms de ne pas faire/ou de faire telle ou telle action sur un clic sur la disquette.

    Dans le pire des cas, les triggers on-insert et on-update peuvent p-e aussi t'aider. Tu décides ainsi ce que tu insères et updates... Mais à déconseiller dans ton cas, tu aurais beaucoup plus de code à écrire.

    Morale de l'histoire, 2 choses :
    1. Laisser Forms faire son travail et ne pas intervenir pour fetcher des données.
    2. Expliquer plus clairement les problèmes afin qu'on ait pas à supposer.

    Bonne journée

  3. #3
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 90
    Points : 67
    Points
    67
    Par défaut
    salut
    peux tu me donner le script avec lequel tu veux modifier la date

Discussions similaires

  1. [Forms]Oracle Forms/Report 9i - erreur FRM-41214
    Par rayane31 dans le forum Forms
    Réponses: 10
    Dernier message: 21/10/2006, 23h33
  2. Oracle forms
    Par deuth dans le forum Forms
    Réponses: 1
    Dernier message: 13/07/2005, 07h53
  3. oracle forms 6i
    Par kazaboua dans le forum Forms
    Réponses: 4
    Dernier message: 02/07/2005, 16h40
  4. Réponses: 4
    Dernier message: 07/06/2005, 15h14
  5. Réponses: 5
    Dernier message: 27/07/2004, 15h57

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