PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → HLitRecherchePremier pb d'utilisation
HLitRecherchePremier pb d'utilisation
Débuté par GB, 28 juin 2005 13:37 - 6 réponses
Posté le 28 juin 2005 - 13:37
Bonjour
Voici le code ecrit :

// Vérification du fournisseur
àBlocage = HLitRecherchePremier(FOURNISSEURS,IDFOURNISSEURS,IDFOURNISSEUR)
SI àBlocage = Faux ALORS
Avertissement("Ce fournisseur " + IDFOURNISSEUR + " n'existe pas")
RETOUR
FIN

Ce code ne réagit pas comme :

HLitRecherchePremier(FOURNISSEURS,IDFOURNISSEURS,IDFOURNISSEUR)
SI HTrouve ALORS
SINON
Avertissement("Ce fournisseur " + IDFOURNISSEUR + " n'existe pas")
RETOUR
FIN

En lisant la doc windev
"<Résultat> = HLitRecherchePremier(<Nom du fichier>, <Nom de la rubrique>, <Valeur recherchée> [,<Options>])

Détails des paramètres
<Résultat> : Booléen
Vrai si l'enregistrement a été lu (correspond à la valeur de HTrouve )
Faux en cas de problème. Ce problème peut être du :
- soit à un problème de positionnement (fichier vide, ...) : HTrouve renvoie Faux et HErreur renvoie 0.
- soit à une erreur : la fonction HErreur renvoie un entier différent de 0. La fonction HErreurInfo permet d'obtenir plus de détails. "


, j'avais l'impression qu'ils auraient du avoir le même comportement, mais le premier code arrive a trouvé des n° fournisseurs qui n'existent pas.

Est-ce que qq'un peut m'expliquer la différence?

Merci d'avance pour vos réponses.

Bonne journée
GB
Posté le 28 juin 2005 - 15:51
et en mettant plutôt

HLitRecherchePremier(FOURNISSEURS,IDFOURNISSEURS,IDFOURNISSEUR)
SI HTrouve(FOURNISSEURS) ALORS
....

ca donne quoi ?

eric l.

"GB" <gb63@netcourrier.com> a écrit dans le message de news:
42c10fb5@news.pcsoft.fr...

Bonjour
Voici le code ecrit :

// Vérification du fournisseur
àBlocage = HLitRecherchePremier(FOURNISSEURS,IDFOURNISSEURS,IDFOURNISSEUR)
SI àBlocage = Faux ALORS
Avertissement("Ce fournisseur " + IDFOURNISSEUR + " n'existe pas")
RETOUR
FIN

Ce code ne réagit pas comme :

HLitRecherchePremier(FOURNISSEURS,IDFOURNISSEURS,IDFOURNISSEUR)
SI HTrouve ALORS
SINON
Avertissement("Ce fournisseur " + IDFOURNISSEUR + "
n'existe pas")
RETOUR
FIN

En lisant la doc windev
"<Résultat> = HLitRecherchePremier(<Nom du fichier>, <Nom de la rubrique>,
<Valeur recherchée> [,<Options>])

Détails des paramètres
<Résultat> : Booléen
Vrai si l'enregistrement a été lu (correspond à la valeur de HTrouve )
Faux en cas de problème. Ce problème peut être du :
- soit à un problème de positionnement (fichier vide, ...) : HTrouve
renvoie Faux et HErreur renvoie 0.
- soit à une erreur : la fonction HErreur renvoie un entier différent de
0. La fonction HErreurInfo permet d'obtenir plus de détails. "


, j'avais l'impression qu'ils auraient du avoir le même comportement, mais
le premier code arrive a trouvé des n° fournisseurs qui n'existent pas.

Est-ce que qq'un peut m'expliquer la différence?

Merci d'avance pour vos réponses.

Bonne journée
GB

Posté le 28 juin 2005 - 16:13
Bonjour Eric
IDFOURNISSEURS est un identifiant généré par windev.
IDFOURNISSEUR est la zone utilisée dans ma fenêtre.
Mon but est de mettre un message quand il ne trouve pas le fournisseur.
Dans mon fichier j'ai trois fournisseur (1, 2, 3). Quand je saisis 4, normalement, il ne devrait pas le trouver et il le trouve. Si je mets 5 là il me met une erreure. Je ne comprends rien.
HLitRecherchePremierFOURNISSEURS,IDFOURNISSEURS,IDFOURNISSEUR)
SI HTrouve(FOURNISSEURS) ALORS
SINON
Avertissement("Ce fournisseur " + IDFOURNISSEUR + " n'existe pas")
RETOUR
FIN
Si vous avez une idée, elle est la bien venue.
Merci pour votre aide
GB
Posté le 28 juin 2005 - 17:23
Si IDfournisseurs est un identifiant automatique, il n'est pas destiné à être composé pour rechercher un fournisseur (comment le connaitre?). Faites votre recherche sur un code fournisseur ou le nom du fournisseur, l'identifiant automatique sera par contre utile pour trouver des enregistrements dans des fichiers reliés au fichier fournisseurs.
Posté le 28 juin 2005 - 17:51
Bonjour Lagousse et merci pour votre réponse.
Donc si j'ai bien compris, on ne peut pas utiliser un identifiant automatique pour faire une recherche (et mise à jour de donnée) du fichier de l'identifiant.
Cela explique tous les problèmes que j'ai en ce moment.
Merci encore et bonne journée
Posté le 28 juin 2005 - 18:52
Le 28 juin 2005 à 16:51, dans <news:42c14b40@news.pcsoft.fr>, GB nous
disait :

Donc si j'ai bien compris, on ne peut pas utiliser un identifiant
automatique pour faire une recherche (et mise à jour de donnée) du
fichier de l'identifiant.


Bien sûr que si ! Heureusement d'ailleurs.

Dans votre cas, il faut aussi tester HEndehors :

HLitRecherchePremierFOURNISSEURS,IDFOURNISSEURS,IDFOURNISSEUR)
SI HTrouve(FOURNISSEURS) et pas HEndehors(FOURNISSEURS) ALORS
// Votre traitement
SINON
Avertissement("Ce fournisseur " + IDFOURNISSEUR + " n'existe pas")
RETOUR
FIN


--
Cordialement
Posté le 30 juin 2005 - 16:19
Encore plus simple :

Si HLitRecherchePremier(FOURNISSEURS,IDFOURNISSEURS,IDFOURNISSEUR)=faux alors
Avertissement("Ce fournisseur " + IDFOURNISSEUR + " n'existe pas")
RETOUR
sinon
// Votre traitement
SINON
FIN



@+++