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 :

Bloc basé : demande de sauvegardes des modifs en cours


Sujet :

Forms Oracle

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 16
    Par défaut Bloc basé : demande de sauvegardes des modifs en cours
    Bonjour,
    Voila un pb classique en forms 6i :
    - J'ai un bloc basé BL_A sur une table A.
    - J'ai mis un bouton pour insérer en masse des enregistrements dans la table A :
    - Lorsque clic sur ce bouton :
    Je remplis la table A : insert into A select ...
    Je refais un execute query du bloc BL_A pour rafraichir mon bloc
    => les données s'affichent.

    Par contre, lorsque je quitte la form : on ne me demande pas d'enregistrer alors que des modifications sont en cours.
    Je pense que c'est parce que je n'ai aucune valeur changée dans le bloc, et que le statut de la form est à query => pour forms, il n'y a pas de modifications à enregistrer.

    - Je ne pense pas que l'on puisse changer le statut de la form à CHANGED (via set_block_property)

    - Ou alors je dois faire les insert dans le bloc BL_A via create record (faire une boucle) mais au niveau de temps de réponse je ne suis pas très chaud.

    Quelqu'un a une astuce pour pallier à ce problème ou une idée?

    Merci d'avance!

  2. #2
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    il me semble bien pourtant que le statut peut être changé. C'est pas en changeant la valeur de la variable SYSTEM.BLOCK_STATUS ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 16
    Par défaut
    Bonjour,
    Merci de la réponse.
    Je viens d'essayer : on ne peut pas modifier cette variable. On peut seulement la tester (Cela ne passe pas à la compilation).
    Et on ne peut pas modifier la propriété du block par un set_block_property...

    D'autres idées?
    Merci d'avance!

  4. #4
    Membre Expert Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Par défaut
    essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set_record_property(1,'monblock',STATUS,CHANGED_STATUS)

  5. #5
    Membre expérimenté Avatar de JerryMouse
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2002
    Messages : 215
    Par défaut
    Ton block est toujours marqué comme modifié et tu ne peux rien y faire.
    tu as une autre Option:
    La requete de ton bouton ou tu fais le insert, tu lla deplace dans un trigger on-Insert de ton block de donnée. cela va détourner le insert normal. et derriere ton bouton, tu fais juste un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    commit_form;
    Execute_Query;
    Bonne chance.

  6. #6
    Membre éclairé Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Par défaut
    ça dépend de ce que tu veux comme résultat
    1) tu veux que dès que tu fais l'insert se soit committé en base de données ?
    2) tu veux que se soit validé quand tu quittes l'application ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 16
    Par défaut
    Merci pour vos réponses!

    - J'ai déjà pensé et essayé la solution de Garuda
    set_record_property(1,'monblock',STATUS,CHANGED_STATUS)
    Mais ça interfère avec certaines procs standards que je suis obligé d'utiliser.

    - La solution de NGuessan n'est pas possible dans mon cas car je ne veux pas commiter à chaque appui sur le bouton : je développe des écrans spécifiques dans un progiciel sous forms et mes utilisateurs ont l'habitude de sauvegarder par F12.

    - En fait, je voudrais que si l'utilisateur a fait des modifs et qu'il change de conditions d'affichage ou qu'il fait F4 => on lui pose la question 'saisies en cours, voulez-vous sauvegarder?'


    D'autres idées?

  8. #8
    Membre éclairé Avatar de Nounoursonne
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 264
    Par défaut
    lorsque tu fais ton insert, tu positionnes une variable à 1 ou True, pour indiquer que tu dois demander la validation.
    Ensuite quand tu change de conditions d'affichage ou F4, dans ce cas tu teste la valeur de ta variable et du demandes de valider, et n'oublie pas de repasser la variable à 0 ou false

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 16
    Par défaut
    Merci pour votre aide,
    Je viens de trouver une solution pas trop mal :

    En fait, j'ai un autre bloc basé "C" dans l'écran.
    dès que je clique sur mes boutons d'insertion/delete en masse, je remodifie une zone de mon autre bloc basé "C" : je modifie puis je remets la même valeur dans l'item .
    Forms détecte alors qu'il y a des modifs en cours => il me demande de sauvegarder.
    Cela m'a lair de bien fonctionner!

    A bientôt

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/06/2008, 21h36
  2. extraire, sauvegarder des modifications
    Par ARNAUD LALY dans le forum Excel
    Réponses: 4
    Dernier message: 11/03/2008, 15h42
  3. Table de sauvegarde des modifications
    Par Mitrina dans le forum Modélisation
    Réponses: 2
    Dernier message: 21/01/2008, 09h51
  4. sauvegarde des modifications
    Par g0up1l dans le forum Firebird
    Réponses: 2
    Dernier message: 17/05/2007, 19h09
  5. Sauvegarde des modifs à la sortie d'un formulaire
    Par Jik70 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 02/05/2006, 10h13

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