HFiltre encore et encore

Le
axxisii Hors ligne
Bonjour,

Encore un souci avec ce satané HFiltre et ce n'est pas le premier que je mets mais là j'en perds mon latin avec des quotes ou sans quote, le filtre ne fonctionne pas.
En gros, j'ai une table fichier et un bandeau dit de recherche. A chaque lettre saisie dans ce bandeau mon filtre s'active pour rafraichir ma table et ne donner que les éléments concernés. Jusque là, rien de bien compliqué.

Je suis bien sur passé par l'assistant Windev, voici le code :

// On active le filtre
HFiltre(Patient, IDPatient,Gauche(nom)="J")

// Parcours des enregistrements filtrés
HLitPremier(Patient, IDPatient)
TANTQUE PAS HEnDehors()
Info("je suis la")
HLitSuivant(Patient, IDPatient)
FIN
// On désactive le filtre
HDésactiveFiltre(Patient)

J'ai enlevé tous les quotes bien sur. Je ne passe jamais par ma boucle quoique je fasse d'où mon Info en plein milieu mais ma condition ne va pas dans mon Hfiltre je le sais bien mais j'ai beau la tourner dans tous les sens, rien ne fonctionne. Dans le gauche.nom="J", le J est juste une lettre de test qui normalement est une zone de saisie rattachée au nom du patient.

Si quelqu'un a une idée, j'en serais plus que content !

Merci par avance, Chris

PS : Windev 7.5
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fredo
Le #24092771
Salut,

la bonne syntaxe du hfiltre serait :

hfiltre(Patient,IDPatient,"Nom]='J'")

Ou ]= correspond à "commence par", la version paramétrable serait :

hfiltre(Patient,IDPatient,chaineconstruit("Nom]='%1'","J"))

Bon dev,

Fred

Le 20/12/2011 18:06, axxisii a écrit :
Bonjour,

Encore un souci avec ce satané HFiltre et ce n'est pas le premier que je mets
mais là j'en perds mon latin avec des quotes ou sans quote, le filtre ne
fonctionne pas.
En gros, j'ai une table fichier et un bandeau dit de recherche. A chaque lettre
saisie dans ce bandeau mon filtre s'active pour rafraichir ma table et ne donner
que les éléments concernés. Jusque là, rien de bien compliqué.

Je suis bien sur passé par l'assistant Windev, voici le code :

// On active le filtre
HFiltre(Patient, IDPatient,Gauche(nom)="J")

// Parcours des enregistrements filtrés
HLitPremier(Patient, IDPatient)
TANTQUE PAS HEnDehors()
Info("je suis la")
HLitSuivant(Patient, IDPatient)
FIN
// On désactive le filtre
HDésactiveFiltre(Patient)

J'ai enlevé tous les quotes bien sur. Je ne passe jamais par ma boucle quoique
je fasse d'où mon Info en plein milieu mais ma condition ne va pas dans mon
Hfiltre je le sais bien mais j'ai beau la tourner dans tous les sens, rien ne
fonctionne. Dans le gauche.nom="J", le J est juste une lettre de test qui
normalement est une zone de saisie rattachée au nom du patient.

Si quelqu'un a une idée, j'en serais plus que content !

Merci par avance, Chris

PS : Windev 7.5
axxisii Hors ligne
Le #24092901
Fredo a écrit le 20/12/2011 à 18h37 :
Salut,

la bonne syntaxe du hfiltre serait :

hfiltre(Patient,IDPatient,"Nom]='J'")

Ou ]= correspond à "commence par", la version
paramétrable serait :

hfiltre(Patient,IDPatient,chaineconstruit("Nom]='%1'","J"))

Bon dev,

Fred

Le 20/12/2011 18:06, axxisii a écrit :
Bonjour,

Encore un souci avec ce satané HFiltre et ce n'est pas le premier que
je mets
mais là j'en perds mon latin avec des quotes ou sans quote, le filtre
ne
fonctionne pas.
En gros, j'ai une table fichier et un bandeau dit de recherche. A chaque
lettre
saisie dans ce bandeau mon filtre s'active pour rafraichir ma table et ne
donner
que les éléments concernés. Jusque là, rien de
bien compliqué.

