Bonjour,
soit un fichier de données Cedex, contenant l'ensemble des villes françaises et leurs codes postaux:
  • IDCedex (clé unique)
  • CodePostal
  • Ville


Dans une fenêtre, j'ai un champ de saisie SAI_CodePostal et une combo COMBO_Ville.
Au départ, la combo est grisée ; dès que l'utilisateur tape au moins 2 chiffres, je filtre le fichier Cedex de façon à n'afficher que les villes dont le code postal commence par les chiffres tapés:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
A chaque modification de SAI_CodePostal

SI Taille(SAI_CodePostal) >= 2 ALORS
	COMBO_Ville..Grisé = Faux
	HFiltreCommencePar(Cedex,CodePostal,SansEspace(SAI_CodePostal))	
SINON SI Taille(SAI_CodePostal < 2) ALORS
	HDésactiveFiltre(Cedex)
	COMBO_Ville..Grisé = Vrai
FIN
Ça marche très bien, sauf que lorsqu'on tape le 3e puis 4e...etc chiffre du code postal, la liste des villes de la combo ne change pas: comme si le filtre n'était pas actualisé (alors qu'il est indiqué dans l'aide que, lors d'appels successifs à la fonction HFiltre, seul le dernier filtre est appliqué - ce qui est exactement ce que je veux).

Pourtant, comme expliqué dans l'aide, j'ai paramétré le contenu de la combo comme suit:
  • Fichier parcouru => Cedex
  • Rubrique affichée => Ville
  • Rubrique mémorisée => IDCedex
  • Rubrique de parcours => CodePostal (il est dit dans l'aide d'utiliser ici la même rubrique que celle renvoyée par HFiltre)


Alors pourquoi ce comportement ?