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 :

Stabilité (Rafraîchissement de tables)


Sujet :

WinDev

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 32
    Points
    32
    Par défaut Stabilité (Rafraîchissement de tables)
    Bonjour

    J'alimente une table (Table_1) moyennant une requette (REQ_002_det_mvt_select). La table affiche bien les données de la requette à partir une base de données.

    Je supprime les enregistrements sans problème par HExécuteRequêteSQL() sur un boutton de supression : code de suppression dessus


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	Req est une chaîne
    	Req = "delete from t_mvt_03_detail_mvt where id_detail_mvt ="+txt_modif_id_det_mvt
     
                Source_1 est une Source de Données
     
                SI PAS HExécuteRequêteSQL(Source_1,hRequêteDéfaut,Req) ALORS
                	Erreur(HErreurInfo())
                FIN
    Jusqu'à la pas de problème.

    mais quand je voulais rafraîchir ma table les problème se posent... la solution est évidente re-exécuter la requette de la table + la fonction TableAffiche() (exactement la méthode de remplissage de la table) code dessus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HExécuteRequête(REQ_002_det_mvt_select,hRequêteDéfaut,txt_modif_id_mvt)
    TableAffiche(Table_1,taCourantPremier)
    Je met ce code sur le click carrément d'un autre bouton mais dès fois il marche et plusieurs fois ne marche pas...!

    Je me pose la question de la stabilité de WD17 que j'utilise..

    Est ce que vous avez des idées...?

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 451
    Points
    2 451
    Par défaut
    Bonjour,

    Pourquoi voulez-vous effacer les lignes de la table ?
    Pour effacer les lignes d'une table mémoire : TableSupprimeTout() fera le job
    Pour répercuter les modifications intervenues dans le ou le(s) fichiers sous-jacent(s) à la requête : voir les constantes de TableAffiche(), notamment taInit

    Question stabilité, je commencerais par ME mettre en question avant de mettre Windev en question ou d'évoquer (généralement trop rapidement) un bug (ce que vous ne faites pas).
    Enfin, dans ce que vous nous montrez comme code, vous évoquez une requête Req_1 et votre code utilise REQ_002.
    C'est peut-être déjà une piste.

    Donc relisez la doc sur les tables et les instructions associées, revoyez votre code et vous aurez non pas une mais au moins trois heureuses surprises :
    1. Windev17 est stable
    2. Vous maîtriserez mieux Windev
    3 et + : vous aurez corrigé une ou plusieurs erreurs dans votre code.

    Bon travail,

    Hemgé.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 32
    Points
    32
    Par défaut
    Je te remercie Hemgé

    J'ai mal introduit mon problème, je utilise une seule requette "REQ_002_det_mvt_select" pour affichage et réaffichage (c'est corrigé en annoncé).

    Peu importe la méthode de suppression des enregistrements d'une table.. C'est légitime faire ça :
    1. Supprimer sur la base de données
    2. Ré-afficher la table

    Ma suppression se fait effectivement sans problèmes avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Req est une chaîne
    	Req = "delete from t_mvt_03_detail_mvt where id_detail_mvt ="+txt_modif_id_det_mvt
     
                Source_1 est une Source de Données
     
                SI PAS HExécuteRequêteSQL(Source_1,hRequêteDéfaut,Req) ALORS
                	Erreur(HErreurInfo())
                FIN
    Mais qu'est ce qui empêche le rechargement de la même table avec la même requête en affichant les nouvelles données..

    Dans mon cas, le rafraîchissement n'est pas stable..! Dès fois se donne bien.. et la majorité des cas marque des lignes en doubles et la table ne réagit pas avec ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HExécuteRequête(REQ_002_det_mvt_select,hRequêteDéfaut,txt_modif_id_mvt)
    TableAffiche(Table_1,taCourantPremier)
    Salutations

  4. #4
    Membre émérite
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Points : 2 451
    Points
    2 451
    Par défaut
    Tout est "légitime"... !
    Vous faites effectivement ce que vous voulez dans vos programmes.
    Mais, nous, nous essayons de comprendre et éventuellement de vous indiquer ce qui sont les pratiques habituelles en fonction des outils que Windev met à disposition.
    Dans un autre environnement, cela pourrait être différent.

    Mais vous devriez nous fournir plus d'informations, parce que comment voulez-vous qu'on comprenne ce qui se passe, avec quelques lignes de code.
    Il ne sert strictement à rien de répéter votre premier message, cela n'apporte aucune information complémentaire.

    Par ailleurs, soyez plus précis, parce que j'éprouve quelques difficultés à vous suivre :
    - que signifie "supprimer sur la base de données" ? Vous supprimez les enregistrements du fichier et il s'agirait alors d'une table fichier ?
    - il s'agit d'une table-Windev càd IHM ou d'une table-fichier au sens SQL ?


    Hemgé

  5. #5
    R&B
    R&B est déconnecté
    Membre éprouvé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2005
    Messages : 571
    Points : 1 263
    Points
    1 263
    Par défaut
    Bonjour medhan.


    Votre table est basée sur une requête et vous utilisez des requêtes pour mettre à jour la base... reste à synchroniser la table.

    Sachez que si l'écriture dans la base est réussie, il est possible d'effectuer le même traitement sur la requête Select (y ajouter/modifier/supprimer les lignes) avec des fonctions d'écriture HXXX afin d'éviter une relecture de la requête. En effet, ces écritures iront mettre à jour le contenu de la requête et non le fichier.
    Ainsi il n'y aura pas de délai de relecture.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 32
    Points
    32
    Par défaut
    Je vous remercie tous ensemble..

    En fait j'ai constaté des choses bizarres sur WD17.. Je voulais bien faire le test : Rafraîchir ma table rempli par une requête sans faire la fonction : TableAffiche(Table_1,taInit)..

    Après la suppression cette erreur "wdtst.exe a cessé de fonctionner tablesupprim" me remonte..

    J'ai carrément réinstaller le Windev et ça marche... C'est pourquoi j'ai posé la question de la stabilité de WD17...

    Maintenant ca marche sans problème..

    Je vous remercie encore une fois

Discussions similaires

  1. Rafraîchissement des tables sous SQL Developer
    Par cobar520 dans le forum Sql Developer
    Réponses: 0
    Dernier message: 31/07/2011, 20h10
  2. [WD12] Rafraîchissement de table
    Par Gaetch dans le forum WinDev
    Réponses: 13
    Dernier message: 10/12/2008, 13h40
  3. Réponses: 6
    Dernier message: 28/08/2008, 15h59
  4. Réponses: 4
    Dernier message: 24/07/2007, 12h12
  5. Réponses: 8
    Dernier message: 06/09/2006, 17h36

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