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 :

HTrouve = Vrai avec une valeur cherchée inexistante


Sujet :

WinDev

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Par défaut HTrouve = Vrai avec une valeur cherchée inexistante
    Bonjour,

    J'ai un peu de mal à trouver un titre à ma question.
    J'ai un peu de mal à comprendre aussi.

    Je cherche à vérifier la présence d'un enregistrement dans une table à partir de son ID.
    A partir de là je passe en modification ou en ajout.
    J'ai donc écrit le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HLitRecherche(AN_Etude, ETU_ID, ed_ID)
    		SI HTrouve(AN_Etude) ALORS
    Ce que je ne comprends pas c'est que si la variable ed_ID est vide (égale à '') HTrouve est Vrai
    Si la variable est égale = '-1' HTrouve est Vrai.

    La base est une base ACCESS. Le champ ID est en autoincrément et l'environnement de données à jour.

    Merci de vos avis parce que j'avoue que cela me fait un peu peur.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Par défaut
    Bonsoir,

    Je vous conseille de relire l'aide sur la fonction HLitRecherche.

    Par ailleurs, dans le cas qui vous intéresse, vous devriez préférer HLitRecherchePremier.

    Bon travail

    Hemgé

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Par défaut
    Exact!

    je n'avais pas pensé à ce distinguo
    Merci

  4. #4
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2011
    Messages : 133
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    HLitRecherche(AN_Etude, ETU_ID, ed_ID,hIdentique)
    "hIdentique" est une constante qu'on utilise dans les options de recherche.
    Selon la doc de hIdentique:
    Recherche à l'identique (voir Notes)
    Par défaut (constante non spécifiée), la recherche effectuée est une recherche générique.

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 075
    Par défaut
    Citation Envoyé par darkWD Voir le message
    "hIdentique" est une constante qu'on utilise dans les options de recherche.
    Bonjour,

    Est-il nécessaire de compliquer les choses?
    WL présente deux fonctions "spécifiques" :
    - HLitRecherche pour les recherches génériques
    - HLitRecherchePremier pour les recherches à l'identique

    Chacune de ces deux fonctions possède une constante qui lui permet de 'basculer' dans l'autre mode.
    Je ne connais pas les raisons historiques de ces échappatoires : HLitRecherchePremier a-t-elle succédé à HLitRecherche ou l'inverse et a-t-on conservé la constante pour garantir le fonctionnement des programmes existants ?

    Qu'un 'vieux' programmeur Windev perpétue ses habitudes, c'est une chose, mais il me semble que tout nouvel utilisateur de Windev (et c'est le cas de Delphine) a intérêt a connaître la palette des fonctions et à les utiliser dans leur destination première.
    C'est plus clair en terme de lisibilité et surtout de relecture, et encore plus en cas de relecture par un tiers.

    Ce n'est que mon avis.

    Hemgé

    Note : par ailleurs, le problème à l'origine du post venait surtout d'une connaissance incomplète du comportement de HLitRecherche et est expliqué dans la doc.

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Par défaut
    J'ai remplacé les HLitRecherche que j'utilisais pour pointer sur un enregistrement précis en HLitRecherchePremier.
    Cela fonctionne.

    Ce n'est pas super intuitif mais il n'y a pas le choix.

  7. #7
    Expert confirmé
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 632
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 632
    Par défaut
    Citation Envoyé par Delphi-ne Voir le message
    J'ai remplacé les HLitRecherche que j'utilisais pour pointer sur un enregistrement précis en HLitRecherchePremier.
    Cela fonctionne.

    Ce n'est pas super intuitif mais il n'y a pas le choix.
    Le fait de t'être fait "avoir" te permet de comprendre les subtilités entre les différentes fonctions HLitRecherche et HLitRecherchePremier. J'ai eu le même souci à une époque car je n'utilisais que les HLitRecherche. Maintenant, je n'utilise plus que les HLitRecherchePremier et cela m'évite bien des déconvenues.

  8. #8
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Janvier 2014
    Messages : 16
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Le fait de t'être fait "avoir" te permet de comprendre les subtilités entre les différentes fonctions HLitRecherche et HLitRecherchePremier. J'ai eu le même souci à une époque car je n'utilisais que les HLitRecherche. Maintenant, je n'utilise plus que les HLitRecherchePremier et cela m'évite bien des déconvenues.
    Moi j'ai retenue aussi cette leçon de HlitRecheche et HlitRecherchePremier

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. INSERT INTO avec une valeur numéroauto
    Par priest69 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 08/11/2005, 16h39
  2. problème avec une valeur decimal
    Par vbcasimir dans le forum Langage
    Réponses: 2
    Dernier message: 11/10/2005, 14h52
  3. Problème avec une valeur decimale
    Par vbcasimir dans le forum Linux
    Réponses: 3
    Dernier message: 12/07/2005, 12h00
  4. avoir un champ avec une valeur numerique qui se decremente
    Par romeo9423 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 15/02/2005, 15h29
  5. champ avec une valeur?
    Par sonialem2000 dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/06/2004, 09h23

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