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 traitement données sur clone d'un champ table


Sujet :

WinDev

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Août 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 256
    Points : 85
    Points
    85
    Par défaut Problème traitement données sur clone d'un champ table
    Bonjour à tous !

    J'ai un gros soucis avec le traitement de mes données lors de l'ajout d'une colonne que je clone à partir d'un champ table, je m'explique :
    J'ai créé un champ table dans lequel je traite des données en saisie manuel dans une colonne et dans les autres via un clone d'une colonne masqué affecté à ce champ.
    Lorsque je saisie mes données dans des champs de saisie et que ensuite je clique sur le bouton Ajouter qui me clone ma colonne toutes les données que j'avais avant dans ma table disparaisse mise à part la valeur de la colonne que je viens de cloner.

    Si vous avez une solution à mon problème, je vous en serai grandement reconnaissant.

    En attendant merci à tous

  2. #2
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    Salut Jb,

    J'ai un peu de mal à comprendre ce que tu essaie de faire.

    Tu as une table caché avec les colonnes déjà en place. Tu as une table où tu clone une colonne de ton autre table et lorsque que tu ajoute des données dans cette dites table, tes données disparaissent?


    Donne nous aussi ton code, l'erreur se trouve peut-être dedans..

    @+

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Août 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 256
    Points : 85
    Points
    85
    Par défaut
    Salut gabcouture et merci de ta réponse aussi rapide, alors je vais essayé de m'exprimer un peu mieux.

    1) Dans la fenêtre que j'ai créé j'ai :
    - Un champ de saisie + 1 bouton "Ajouter"
    - Un champ table

    2) Ce champ table n'est pas masqué, c'est mon champ qui me permet de faire de la saisie manuelle dans la 1ère et unique colonne visible.

    3) Dans la description de ce champ table il y a :
    - 1 colonne que je vais appelé "col1" qui est visible et en saisie
    - 1 colonne que je vais appelé "col_clone" qui est masqué et qui me sert donc de colonne que je vais cloné par la suite

    4) Lorsque mon utilisateur saisie des données dans la 1ère colonne qui est donc visible tout se passe correctement, d'ailleurs il peut ajouter autant de lignes qu'il veut cela fonctionne très bien, en revanche et c'est là où arrive le problème.
    Lorsque l'utilisateur saisie une des valeurs dans le champ de saisie et qu'il clique sur le bouton "Ajouter" et bien là ! Je ne sais par quel miracle toutes les données de ma table disparaisse et laisse afficher uniquement celle de mon champ de saisie.

    J'espère avoir était le plus précis possible et je te met ci-dessous le code que j'ai fait (c'est basique mais c'est normal, je commence juste mon programme) :
    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
    16
    17
    18
     
    // Création de la nouvelle colonne pour le nouveau métier dans la table
    ChampClone(COL_CLONE,"COL_CLONE" + gnIndexClone)
     
    // Titre de la colonne
    {"COL_CLONE" + gnIndexClone,indChamp}..Titre = COMBO_METIER..ValeurAffichée
     
    // La taille de la colonne se fait en fonction de la longueur du nom du métier
    {"COL_CLONE" + gnIndexClone,indChamp}..Taille = Taille(COMBO_METIER..ValeurAffichée)
     
    // Ajout de la valeur
    {"COL_CLONE" + gnIndexClone,indChamp}[TABLE_PROJET] = COMBO_PERSONNEL.COL_PERSONNEL_ABREGE
     
    // Rend visible le nouveau champ cloné
    {"COL_CLONE" + gnIndexClone,indChamp}..Visible = Vrai
     
    // Incrémentation de l'index
    gnIndexClone++
    Je t'en remercie d'avance

  4. #4
    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,
    Dixit l'aide en ligne, le clonage d'une colonne de table... vide la table.
    Il faut donc "mettre de côté" le contenu de la table avant de cloner la colonne.

    Tatayo.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Août 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 256
    Points : 85
    Points
    85
    Par défaut
    Bonjour et tatayo et comme dit gabcouture merci pour ta réponse aussi rapide.

    J'ai bien lu l'aide en ligne de Windev et à aucun endroit il est noté ce que tu as noté.

    Tu l'as vu où cette info ?

  6. #6
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 329
    Points : 3 841
    Points
    3 841
    Par défaut
    Bonjour,

    Dans l'aide de ChampClone(..), en bas de page.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 256
    Points : 85
    Points
    85
    Par défaut
    Ok ! Effectivement c'est bien noté ... Bon ! C'est la poisse ! Il faut que je trouve une solution pour récupérer son contenu et ensuite le rajouter ça m'a l'air un peu lourd cette histoire sachant que je peu avoir pas mal de lignes ...

    Je regarde et dès que j'ai du nouveau je le posterai, qui sait ? Ça pourra peut-être aidé une autre personne ?

  8. #8
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2010
    Messages
    283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 283
    Points : 263
    Points
    263
    Par défaut
    En effet selon l'aide en ligne


    Nom du champ (ou de la colonne) à copier.
    Si ce paramètre correspond au nom d'une colonne du champ Table :
    les paramètres <X> et <Y> sont ignorés.
    la nouvelle colonne est insérée à droite des autres colonnes du champ Table.
    le contenu du champ Table est automatiquement vidé.

    Tu peux utiliser un champ table caché avec une seul colonne pour recopier tes données en cours avant d'y ajouter une nouvelle colonne. Avant de cloner ta colonne, tu transfère chaque ligne et colonne vers ta table cachée.


    du genre :

    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
    16
     
    sMachaine est une chaîne 
     
    TableSupprimeTout(tablememoire)
     
    POUR TOUT LIGNE DE TABLE_SansNom1
    	POUR i = 1 _A_ TABLE_SansNom1..NombreColonne
    		sMachaine+= {"TABLE_SansNom1.COL_SansNom"+i}+TAB
    	FIN
     
     
    	TableAjouteLigne(tablememoire,sMachaine)
     
    	sMachaine = ""
     
    FIN
    Tu clone ta colonne et finalement tu parcours chaque ligne de ta table caché. Tu sais que chaque ligne se représente comme ceci Col_1+tab+col_2+tab. donc sauf si je me trompe, la fonction tableajoute prend en charque le +tab+.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    pour tout ligne de matablememoire
    tableajoute(TABLE_SansNom1,col_1)
     
    fin

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Août 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 256
    Points : 85
    Points
    85
    Par défaut
    Merci gabcouture pour ta réponse complète et plus je n'ai quasiment rien à faire tu m'as noté tout le code (j'en demandé pas tant), en tout cas ! C'est super sympa de ta part.

    Un grand MERCI !!!

    Je fais les essais et si tout est OK ! Je clôture.

    Merci à tous

  10. #10
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 133
    Points : 204
    Points
    204
    Par défaut
    au lieu de vider la table et la remplir à chaque fois, pourquoi tu n'utilise pas des tables (DES TABLES) qui ne contiennent q'une seule colonne dans une zone répété?

Discussions similaires

  1. problèmes de données sur tableau excel
    Par Coyotteabf dans le forum Excel
    Réponses: 4
    Dernier message: 18/10/2012, 08h52
  2. traitement données sur MSHflexgrid
    Par mic68hc11 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/12/2009, 10h21
  3. Problème Enregistrement données sur USB
    Par jakkihm dans le forum Windows XP
    Réponses: 3
    Dernier message: 30/08/2009, 13h32
  4. Réponses: 0
    Dernier message: 20/06/2009, 09h12
  5. [CR] Problème de sélection sur un champ date
    Par noluc dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 21/11/2003, 16h56

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