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 :

HFiltre - référence absente


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 65
    Par défaut HFiltre - référence absente
    Bonjour,

    je rencontre un problème avec mon code en utilisant HFiltre, je m'explique :

    Je fais une recherche d'une reference dans un fichier PARAMETRE pour ajouter une "Référence Mère" dans mon fichier PRODUCTION, le problème, c'est que si la reference n'existe pas dans le fichier PARAMETRES, le champs PRODUCTION.REFERENCEMERE se rempli quand mê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
    17
    18
    19
    20
    21
     
     
    sCleParcour = HFiltre(PARAMETRES, REFPRO, reference)
    Si sCleParcour <> "" alors
     
         HLitPremier(PARAMETRES, REFPRO)
         TANTQUE PAS HenDehors()
     
              SI PARAMETRES.REFPRO = reference alors
                   PRODUCTION.REFERENCEMERE = PARAMETRES.REFMERE
              FIN
     
         HLitSuivant(PARAMETRES, REFPRO)
     
         FIN
     
    FIN
     
    HdésactiveFiltre(PARAMETRES)
     
    HAjoute(PRODUCTION)

    J'ai tourné le problème dans ton les sens et je ne comprends pas.

    Si quelqu'un peut m'aider ?

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 401
    Par défaut
    Bonjour,

    C'est normal, tu ne parcours pas PARAMETRES avec le filtre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HLitPremier(PARAMETRES, sCleParcour)
    et aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    HLitSuivant(PARAMETRES, sCleParcour)

  3. #3
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 65
    Par défaut
    Salut Lo²,

    c'est ce que j'avais au début, j'avais toujours le même genre de problème, les valeurs pour les references qui n'existent pas sont différentes mais irréaliste.

    ce que je souhaiterais, c'est que s'il ne trouve pas la reference, qu'il laisse à blanc le champs (ce serait logique, non ?)

  4. #4
    Membre Expert Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Par défaut
    Bonjour,

    Ce qu'il te faut c'est une requête. La fonction HFiltre permet de "sauter" certains enregistrements qui ne répondent pas à un critère. Cette fonction ne met pas à blanc les champs qui ne marchent pas, elle ignore toute la ligne.

  5. #5
    Membre Expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Calvados (Basse Normandie)

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 401
    Par défaut
    oui ou en gardant le code actuel avec quelques modfications :
    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
    sCleParcour = HFiltre(PARAMETRES, REFPRO, reference)
    sREFMERE est chaine
    
    Si sCleParcour <> "" alors
    
         HLitPremier(PARAMETRES, sCleParcour )
         SI PAS HenDehors()
              SI PARAMETRES.REFPRO = reference alors
                    sREFMERE = PARAMETRES.REFMERE
              FIN
         FIN
    
    FIN
    HdésactiveFiltre(PARAMETRES)
    
    SI sREFMERE = "" ALORS
      PRODUCTION.REFERENCEMERE = ""
    SINON
      PRODUCTION.REFERENCEMERE = PARAMETRES.REFMERE
    FIN
    HAjoute(PRODUCTION)

Discussions similaires

  1. [MySQL-5.6] Identifier les éléments d'un table de référence absent
    Par bouligoulag dans le forum Requêtes
    Réponses: 1
    Dernier message: 20/02/2014, 16h39
  2. Réponses: 1
    Dernier message: 15/04/2013, 10h42
  3. [Livres/Références] Vos avis..
    Par Community Management dans le forum Livres
    Réponses: 6
    Dernier message: 25/07/2005, 19h31
  4. Passage d'un tableau par référence?
    Par sebduth dans le forum C
    Réponses: 9
    Dernier message: 16/07/2003, 18h32
  5. [Concept] Table de référence
    Par matlo dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 20/01/2003, 15h01

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