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 :

Filtre sur table mémoire


Sujet :

WinDev

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 36
    Points : 20
    Points
    20
    Par défaut Filtre sur table mémoire
    Dans une fenêtre, j'ai une table remplie par programmation.
    J'ai fait un filtre sur une clé composée (date+compte)
    Mon problème , c’est qu’il filtre uniquement sur la date et non sur les deux

    Mon code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Hfiltre(Sais,datecompte,[datedebut, wcompte],[datefin, wcompte1])
     
    // Sais est le nom fichier
    //datedébut et datefin sont des variables
    //wcompte et wcompte1 sont des variables 
    //datecompte=clé composée(date+compte)
    Quelqu’un a une idée d’où vient ce problème
    Cordialement, Benkouider

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Points : 5 953
    Points
    5 953
    Par défaut
    C'est normal.

    Il faut que tu voies les clefs composées comme des chaines de caractères.

    Donc mettons un filtre [ "20090101", "100"], [ "20090131", "300"]

    Les enregistrements ayant une date "20090110" et un compte "001" pris.
    Le filtre considérant les enregistrements dont la clef est comprise entre
    "20090101100" et "20090131300"

    L'enregistrement "20090110001" est bien dans la fourchette !

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 103
    Points
    1 103
    Par défaut
    Commence par tester correctement les résultats des fonctions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SI "" = HFiltre(Sais,datecompte,[datedebut, wcompte],[datefin, wcompte1]) ALORS
        Erreur("Erreur lors de l'initialisation du filtre" + RC + HErreurInfo()
    SINON
     
    FIN

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Février 2003
    Messages
    4 341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 4 341
    Points : 5 953
    Points
    5 953
    Par défaut
    Je ne suis pas sûr que la fonction HFiltre ne renvoie pas une valeur ! Le filtre semble bon !

    Pour résoudre le problème, le mieux est de ne filtrer le fichier que sur la date, et de filtrer les enregistrements lus par rapport aux comptes que lors de l'ajout des enregistrements.

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mars 2002
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2002
    Messages : 899
    Points : 1 103
    Points
    1 103
    Par défaut
    Louis Griffont,

    je n'ai effectivement pas l'habitude de cette syntaxe du HFiltre, mais je les teste systématiquement...

    L'habitude !

    Dans ce cas, ta méthode est également la mienne, il faut découper les conditions, et voir laquelle pose problème.

  6. #6
    Membre à l'essai
    Inscrit en
    Juin 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Dans mon cas, le champs date est une chaine et non une date, donc
    le problème ne vient pas de la clé composée étant donné que la date et le
    compte sont des chaines.

    j'ai fait le test, il ne me renvoi aucune erreur.
    par contre j'ai constaté que lorsque je modifie la clé composée en mettant le
    compte avant la date, (compte+date), ce dernier me filtre le compte et non
    la date.

Discussions similaires

  1. [WD17] Filtre multicritere inactif sur table mémoire
    Par gancau dans le forum WinDev
    Réponses: 3
    Dernier message: 20/09/2012, 13h36
  2. [WD14] Auto-incrémentation sur table mémoire
    Par BENKOUIDER dans le forum WinDev
    Réponses: 1
    Dernier message: 02/08/2009, 14h17
  3. [WD12E] État sur Table Mémoire
    Par no_me_entero dans le forum WinDev
    Réponses: 1
    Dernier message: 01/06/2009, 23h08
  4. Filtre sur tables en relation
    Par asterix08 dans le forum WinDev
    Réponses: 4
    Dernier message: 28/11/2006, 20h47
  5. Problème de filtre sur table
    Par omega dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/08/2006, 11h53

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