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 :

[WD12] ajouter lignes dans un tableau pour alimenter un champ table


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 66
    Par défaut [WD12] ajouter lignes dans un tableau pour alimenter un champ table
    Bonjour tout le monde!
    je suis nouvelle sur ce forum, et aussi dans le développement avec windev 12

    Je suis sur un projet qui gérer beaucoup de choses, dont une partie qui gère le temps travaillé par personne pour chaque client qu'il s'occupe et par mois,

    explication de la situation :
    j'ai créé une première fenêtre(fen1) qui affiche dans un champ table (tab1) tous les temps de la personne pour une période définie, par exemple pour le mois de septembre et à partir de cette fenêtre j'ai un bouton "modifier" qui m'ouvre une deuxième fenêtre (fen2) avec un champ table (tab2) qui doit reprendre toutes les lignes de tab1 pour pouvoir les modifier si on le souhaite.
    Pour cela dans fen1 j'ai déclaré un tableau auquel j'ajoute les données de tab1, pour les transmettre à fen2 pour tab2.
    seulement ça m'ajoute qu'une seule ligne à chaque fois, je sais pas comment faire pour ajouter au tableau toutes les lignes de tab1?

    est-ce que quelqu'un a une idée ?
    Je sais que dans la logique des choses, il faut que je parcours tab1 pour ajouter les lignes dans le tableau, mais comment faire, je sais pas ?
    peut être qu'il y a une autre façon de faire ?
    si oui, merci de me le dire ?

    pour fen1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    POUR TOUTE LIGNE DE tab1
    	tableau[1,1]=param1
    	tableau[1,2]=param2
    	tableau[1,3]=param3
    	tableau[1,4]=param4
    	tableau[1,5]=param5	
    FIN
    pour fen2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    POUR i = 1 _A_ TableauOccurrence(FEN1.tableau)
    	//ajoute dans tab2 les données de tableau
    TableAjouteLigne(tab2 ,FEN1.tableau[1,1]+TAB+FEN1.tableau[1,2]+TAB+FEN1.tableau[1,4]+TAB+FEN1.tableau[1,5])
    	FIN

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    Je ne comprends pas la nécessité de passer par un tableau pour alimenter une table depuis une autre table ?
    Je ne vois pas non plus la nécessité d'avoir deux tables ?

    Les données sont dans un fichier je suppose ?
    Il suffit donc de lire le fichier, modifier les enregistrements et inscrire les modifications dans le fichier.

    Sinon pour lire tous les enregistrements d'une table, une boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    POUR nbl = 1 à TableOccurrence(table1)
     
    FIN

  3. #3
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    En effet c'est inutile. Je suppose que le but de ta 2ème fenêtre est de contrôler si l'utilisateur peut ou pas modifier l'affichage.

    Personnellement, j'ai deux manières de fonctionner, soit j'ai quelque part dans la fenêtre (en bas généralement) des champs de saisies correspondant à chacune des rubriques d'une ligne du tableau, tout est en ..Etat = AffichageSeulement. Et lorsque l'utilisateur clique sur le bouton modifier en ayant sélectionné une ligne et bien je passe mes champs de saisie en ..Etat = Actif.

    Soit je laisse directement la table en saisie, mais j'aime pas trop.

    Une petite remarque sur les noms de tes champs, fen1, tab1, c'est franchement dégueulasse, désolé je déteste ce genre de choses, Windev possède une gestion de charte de programmation qui préfixe tous les éléments du projet de manière à t'y retrouver, personnellement je ne l'utilise pas, j'applique la mienne et avec l'habitude je n'ai pas besoin d'un tel assistant de saisie, mais quand on débute ça fait prendre de bonnes habitudes ... ou plutôt ça évite d'en prendre de très très très mauvaises...

  4. #4
    Membre confirmé
    Inscrit en
    Septembre 2008
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 66
    Par défaut infos suppl.
    Désolé pour les noms des champs c'était pour abréger, bien sûr j'utilise pas ces noms là dans mon projet....;
    Au fait ma 1ère fenêtre (FEN_affichtps) sert uniquement à afficher dans un champ table le résultat d'une requête paramétrée, tout simplement parce que les données affichées ne sont pas dans les même fichiers. (sélection de certains champs à partir de 3 fichiers)
    A partir de FEN_affichtps je veux pouvoir ajouter,modifier,... j'ai donc mis des boutons pour chaque action qui ouvrent la 2ème fenêtre(FEN_saisie).

    celle-ci sert à saisir les temps dans le cas d'un nouvel ajout(FEN_saisie vierge à l'ouverture), et je veux afficher la même fenêtre lorsque la personne connectée voudra modifier ces temps, et cette fois-ci en récupérant les données de FEN_affichtps, donc FEN_saisie initialiser avec les données de FEN_affichtps lors d'une modification.
    FEN_saisie me permet d'ajouter des données dans 3 fichiers, d'ou ma nécessité d'avoir deux tables et deux fenêtres.
    C'est pour ça aussi que je peux pas opter pour ta solution Marco46, merci quand même d'avoir répondu à ma question.

    je continue à chercher, j'ai laissé tomber le tableau, j'essaye de voir autrement pour remplir ma 2è table.

    Merci et bon week end.

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Par défaut
    Citation Envoyé par heiti Voir le message
    je continue à chercher, j'ai laissé tomber le tableau, j'essaye de voir autrement pour remplir ma 2è table.
    Citation Envoyé par Guardian Voir le message
    Sinon pour lire tous les enregistrements d'une table, une boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    POUR nbl = 1 à TableOccurrence(table1)
     
    FIN
    Tu utilises TableAjouteLigne() évidemment

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 14/04/2009, 16h20
  2. Réponses: 1
    Dernier message: 12/12/2008, 17h06
  3. [VBA - W] ajout ligne dans un tableau
    Par perophron dans le forum VBA Word
    Réponses: 2
    Dernier message: 23/05/2007, 10h27
  4. ajout ligne dans tableau sous IE
    Par n00noors dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 05/07/2006, 12h55
  5. [vb6] Ajouter une ligne dans un tableau excel
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 13/06/2006, 16h41

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