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 :

Modifier les valeurs d'un fichier HF en parcourant des listes


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 80
    Points : 48
    Points
    48
    Par défaut Modifier les valeurs d'un fichier HF en parcourant des listes
    Bonjour à tous,

    Me revoilà avec un nouveau problème.
    Je souhaite modifier les données d'un fichier HF par la lecture de différentes listes.

    Voici mon code pour que ce soit plus clair :

    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
    HLitPremier(Activités,Activité) //On va lire une à une les cellules de la colonne activité
     
    TANTQUE PAS HEnDehors() //On teste les activités 1 par 1
     
    HLit(Activités,hNumEnrEnCours)
    ActivitéenCours est une chaîne
    ActivitéenCours=Activités.Activité  //on teste l'activité de la ligne en cours du fichier HF
     
    	POUR TOUTE LIGNE DE LISTE_ActiOM //On cherche l'activité dans la première liste
    		ActiOMenCours est une chaîne=LISTE_ActiOM..ValeurAffichée
    		SI ActiOMenCours=ActivitéenCours ALORS
     
    			HRecherche(Activités,Activité,ActivitéenCours)
    			Activités.FamilleActivité="OM"
    			HModifie(Activités)
    			//HLitSuivant(Activités,Activité)
    			//ActivitéenCours =Activités.Activité
    			//TableAffiche(TABLE_Activités,taInit)
    		SINON
     
    		FIN
    	FIN
     
    	POUR TOUTE LIGNE DE LISTE_ActiDI //On va chercher dans la 2ème liste 
     
     
    // etc etc sur différentes listes
    Une activité ne peut se trouver que dans 1 seule liste et pour le moment chaque activité se trouve forcément dans une liste.

    pour finir je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    HModifie(Activités)
    		HRAZ(Activités)	
    		HLitSuivant(Activités,Activité)
    		TableAffiche(TABLE_Activités,taInit)
     
    FIN
    Alors le soucis est que je boucle sur une activité, on ne passe pas d'une ligne à une autre.
    Mais on ne boucle pas sur la 1ère mais la 2ème ligne ...

    J'ai essayé tellement de trucs que je me retrouve sans ressources.

    Vos conseils éclairés seront d'une aide formidable comme à chaque fois.

    Merci d'avance.

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur et responsable micros/réseaux
    Inscrit en
    Octobre 2010
    Messages
    1 286
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur et responsable micros/réseaux
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 286
    Points : 2 562
    Points
    2 562
    Par défaut
    Bonjour,

    plusieurs choses me chagrine dans ton code pour ce qui est de la forme :

    - déclaration des variables dans des boucles ....
    - faire un Hmodifie, un Hraz et un hlitsuivant dans la foulée ne peut pas donner grand chose d'autre que la 2e ligne ...

    Enfin, pour ce qui est du fond :

    - tu fais un hlitpremier avant la boucle, normal. Mais faire tout de suite un hlit dans la boucle, ne correspond à rien. Fais plutôt un hlitsuivant en fin de boucle ...
    - Si tu fais un hrecherche dans la boucle principale, la ligne que tu liras ensuite ne sera pas la bonne. En plus il ne sert à rien puisque tu es déjà sur l'enregistrement qui correspond aux tests.
    - Si tu as trouvé ta valeur, évites d'aller dans le pour suivant. Pour cela utilises une variable booléenne pour savoir si tu dois faire la boucle ou pas.

    à bientôt,

    Nicolas

  3. #3
    Membre confirmé Avatar de PaulNero
    Homme Profil pro
    DBA Senior Oracle and SQL SERVER
    Inscrit en
    Octobre 2010
    Messages
    416
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Inde

    Informations professionnelles :
    Activité : DBA Senior Oracle and SQL SERVER
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2010
    Messages : 416
    Points : 470
    Points
    470
    Par défaut
    Bonsoir,
    prenez l'habitude d'indenter votre code.C'est très important, moi qui ai déja programmé en python je sais qu'on code peut être mal compris s'il est mal indenté.
    Je te conseille aussi, de bien concevoir ton programme avant de te lancer à programmer.N'importe qui peut programmer, mais n'importe qui ne peut concevoir un programme!
    Je n'ai pas vraiment compris ton soucis,c'est pourquoi je te demanderai d'écrire en français ce que tu veux faire, sans me nommer des syntaxes windev.

    J'attends la suite.

    PaulNero en Mode vancance sous le soleil

    cordialement++

Discussions similaires

  1. Réponses: 4
    Dernier message: 31/10/2014, 11h56
  2. Lire un fichier Excel pour modifier les valeurs des cellules
    Par Paloma dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 31/10/2006, 15h13
  3. Modifier les propriétés d'un fichier
    Par manu1407 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 09/11/2005, 10h39
  4. Réponses: 3
    Dernier message: 12/09/2005, 16h38
  5. comment modifier les attributs d'un fichier?
    Par kamal101 dans le forum C++
    Réponses: 1
    Dernier message: 18/03/2005, 14h16

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