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 :

[Wd 9] Parcours d'une table fichier..


Sujet :

WinDev

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 121
    Points : 65
    Points
    65
    Par défaut [Wd 9] Parcours d'une table fichier..
    Bonjour,

    j'ai un problème : je veux tester, pour chaque ligne d'une table fichier, si une colonne A est identique a une colonne B.

    Je fais donc une espèce de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    pour i = 1 a tableoccurrence(table,tototal)
       si A[i] = B[i] alors
          traitement...
       fin
    fin
    Mais voilà, le problème c'est que bien que j'ai précisé "tototal", ça ne fait le test que sur les lignes effectivement affichées à l'écran. Ca ne prend pas le reste de la table.

    Comment je peux faire?

  2. #2
    Expert éminent sénior

    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
    Points : 32 889
    Points
    32 889
    Par défaut
    La syntaxe est
    // Nombre de lignes présentes dans la table "TableProduit"
    ResNombreLigne = TableOccurrence (TableProduit)
    Il n'y a pas de second paramètre.

    Sinon tu peux aussi vérfier le fichier avec :
    // Enregistrements actifs du fichier CLIENT
    NbEnrClient = HNbEnr ( Client )

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 121
    Points : 65
    Points
    65
    Par défaut
    Peut être que tu parles d'une autre version, mais en Windev 9 la fonction TableOccurrence accepte un second param.
    Mais bon, même quand je n'utilise que la syntaxe que tu m'as donnée, ça fait la même chose.
    Et par contre si je fais un Info(tableoccurrence(table)), ça m'affiche bien le nombre de lignes réel...

    alors je comprend plus

  4. #4
    Expert éminent sénior

    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
    Points : 32 889
    Points
    32 889
    Par défaut
    Je sais que TableOccurrence() accepte un second paramètre, mais inutile ici

    Tu as testé la concordance entre TableOccurrence() et HNbEnr() ?

  5. #5
    Membre habitué Avatar de Christophe.LOGEL
    Homme Profil pro
    Expert WinDev / WebDev
    Inscrit en
    Mars 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Expert WinDev / WebDev
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 121
    Points : 182
    Points
    182
    Par défaut
    Bonjour,

    Si dans le traitement effectué il y a des suppressions de lignes il faut parcourrir la table de la façon suivante :

    Pour i=TableOccurrence(Table) à 1 PAS -1

    Bon dév.,
    Christophe LOGEL
    www.sigmasys.fr

  6. #6
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    125
    Détails du profil
    Informations personnelles :
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 125
    Points : 158
    Points
    158
    Par défaut
    As-tu essayé avec un
    Parfois les propriétés fonctionnent mieux que les fonctions, et parfois l'inverse

    Bob.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 165
    Points : 68
    Points
    68
    Par défaut
    attention car contrairemenr au table mémoire (que je prefere) les fonctions tableOccurence et table..occurence ont tendence a renvoyer le nombre de ligne chargé ce qui ne correspond pas a la totalité de la table.

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2005
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Avril 2005
    Messages : 121
    Points : 65
    Points
    65
    Par défaut
    Wincroc > Quand je fais un Info(Tableoccurence(table)), il m'affiche bien 24917, le bon nombre. Pourquoi lors de ma boucle, cette valeur se transforme-t-elle en 15? le nombre de lignes affichées?

  9. #9
    Expert éminent sénior

    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
    Points : 32 889
    Points
    32 889
    Par défaut
    Il est possible que ce soit à cause du traitement effectué.
    La valeur TableOccurrence() serait alors modifiée.

    Pour le savoir, une solution simple : assigner la valeur TableOccurrence() à une variable.

Discussions similaires

  1. [HTML] Parcours d'une table HTML pour creer un fichier CSV : comment faire ?
    Par Thomus38 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 28/06/2007, 12h19
  2. Probléme de parcour d'une table
    Par rootdaoud dans le forum Langage
    Réponses: 3
    Dernier message: 25/12/2006, 13h24
  3. parcour d'une table et calcul date?
    Par dj_techno dans le forum Bases de données
    Réponses: 4
    Dernier message: 25/08/2006, 09h02
  4. [JSP]erreur dans parcours d'une table
    Par lcoder dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/07/2006, 09h52
  5. D7/firebird 1.5 - parcours d'une table
    Par jer64 dans le forum Bases de données
    Réponses: 8
    Dernier message: 22/03/2006, 22h27

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