Je suis bien sur passé par l'assistant Windev, voici le code :

// On active le filtre
HFiltre(Patient, IDPatient,Gauche(nom)="J")

// Parcours des enregistrements filtrés
HLitPremier(Patient, IDPatient)
TANTQUE PAS HEnDehors()
Info("je suis la")
HLitSuivant(Patient, IDPatient)
FIN
// On désactive le filtre
HDésactiveFiltre(Patient)

J'ai enlevé tous les quotes bien sur. Je ne passe jamais par ma boucle
quoique
je fasse d'où mon Info en plein milieu mais ma condition ne va pas dans
mon
Hfiltre je le sais bien mais j'ai beau la tourner dans tous les sens, rien ne
fonctionne. Dans le gauche.nom="J", le J est juste une lettre de
test qui
normalement est une zone de saisie rattachée au nom du patient.

Si quelqu'un a une idée, j'en serais plus que content !

Merci par avance, Chris

PS : Windev 7.5




Toujours la même erreur avec ton code...
En faisant un halt sur le HLitPremier et le TANTQUE PAS HenDehors(), le HLit me dit que je suis pas en dehors donc il continue mais quand je tombe sur le TANTQUE, je suis en dehors donc ma boucle s'arrête...

Le but du jeu est juste de filtrer une table ficher en fonction d'un caractère saisie dans une zone texte, mais là, je ne vois pas...
VPSoft
Le #24093371
"axxisii"
Fredo a écrit le 20/12/2011 à 18h37 :
Salut,

la bonne syntaxe du hfiltre serait :

hfiltre(Patient,IDPatient,"Nom]='J'")

Ou ]= correspond à "commence par", la version
paramétrable serait :

hfiltre(Patient,IDPatient,chaineconstruit("Nom]='%1'","J"))

Bon dev,

Fred

Le 20/12/2011 18:06, axxisii a écrit :
Bonjour,

Encore un souci avec ce satané HFiltre et ce n'est pas le premier que
je mets
mais là j'en perds mon latin avec des quotes ou sans quote, le filtre
ne
fonctionne pas.
En gros, j'ai une table fichier et un bandeau dit de recherche. A chaque
lettre
saisie dans ce bandeau mon filtre s'active pour rafraichir ma table et
ne
donner
que les éléments concernés. Jusque là, rien de
bien compliqué.

Je suis bien sur passé par l'assistant Windev, voici le code :

// On active le filtre
HFiltre(Patient, IDPatient,Gauche(nom)="J")

// Parcours des enregistrements filtrés
HLitPremier(Patient, IDPatient)
TANTQUE PAS HEnDehors()
Info("je suis la")
HLitSuivant(Patient, IDPatient)
FIN
// On désactive le filtre
HDésactiveFiltre(Patient)

J'ai enlevé tous les quotes bien sur. Je ne passe jamais par ma boucle
quoique
je fasse d'où mon Info en plein milieu mais ma condition ne va pas dans
mon
Hfiltre je le sais bien mais j'ai beau la tourner dans tous les sens,
rien




ne
fonctionne. Dans le gauche.nom="J", le J est juste une lettre de
test qui
normalement est une zone de saisie rattachée au nom du patient.

Si quelqu'un a une idée, j'en serais plus que content !

Merci par avance, Chris

PS : Windev 7.5




Toujours la même erreur avec ton code...
En faisant un halt sur le HLitPremier et le TANTQUE PAS HenDehors(), le
HLit me
dit que je suis pas en dehors donc il continue mais quand je tombe sur le
TANTQUE, je suis en dehors donc ma boucle s'arrête...

Le but du jeu est juste de filtrer une table ficher en fonction d'un
caractère
saisie dans une zone texte, mais là, je ne vois pas...



Bonsoir,
En faisant un halt sur le HLitPremier et le TANTQUE PAS HenDehors(), le
HLit me
dit que je suis pas en dehors donc il continue


