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

WinDev Discussion :

Fenêtre table fiche comportement bizarre [WD17]


Sujet :

WinDev

  1. #1
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 573
    Points : 258
    Points
    258
    Par défaut Fenêtre table fiche comportement bizarre
    Bonjour à tous

    Soit une fenêtre faite avec l'aide de windev nouvelle fenêtre=>fenêtre table avec fiche détail.
    La source de données pour cette fenêtre est une requête sur un seul fichier.

    J'obtiens donc une fenêtre avec une table et tous les champs sous forme de rubriques dans un SuperChamp. Lorsque je clique sur un enregistrement de la table les rubriques de la fiche se mette à jour.
    Jusque là tout va bien.
    Je rencontre un problème lorsque je veux modifier les données. J'ai remarqué que les modifs n'étaient prisent en compte que lors du 1er clic sur le bouton "appliquer". Toutes les modifications suivant ce premier clic ne sont pas prises en compte et le clic sur le bouton "appliquer" a pour effet de supprimer les modifs et de remettre ce qu'il y avait avant..

    J'ai aussi remarqué que si je fais la même démarche en choisissant un fichier au lieu d'une requête et le problème n'a pas l'air de se poser.....

    Le seul code qu'il y ait c'est un lorsque je sélectionne une ligne de la table et ceci lorsque j'applique les modification "Bouton modifier" mis par le RAD.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    EcranVersFichier(FEN_Clients,REQ_ClientsAlpha)
    SI REQ_ClientsAlpha..NouvelEnregistrement ALORS
    	HAjoute(REQ_ClientsAlpha)
    SINON
    	nTest est un entier = HModifie(REQ_ClientsAlpha)
    	SI nTest<>1 ALORS
    		Info(ErreurInfo(errComplet))
     
    	FIN
    FIN
     
    TableAffiche(TABLE_REQ_ClientsAlpha, taCourantEnreg)
    Je suppose que le problème vient de l'utilisation d'une requête. Comment dois-je m'y prendre ?
    Merci d'avance pour vos idées ......

  2. #2
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 573
    Points : 258
    Points
    258
    Par défaut
    Je me demande si le problème ne vient pas de ma dernière ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TableAffiche(TABLE_REQ_ClientsAlpha, taCourantEnreg)
    Dans l'aide de Windev je trouve ceci pour la propriété "taRéExécuteRequête" de tableaffiche:

    Attention : Seule la requête liée au champ est exécutée. Si des options spécifiques ont été précisées avec la fonction HExécuteRequête (par exemple hModifieFichier), ces options ne sont pas prises en compte.
    Je me demande si ce n'est pas la même chose qui se passe avec la propriété "taCourantEnreg".....

    Qu'en pensez-vous ?

    Cela voudrait donc dire que l'on ne peut pas utiliser en l'état la fenêtre type "table fiche" proposée lorsque l'on crée une nouvelle fenêtre avec une requête comme source.....

    Ça me semble un peu gros mais après tout ça expliquerait bien ce que je remarque.....

  3. #3
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 573
    Points : 258
    Points
    258
    Par défaut
    Effectivement si je remplace mon code initial par:
    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
    nIndice est un entier= TableSelect(TABLE_REQ_ClientsAlpha)
    EcranVersFichier(FEN_Clients,REQ_ClientsAlpha)
    SI REQ_ClientsAlpha..NouvelEnregistrement ALORS
    	HAjoute(REQ_ClientsAlpha)
    SINON
    	nTest est un entier = HModifie(REQ_ClientsAlpha)
    	SI nTest<>1 ALORS
    		Info(ErreurInfo(errComplet))
     
    	FIN
    FIN
    HExécuteRequête(REQ_ClientsAlpha,hModifieFichier)
    TableAffiche(TABLE_REQ_ClientsAlpha)
    TableSelectPlus(TABLE_REQ_ClientsAlpha,nIndice)
    FichierVersEcran()
    Je n'ai plus le problème......
    J'ai donc juste rajouté en première ligne une variable indice qui stocke la postion de la ligne sélectionnée dans ma table
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nIndice est un entier= TableSelect(TABLE_REQ_ClientsAlpha)
    Puis j’exécute ma requete en mode modification
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HExécuteRequête(REQ_ClientsAlpha,hModifieFichier)
    et je me repositionne sur la ligne de la table qui était sélectionnée grâce à la variable indice...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TableSelectPlus(TABLE_REQ_ClientsAlpha,nIndice)
    Y a-t-il plus simple ?

  4. #4
    Membre actif

    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2006
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Août 2006
    Messages : 573
    Points : 258
    Points
    258
    Par défaut
    Bon ben apparemment il n'y a pas plus simple je mets donc en résolu un peu à contre coeur......

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

Discussions similaires

  1. [11gR2] Comportement bizarre de la table dual
    Par Ikebukuro dans le forum Administration
    Réponses: 5
    Dernier message: 30/06/2015, 11h07
  2. Réponses: 6
    Dernier message: 17/06/2009, 15h11
  3. [ACESS][MEMO][ISNULL]Comportement bizarre
    Par seb.49 dans le forum ASP
    Réponses: 2
    Dernier message: 09/06/2004, 10h44
  4. [HttpClient] comportement bizarre, saute des catch()...
    Par iubito dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 04/02/2004, 15h25
  5. [Sybase] Comportement bizarre d'une table
    Par sdozias dans le forum Sybase
    Réponses: 4
    Dernier message: 03/02/2004, 10h39

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