OVH Cloud OVH Cloud

Filtrage sur plusieurs champs possibles

5 réponses
Avatar
Eric
Est-il possible d'utiliser plusieurs fois successif la commande HFiltre,
pour filtrer
1. la civilté (MONSIEUR)
2. le pays (FRANCE)
3. l'année de naissance (1980) ?

Quelle tactique dois-je utiliser pour me permettre cette fonctionnalité ?

A+
Eric

5 réponses

Avatar
BE
Peut être le mieux et d'utiliser une filtre de cette façon :

ls_Filtre est une chaine
ls_Cle est une chaine

ls_Filtre = "CIVILITE = 'MONSIEUR' ET PAYS = 'FRANCE' ET ANNEE = 1980"
ls_Cle = hfiltre(Matable, ls_Filtre)
hlitpremier(Matable, Ls_Cle)
.....

"Eric" a écrit dans le message de news:
415bf387$
Est-il possible d'utiliser plusieurs fois successif la commande HFiltre,
pour filtrer
1. la civilté (MONSIEUR)
2. le pays (FRANCE)
3. l'année de naissance (1980) ?

Quelle tactique dois-je utiliser pour me permettre cette fonctionnalité ?

A+
Eric




Avatar
David B
l'execution d'un filtre sur un fichier annule les filtres précédents (1
filtre max par fichier en même temps) du coup seul le filtre sur l'année
marcherais si tu en lance 3 d'affilée)

la solution de BE est donc la seule alternative possible.

"BE" a écrit dans le message de news:
415bf936$0$30902$

Peut être le mieux et d'utiliser une filtre de cette façon :

ls_Filtre est une chaine
ls_Cle est une chaine

ls_Filtre = "CIVILITE = 'MONSIEUR' ET PAYS = 'FRANCE' ET ANNEE = 1980"
ls_Cle = hfiltre(Matable, ls_Filtre)
hlitpremier(Matable, Ls_Cle)
.....

"Eric" a écrit dans le message de news:
415bf387$
> Est-il possible d'utiliser plusieurs fois successif la commande HFiltre,
> pour filtrer
> 1. la civilté (MONSIEUR)
> 2. le pays (FRANCE)
> 3. l'année de naissance (1980) ?
>
> Quelle tactique dois-je utiliser pour me permettre cette fonctionnalité


?
>
> A+
> Eric
>
>




Avatar
Val
"Eric" a écrit dans le message de news:
415bf387$
Est-il possible d'utiliser plusieurs fois successif la commande HFiltre,
pour filtrer
1. la civilté (MONSIEUR)
2. le pays (FRANCE)
3. l'année de naissance (1980) ?

Quelle tactique dois-je utiliser pour me permettre cette fonctionnalité ?

A+
Eric



Re-Bonjour

Il faut que tu construises le filtre.
Alors là ... attention car c'est plutôt barbare et d'une approche très
"préhistorique".
Personnellement, il y a quelques mois lorsque j'ai été confronté au
problème, il m'a fallu jongler entre l'aide de WD75 et celle plus ancienne
de WD55 pour arriver à faire quelque chose.

Bon, regarde d'abord si tu as une boite d'aspirine à portée de la main.
Ensuite, pour arriver à tes fins, tu dois utiliser ChaîneConstruit et faire
un usage massif de la fenêtre de tracage ou de déboguage pour voir si le
filtre est correct car il ne faut pas se gourrer entre le caractère ' et le
caractère ".

Exemple:
pour filtrer
1. la civilité (MONSIEUR) -> champs CIVILITE
2. le pays (FRANCE) -> champs PAYS
3. l'année de naissance (1980) -> champs ANNEEDENAISSANCE

Filtreperso est une chaine
cleparcours est une chaine
Filtreperso = ChaîneConstruit("CIVILITE='MONSIEUR' et PAYS='FRANCE' et
ANNEEDENAISSANCE='1980'")
cleparcours =HFiltre(NOMDUFICHIER,CLEFICHIER,Filtreperso)
Table..Filtre=cleparcours

Fait attention aux ' et "
Ceci devrait marcher.
Par contre, attention ... ceci marche il me semble que si ANNEEDENAISSANCE
est une chaîne. Si c'est un numérique il faut faire quelques "acrobaties"
avec les ' et les " quand tu contruis le filtre.

Bon courage et n'oublie pas la boite d'aspirine

A+

Val
Avatar
Adrien
je te conseilles d'utiliser une requête. le résultat sear plus facile à
manipuler et les performances meilleures.
utilises l'editeur de requête et met 3 conditions.

A+
Adrien.

"Eric" a écrit dans le message de news:
415bf387$
Est-il possible d'utiliser plusieurs fois successif la commande HFiltre,
pour filtrer
1. la civilté (MONSIEUR)
2. le pays (FRANCE)
3. l'année de naissance (1980) ?

Quelle tactique dois-je utiliser pour me permettre cette fonctionnalité ?

A+
Eric



Avatar
Antoine
Vérifies aussi que tes rubriques dans le fichier soient de type clé afin
d'accélérer la recherche.
Antoine


Adrien wrote:
je te conseilles d'utiliser une requête. le résultat sear plus facile
à manipuler et les performances meilleures.
utilises l'editeur de requête et met 3 conditions.

A+
Adrien.

"Eric" a écrit dans le message de news:
415bf387$
Est-il possible d'utiliser plusieurs fois successif la commande
HFiltre, pour filtrer
1. la civilté (MONSIEUR)
2. le pays (FRANCE)
3. l'année de naissance (1980) ?

Quelle tactique dois-je utiliser pour me permettre cette
fonctionnalité ? A+
Eric