Comment il te dit qu'il n'est pas en dehors ? Qu'est-ce qui te dit qu'il a
trouvé ? Je ne vois pas de test ou tu vérifies s'il en a trouvé au moins un
(If hlitpremier ou bien if htrouvé). Peut être qu'il n'y a aucun nom
commençant par J. Si tu en es certain, c'est que ton filtre n'est pas
correctement posé.
Comme l'a dit Fredo, dans la Condition du filtre, il faut mettre les
valeurs entre simples quotes (apostrophe).
Es-tu sur du nom de la rubrique ?
Avec le hfiltre, il ne faut jamais s'énerver... J'en sais qq chose. Une fois
qu'on a bien compris comment ça marche, ça va
Bon courage,

Victor
axxisii Hors ligne
Le #24096421
VPSoft a écrit le 20/12/2011 à 21h31 :
"axxisii" a écrit dans
le message de news:

Fredo a écrit le 20/12/2011 à 18h37 :
Salut,

la bonne syntaxe du hfiltre serait :

hfiltre(Patient,IDPatient,"Nom]='J'")

Ou ]= correspond à "commence par", la version
paramétrable serait :

hfiltre(Patient,IDPatient,chaineconstruit("Nom]='%1'","J"))

Bon dev,

Fred

Le 20/12/2011 18:06, axxisii a écrit :
Bonjour,

Encore un souci avec ce satané HFiltre et ce n'est pas le premier que
je mets
mais là j'en perds mon latin avec des quotes ou sans quote, le filtre
ne
fonctionne pas.
En gros, j'ai une table fichier et un bandeau dit de recherche. A chaque
lettre
saisie dans ce bandeau mon filtre s'active pour rafraichir ma table et
ne
donner
que les éléments concernés. Jusque là, rien de
bien compliqué.

Je suis bien sur passé par l'assistant Windev, voici le code :

// On active le filtre
HFiltre(Patient, IDPatient,Gauche(nom)="J")

// Parcours des enregistrements filtrés
HLitPremier(Patient, IDPatient)
TANTQUE PAS HEnDehors()
Info("je suis la")
HLitSuivant(Patient, IDPatient)
FIN
// On désactive le filtre
HDésactiveFiltre(Patient)

J'ai enlevé tous les quotes bien sur. Je ne passe jamais par ma
boucle
quoique
je fasse d'où mon Info en plein milieu mais ma condition ne va pas
dans
mon
Hfiltre je le sais bien mais j'ai beau la tourner dans tous les sens,
rien






ne
fonctionne. Dans le gauche.nom="J", le J est juste une lettre de
test qui
normalement est une zone de saisie rattachée au nom du patient.

Si quelqu'un a une idée, j'en serais plus que content !

Merci par avance, Chris

PS : Windev 7.5






Toujours la même erreur avec ton code...
En faisant un halt sur le HLitPremier et le TANTQUE PAS HenDehors(), le
HLit me
dit que je suis pas en dehors donc il continue mais quand je tombe sur le
TANTQUE, je suis en dehors donc ma boucle s'arrête...

Le but du jeu est juste de filtrer une table ficher en fonction d'un
caractère
saisie dans une zone texte, mais là, je ne vois pas...




Bonsoir,
En faisant un halt sur le HLitPremier et le TANTQUE PAS HenDehors(), le
HLit me
dit que je suis pas en dehors donc il continue



Comment il te dit qu'il n'est pas en dehors ? Qu'est-ce qui te dit qu'il a
trouvé ? Je ne vois pas de test ou tu vérifies s'il en a
trouvé au moins un
(If hlitpremier ou bien if htrouvé). Peut être qu'il n'y a aucun
nom
commençant par J. Si tu en es certain, c'est que ton filtre n'est pas
correctement posé.
Comme l'a dit Fredo, dans la Condition du filtre, il faut mettre les
valeurs entre simples quotes (apostrophe).
Es-tu sur du nom de la rubrique ?
Avec le hfiltre, il ne faut jamais s'énerver... J'en sais qq chose. Une
fois
qu'on a bien compris comment ça marche, ça va
Bon courage,

Victor


C'est réglé !
Encore un quote mal placé pour ne pas changer mais ça fonctionne.
Au passage comme j'utilise la version 7.5 de Windev, je n'ai pas la propriété html..CouleurdeFond pour les champs HTML à rendre transparent.

Y a-t-il un moyen de contourner ceci ou quelle version de Windev faut-il ?

Merci
Publicité
Poster une réponse
Anonyme