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 :

Rafraichir une table fichier après un ajout ou une modification [WD22]


Sujet :

WinDev

  1. #1
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut Rafraichir une table fichier après un ajout ou une modification
    Bonjour,

    Voilà, j'ai une table fichier (base SQLite3/Accès Natif) avec 2 colonnes : un id auto incrémenté en affichage seul et une zone de texte en saisie. Le tri se fait sur la zone de texte.

    Quand je modifie ou ajoute un élément, la table n'est pas re-triée automatiquement, ce qui fait que l'ordre d'affichage n'est plus bon.

    J'ai essayé de mettre un tableaffiche en sortie de la colonne, puis en sortie de ligne, mais ça ne fonctionne pas (en ajout, la ligne n'est pas ajoutée par exemple).

    Comment est-ce que je peux faire pour que le tri se refasse automatiquement ?
    Dois-je supprimer la saisie en cascade ?

    Merci d'avance
    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  2. #2
    Membre actif
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2015
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur COBOL

    Informations forums :
    Inscription : Mai 2015
    Messages : 138
    Points : 270
    Points
    270
    Par défaut
    La comme ça je mettrais un point d'arrêt sur mon tableaffiche pour déjà vérifier qu'il passe bien par là. Je peux faire un essai dans la journée sur une table en saisie mais hyperfile classique pour voir.

  3. #3
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    Il passe bien par le tableaffiche ! Et c'est juste après que ça déconne (enfin, l'enregistrement n'est pas ajouté, un autre est dupliqué, bref, la cata)
    Merci de ton aide
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  4. #4
    Membre actif
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2015
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur COBOL

    Informations forums :
    Inscription : Mai 2015
    Messages : 138
    Points : 270
    Points
    270
    Par défaut
    ok j'essaie avec la 23

    donc un id autoincrémenté
    +
    un champ texte (clé avec doublons ?) trié

  5. #5
    Membre actif
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Mai 2015
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur COBOL

    Informations forums :
    Inscription : Mai 2015
    Messages : 138
    Points : 270
    Points
    270
    Par défaut
    je viens de faire quelques essais.

    1 table fichier contenant 2 colonnes: Col1 idauto / col2 texte (cléavecdoublon)

    la table est en saisie avec cascade.

    sans rien ajouter de plus la saisie fonctionne correctement et la modification aussi par contre le tri ne se fait pas.

    Si je rajoute un tableaffiche en sortie de ligne les enregistrements ne sont pas ajoutés. Après quelques essais je ne peux faire un tri avec succès que si je clique sur l'entête de colonne a trier ou si je rajoute un bouton qui effectue un tableaffiche.

    un code en sortie de ligne a échoué dans toutes mes tentatives.

    Mais avant d'essayer autre chose, Est-ce que j'ai bien reproduit ton problème ou j'ai tout faux ?

  6. #6
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut


    C'est exactement ça, au détail que la zone de texte est une clé unique (pas de doublon).
    Et le problème est exactement celui-ci.

    J'ai essayé en sortie de ligne ou en sortie de la colonne, le résultat est le même.
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    A mon avis le TableAffiche en sortie de ligne interfère avec l'enregistrement des données. Je suppose que la table est en premier réaffichée, et qu'ensuite WinDev procède à l'enregistrement des données de la ligne, qui de fait ne sont plus bons.

    Je pense que tu devrais en premier forcer l'enregistrement (par exemple avec un TableEnregistre).

    Tatayo.

  8. #8
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    Citation Envoyé par tatayo Voir le message
    Bonjour,
    A mon avis le TableAffiche en sortie de ligne interfère avec l'enregistrement des données. Je suppose que la table est en premier réaffichée, et qu'ensuite WinDev procède à l'enregistrement des données de la ligne, qui de fait ne sont plus bons.

    Je pense que tu devrais en premier forcer l'enregistrement (par exemple avec un TableEnregistre).

    Tatayo.
    Ce qui signifie ne plus avoir la saisie en cascade. Mais ce n'est pas forcément un problème, je l'avoue.
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  9. #9
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2003
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 180
    Points : 275
    Points
    275
    Par défaut
    bonjour,

    pourquoi ne pas utiliser un tabletri() ?
    Cordialement JeAn-PhI

  10. #10
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    Citation Envoyé par JeAn-PhI Voir le message
    bonjour,

    pourquoi ne pas utiliser un tabletri() ?
    Parce que la table est une table fichier triée selon une clef du fichier.
    Et, puis, à quel moment faire ce TableTri ?
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  11. #11
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 264
    Points
    5 264
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Avec quel paramètre utilises-tu TableAffiche ?
    Le comportement des ascenseurs est il le comportement par défaut ?
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  12. #12
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 808
    Points : 5 264
    Points
    5 264
    Billets dans le blog
    1
    Par défaut
    Attention, solution tordue
    Comme le précisait tatayo, l’exécution du code en sortie de ligne interfère avec l'enregistrement des données.
    Il faut donc rafraichir après l'enregistrement.
    Quoi de mieux qu'un trigger dans ce cas ?

    Dans l'initialisation de ta fenêtre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HDécritTrigger(MonFichier,"Hajoute,HModifie","Rafraichir",hTriggerAprès)
    Code de Rafraichir (procédure locale)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TableAffiche(TABLE_Encours)
    TableSelectPlus(TABLE_En_Cours,TableOccurrence(TABLE_Matériel))
    Dans le code de fermeture de la fenêtre:
    Cette soluce tourne en HFSQL, je n'ai pas encore pu tester sur ta config
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  13. #13
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Bonjour,
    Bonjour, et merci de ta participation
    Citation Envoyé par Voroltinquo Voir le message
    Avec quel paramètre utilises-tu TableAffiche ?
    taCourantEnreg
    Citation Envoyé par Voroltinquo Voir le message
    Le comportement des ascenseurs est il le comportement par défaut ?
    Oui
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  14. #14
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    Citation Envoyé par Voroltinquo Voir le message
    Attention, solution tordue
    Comme le précisait tatayo, l’exécution du code en sortie de ligne interfère avec l'enregistrement des données.
    Il faut donc rafraichir après l'enregistrement.
    Quoi de mieux qu'un trigger dans ce cas ?

    Dans l'initialisation de ta fenêtre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HDécritTrigger(MonFichier,"Hajoute,HModifie","Rafraichir",hTriggerAprès)
    Code de Rafraichir (procédure locale)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    TableAffiche(TABLE_Encours)
    TableSelectPlus(TABLE_En_Cours,TableOccurrence(TABLE_Matériel))
    Dans le code de fermeture de la fenêtre:
    Cette soluce tourne en HFSQL, je n'ai pas encore pu tester sur ta config
    Je vais tester cela dés que possible.

    Merci
    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

  15. #15
    Membre extrêmement actif Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 384
    Points : 9 745
    Points
    9 745
    Par défaut
    Tester et adopter.

    Merci à tous pour votre aide

    JS
    Au nom du pèze, du fisc et du St Estephe
    Au nom du fric, on baisse son froc...

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/01/2017, 16h32
  2. [AC-2007] Lecture d'un fichier texte et ajout dans une table
    Par jmde dans le forum VBA Access
    Réponses: 8
    Dernier message: 17/05/2016, 09h59
  3. Réponses: 4
    Dernier message: 06/08/2015, 13h24
  4. Réponses: 1
    Dernier message: 16/07/2013, 16h18
  5. Ajout dans une table(fichier)
    Par rednight dans le forum WinDev
    Réponses: 2
    Dernier message: 24/04/2009, 19h44

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