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] problème récupération données d'une autre fenêtre


Sujet :

WinDev

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 66
    Points : 41
    Points
    41
    Par défaut
    bonjour à tous!
    voilà, j'ai deux fenêtres dont une qui sert d'affichage(fen_affich) et l'autre de saisie(fen_saisie).

    fen_affich,Caractéristiques : Pas de combos pour cette fenêtre juste un requête qui alimente la table.

    fen_saisie,Caractéristiques : Combos pour les deux colonnes. 1ère colonne qui est alimenté par req_cliparcol paramètre champ de saisie col et, 2è colonne alimenter par req_missparcli qui a pour paramètre la 1ère colonne (numéro de client)

    Clique sur modifier pour ouvrir fen_saisie qui doit afficher les données de fen_affich pour modification, seulement ça marche pas bien j’ai que la 1ère ligne qui s’affiche alors que des fois j’ai plus de 5 lignes.Dans le code de fen_saisie à l'initialisation j'ai dis que la 1ère colonne recoit num client et lz 2ème colonne recoit le numéro de la mission.les clients s'affichent bien mais pas les missions!pourquoi?

    J'ai mis dans le code de sélection d'une ligne de la 1ère colonne (fen_saisie)le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ListeSupprimeTout(TABLE_temps.COL_trav)
    HExécuteRequête(REQ_Requête2,hRequêteDéfaut,TABLE_temps.COL_Cli)
    HLitPremier(REQ_Requête2)
    TANTQUE PAS HEnDehors(REQ_Requête2)
    ListeAjoute(TABLE_temps.COL_trav,REQ_Requête2.LibelleType +TAB+ REQ_Requête2.DateDebut)
    HLitSuivant(REQ_Requête2)
    FIN	
    ListeAffiche(TABLE_temps.COL_trav,taDébut)
    Je vois pas où se situe le problème ?
    Merci d’avance.

    Si ça peut aider à mieux comprendre mon problème :
    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
    	POUR TOUTE LIGNE DE FEN_affich.TABLE_tpscol
    //affecte les valeurs aux variables 
    //puis on ajoute à la table temps 
    		sCol1=FEN_ affich.TABLE_tpscol.COL_Nocli
    		gsNCol2=FEN_ affich.TABLE_tpscol.COL_NoMiss
    		nCol3=FEN_ affich.TABLE_tpscol.COL_Sem1
    		nCol4=FEN_ affich.TABLE_tpscol.COL_Sem2
    		nCol5=FEN_ affich.TABLE_tpscol.COL_Sem3
    		nCol6=FEN_ affich.TABLE_tpscol.COL_Sem4
    		nCol7=FEN_ affich.TABLE_tpscol.COL_Sem5		TableAjouteLigne(TABLE_temps,sCol1,gsNCol2,nCol3,nCol4,nCol5,nCol6,nCol7,0,0)
    		//exécute le code de la colonne client selection d’une ligne combo
    		ExécuteTraitement(TABLE_temps.COL_DossierCli,trtSélection)		
    	FIN
    	//rafraîchit 
    	ListeAffiche(TABLE_temps.COL_Mission,taDébut)
    	TableAffiche(TABLE_temps,taDébut)
    J’ai 7 enregistrements donc normalement en modification je devrais avoir 7 libellé-type dans la 2è colonne de la table_temps de fen_saisie, hors avec ce code je n’ai que du 2è au 5è enregistrement, le 1er et les deux derniers sont vierges, je vois pas pourquoi ?vu que les clients sont affichés comme il faut.
    Est-ce que quelqu’un voit d’où ça pourrait venir parce que là je vois pas du tout ?!!

    Merci d’avance.
    Images attachées Images attachées   

  2. #2
    Membre à l'essai
    Inscrit en
    Novembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Bonjour.
    Bien compliqué tout ça.

    Un souci de fonctionnement possible serait si ta table de saisie est une table fichier (comme tu ne l'as pas spécifié ).
    Dans ce cas une boucle utilisant tableajouteligne() ne prendrait en compte que le premier appel à cette fonction si tu place pas un TableEnregistre() derrière.

    Sinon, à mon humble avis, tu t'embète beaucoup pour pas grand chose.

    Il est un peu inutile d'avoir 2 fenêtres pour réaliser affichage+saisie.

    Prends ta fenêtre d'affichage, mets un bouton modifier dans lequel tu passe ta table en mode saisie et un bouton OK dans lequel tu la repasse en affichageseulement.

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2008
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 66
    Points : 41
    Points
    41
    Par défaut
    Désolé été occupé à autre chose.

    Alors,c'est une table mémoire que j'utilise. Je peux pas prendre la même fenêtre pour saisie et modif car tout mon projet fonctionne comme ça, une fenêtre pour afficher les données déjà saisies(récapitulatif par mois, par année, ou autre,...) et un bouton sur cette fenêtre pour ouvrir la fenêtre de saisie (toutes les infos possibles pour diiférents domaines: clients, factures,...),bref!!!

    A mon avis le problème se situe au niveau des deux 1ères colonnes, car elles sont alimentées par deux requêtes paramétrées différentes.
    J'ai modifié mon code et ça fonctionne partiellement.
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    POUR i=1 _A_ TableOccurrence( FEN_affich.TABLE_tpscol)
    		//affecte les valeurs aux variables 
    		//puis on ajoute à la table temps 
    		nIdTpsCol est entier=FEN_affich.TABLE_tpscol.COL_idlignetps[i]
    		sCol1= FEN_affich.TABLE_tpscol.COL_Nocli[i]
    		gsNCol2= FEN_affich.TABLE_tpscol.COL_NoMiss[i]
    		nCol3= FEN_affich.TABLE_tpscol.COL_Sem1[i]
    		nCol4= FEN_affich.TABLE_tpscol.COL_Sem2[i]
    		nCol5= FEN_affich.TABLE_tpscol.COL_Sem3[i]
    		nCol6= FEN_affich.TABLE_tpscol.COL_Sem4[i]
    		nCol7= FEN_affich.TABLE_tpscol.COL_Sem5[i]	
    		TableAjouteLigne(TABLE_temps,nIdTpsCol,sCol1,gsNCol2,nCol3,nCol4,nCol5,nCol6,nCol7,0,0)
    	FIN
     
    	/////////affiche les clients du collaborateur connecté
    	ExécuteTraitement(TABLE_temps,trtEntrée)	
    	//rafraîchit 
                TableAffiche(TABLE_temps,taDébut)
     
    	//////////
    	/////////exécute le code de la colonne client selection d'une ligne combo pour récupérer le libellé du type de la mission	
     
    POUR TOUTE LIGNE DE TABLE_temps
    		ListeSupprimeTout(TABLE_temps.COL_Mission)
    		HExécuteRequête(REQ_Requête2,hRequêteDéfaut,TABLE_temps.COL_DossierCli)
    		HLitPremier(REQ_Requête2)
    		TANTQUE PAS HEnDehors(REQ_Requête2)
    			ListeAjoute(TABLE_temps.COL_Mission,REQ_Requête2.LibelleType +TAB+ REQ_Requête2.DateDebut)
    			HLitSuivant(REQ_Requête2)
    		FIN		
    FIN
    	ListeAffiche(TABLE_temps.COL_Mission,taRéExecuteRequete)	
    	TableAffiche(TABLE_temps,taSuivant)
    avec ce code j'ai tous les enregistrements sauf pour la 1ère ligne j'ai pas les deux 1ères colonnes. En plus y a d'autres problèmes: quand je choisis le client 1 les données de la 2ème colonne pour le client 2 s'effacent et inversement. J'avoues j'ai du mal à comprendre ce qui se passe?!!?!!

Discussions similaires

  1. [MySQL] Récupération d'une données d'une autre page.
    Par Aiglichon dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 30/12/2012, 22h53
  2. Réponses: 12
    Dernier message: 17/02/2012, 22h51
  3. Réponses: 2
    Dernier message: 02/05/2011, 10h43
  4. Réponses: 16
    Dernier message: 09/03/2011, 14h18
  5. Réponses: 5
    Dernier message: 04/11/2008, 14h37

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