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 :

Problème de dédoublement de ligne dans des tables fichiers


Sujet :

WinDev

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut Problème de dédoublement de ligne dans des tables fichiers
    Bonjour,

    J'ai développé une application qui nécessite d'afficher les données d'un même fichier dans trois tables fichies différentes et présentes dans la même fenêtre (filtrage des données à partir d'un champ "type" du fichier de donnée).

    Pour des raisons pratique, j'ai besoin que l'utilisateur puisse saisir de nouvelles données dans l'une ou l'autre des tables, en cascade et quand il veut.

    Mon problème :
    Il arrive que j'ai des dédoublement de ligne : Je saisi les données d'une ligne et en passant d'un champ à un autre ou en changeant de ligne, j'ai des duplication de données.
    Il arrive aussi que j'ai des mélanges de données : les données saisie dans la table 3 par exemple ce retrouve finalement remplacées par des données que j'avais saisi dans la table 1

    Il semble que mon problème vienne de fonction comme tableaffiche ou tableenregistre mais j'ai beau chercher comment organiser mon code. Quand je crois avoir trouver, après plusieurs tests correctes, cela recommence !

    Merci de m'aider

  2. #2
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello
    La solution pour ton problème de données est la suivante:
    A chaque modification et/ou enregistrement de la ligne (d'une des trois tables), il te faut mettre a jour toutes les tables, au risque de voir effectivement un chevauchement de données affichées en IHM, et d'enregistrer des champs déjà mis à jour.
    Pas de grandes difficultés à surmonter, juste un peu de logique

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut Merdi de ton aide EDM
    Donc, si j'ai bien compris, il me suffit de faire un tableaffiche des 3 tables à chaque fois et juste ça, c'est bien ça ?
    J'ai activé l'option d'enregistrement auto en sortie de ligne, c'est bon ça ?

  4. #4
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    Oui, bien sur qu'il faut enregistrer les tables mais de la manière suivante:
    si table1 modifiée alors enregistrement et mise à jour table2 et table3
    et pareil pour la table2
    si table2 enregistrement alors mise à jour table1 et table3...
    etc....

    Sinon, les données des autres tables écraseront fatalement les données de la table mise à jour...
    Voilà...

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut Encore une question...
    Pour faire simple et éfficace, je le mets ou le tableaffiche...
    - En sortie de table ?
    - En sortie de ligne ?
    - En sortie de colonne ?

  6. #6
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut J'ai compris le principe mais...
    1 - Comment savoir si une table a été modifiée ?
    2 - Quand je fais un tableaffiche en sortie de table, le sélecteur de ligne passe systématiquement à la ligne suivant. Du coup, mon bouton de supression de ligne ne fonctionne plus !

    C'est probalement basique pour un pro mais là, j'ai du mal à bien maîtriser le code.

    Merci de ton aide

  7. #7
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    la réponse sera Normande (je n'ai rien contre eux, je le précise).
    Tout dépend de la quantité de lignes à afficher et/ou du type de table (reliée ou non).
    Mais je pense qu'en sortie de table serait judicieux...
    Mais tu me diras cela ...

  8. #8
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello
    tu as à ta disposition des état du type
    si table1..modifié = vrai alors....
    Tu dois t'en servir pour connaitre l'état de ta table.
    De plus, a chaque fois que tu utilise des sequences d'enregsitrement du type tableenregistre, juste après, tu dois remettre le flag à faux
    table1..modifié = faux
    ainsi, tu verras que tu peux gérer au plus juste les états de tes tables...

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut Super !
    Super, je teste cela.
    Le mieux c'est de le faire en sortie de table non ?
    Pas besoin de le faire à chaque sortie de colonne ?

    Encore merci.
    Je crois que nous avons déjà eu l'occasion d'échanger. C'est tahiti qui m'y fait penser.

    Merci encore

  10. #10
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    Of course LoLoLeBricoleur, plaisir de t'avoir rendu service, et comme moi c'est le jour, avec le décalge, je répond souvent aux soucis de debut de nuit.... les plus tracassants en prnicipe, mais qui permettent de se coucher l'esprit serain (disait l'oiseau) quand ils sont réglés...
    A plus...

  11. #11
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut Merci à toi EDM
    Au plaisir d'échanger à nouveau.
    Je vais mieux dormir je pense et grâce à toi.
    A++

  12. #12
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut Encore moi, dsl
    J'ai fais un test pour vérifier les tables en sortie et si modifé alors maj pour les autres. Et bien j'ai des mélanges de données !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SI TABLE_Planchers..Modifié = Vrai ALORS
    	TableAffiche(TABLE_Murs)
    	TableAffiche(TABLE_Rampants)
    	TABLE_Planchers..Modifié = Faux
    FIN

  13. #13
    Membre chevronné Avatar de EDM-TAHITI
    Homme Profil pro
    Directeur Service informatique et projet développement
    Inscrit en
    Janvier 2010
    Messages
    994
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Directeur Service informatique et projet développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2010
    Messages : 994
    Points : 1 998
    Points
    1 998
    Par défaut
    Hello,
    fais un tableenregistre(table_plancher) pui un affichetable des deux autres
    cela devrait fonctionner
    normalement...

  14. #14
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2010
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 359
    Points : 508
    Points
    508
    Par défaut Ok mais...
    J'ai activé l'option d'enregistrement en sortie de ligne. Dans la doc ils disent que la fonction tableenregistre est inutile dans ce cas !?

  15. #15
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 103
    Points
    1 103
    Par défaut
    Soyons cohérents...
    Tu enregistres tes données automatiquement en sortie de ligne, ton traitement devrait donc se faire en sortie de ligne pour ne pas poser de problème.

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/05/2014, 11h37
  2. [WD16] problème pour ajouter une ligne dans la table
    Par T1929D dans le forum WinDev
    Réponses: 3
    Dernier message: 02/08/2013, 22h39
  3. Réponses: 2
    Dernier message: 22/06/2010, 15h24
  4. Problème d'insertion de lignes dans une table MySql
    Par developppez dans le forum Windows Forms
    Réponses: 14
    Dernier message: 02/01/2009, 17h58
  5. Ajout/Suppression dynamique des lignes dans une table
    Par codexomega dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/08/2005, 18h50

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