Recherche incrémentale
Stagiaire WDF
Inscrit:
15/12/2004 12:05
Post(s): 7
Bonjour,

J'ai un petit souci de recherche incrémentale qui ne fonctionne pas...

Je veux afficher dans une table le premier film d'un fichier soit en cherchant par code, soit par titre.

Quand on entre dans le champ "Code", et qu'on commence à taper un code, la table affiche les films en commençant par le code indiqué ; quand on passe au champ "Nom" pour rechercher par nom, la table liée au fichier affiche en fonction du nom.

J'utilise la propriété "Filtre" de la table et "Rubrique parcourue" qui change selon que l'on entre dans la zone "Code" ou dans la zone "Nom".

Et ça ne fonctionne pas... la table reste "blanche" (elle est remplie en mode édition de programme).

Quelqu'un aurait-il une idée sur l'origine du problème ?

Merci...

-- André

Contribution le : 10/01/2005 23:06
Créer un fichier PDF de la contribution Imprimer


Re: Recherche incrémentale
Utilisateur WDF
Inscrit:
06/04/2004 10:06
Post(s): 61
Bonjour andré,

J'utiliserais plutôt la fonction "hlitrecherche" sur le fichier indéxé suivant (code ou nom).
Dans l'analyse, ton fichier "film" doit être indéxé sur code et nom.

Dans la variable "recherchecode"

"A chaque modification" tu mets ceci :

hlitrecherche(film,code,recherchecode)
tableaffiche(nomdela table,taCourantPremier)


Tu fais la même chose avec la variable rechercheNom



@+
chonchon,






Contribution le : 10/01/2005 23:57
Créer un fichier PDF de la contribution Imprimer


Re: Recherche incrémentale
Anonyme
Bonjour André

Avant de modifier les propriétés, il faut d'abord les libérer - cfr Propriétés

// TableContact est une table fichier
// Code repris dans le sélecteur
// ... A chaque modification
// gsCléParc : variable globale à la fenêtre

TableContact..Filtre = ""
TableContact..RubriqueParcourue = ""
TableContact..FichierParcouru = ""

SELON MoiMême // Sélecteur de choix
CAS 1 : gsCléParc = "Nom"
CAS 2 : gsCléParc = "Ville"
CAS 3 : gsCléParc = "CodePostal"
CAS 4 : gsCléParc = "Activité"
FIN

TableContact..RubriqueParcourue = gsCléParc
TableContact..FichierParcouru = "Contact"

Cela fonctionne sans problèmes

J'espère avoir répondu à ton problème

Bon développement

A+

Albert





Contribution le : 11/01/2005 09:31
Créer un fichier PDF de la contribution Imprimer


Re: Recherche incrémentale
Stagiaire WDF
Inscrit:
15/12/2004 12:05
Post(s): 7
Merci à tous les deux pour votre aide.

Je n'ai cependant pas pu résoudre le problème... et je bute "bêtement" sur ce qui doit être simple.

-J'ai la version 80315P.
-Mon fichier "Films" est bien indexé sur Code et Titre
-Ma table est liée au fichier "Films"
-Mes deux champs de saisie "sCodeFilm" et "sTitreFilm" comportent le code suivant (corrigé d'après vos messages)

-- Entrée de sCodeFilm
Table_Films..RubriqueParcourue = ""
Table_Films..RubriqueParcourue = Films.TitreFilm

Table_Films..Filtre = ""
Table_Films..Filtre = sTitreFilm
TableAffiche(Table_Films,taCourantPremier)

-- A chaque modification de sTitreFilm
Table_Films..Filtre = ""
Table_Films..Filtre = sTitreFilm
TableAffiche(Table_Films,taCourantPremier)

idem pour sCodeFilm, avec le champ CodeFilm.

Le code devrait fonctionner ainsi:
je commence à taper dans le champ code, la table affiche les films dont le code commence par le code saisi, et s'affine au fur et à mesure de la frappe.
Si je "passe" dans le champ de saisie Titre, la table est retriée selon le titre et le même principe d'affichage selon les caractères tapés est repris.

Ma table reste désespérément vierge à l'exécution.
Si je clique sur la loupe ou l'entête de tri, par contre, elle se remplit bien.... je ne comprends plus !

J'espère avoir été assez clair... merci en tout cas pour vos idées !

-- André

Contribution le : 11/01/2005 11:54
Créer un fichier PDF de la contribution Imprimer


Re: Recherche incrémentale
Anonyme
Salut,
a tout hasard, est ce que tu as essayé de redessiner ton tableau ?
A+

Contribution le : 11/01/2005 12:30
Créer un fichier PDF de la contribution Imprimer


Re: Recherche incrémentale
Stagiaire WDF
Inscrit:
15/12/2004 12:05
Post(s): 7
Je viens de redessiner le tableau... sans effet.

J'ai aussi retiré les lignes
--entrée dans sTitreFilm
Table_Films..RubriqueParcourue = ""
Table_Films..RubriqueParcourue = Films.TitreFilm

(et idem pour sCode).

Ca ne marche pas mieux, SAUF... si je clique d'abord sur l'entête de colonne pour la trier. Et là ça fonctionne !

J'avoue ne pas bien comprendre... et j'aimerais m'affranchir du clic de souris pour proposer la recherche...

-- André

Contribution le : 11/01/2005 14:22
Créer un fichier PDF de la contribution Imprimer


Re: Recherche incrémentale
Anonyme
Bonjour André,

Votre code ne saurait pas fonctionner correctement

-- Entrée de sCodeFilm
>Table_Films..RubriqueParcourue = ""
>Table_Films..RubriqueParcourue = Films.TitreFilm

>Table_Films..Filtre = ""
>Table_Films..Filtre = sTitreFilm
>TableAffiche(Table_Films,taCourantPremier)

-- A chaque modification de sTitreFilm
>Table_Films..Filtre = ""
>Table_Films..Filtre = sTitreFilm
>TableAffiche(Table_Films,taCourantPremier)

Il faut bien respecter l'ordre des codes

L'aide en ligne précise bien
******************************************************
Modifier les propriétés liées au parcours d'une table, liste ou combo fichier

Pour modifier les propriétés RubriqueParcourue, Filtre et FichierParcouru, il est conseillé de :

1. Stopper le parcours en affectant une chaîne vide ("") à la propriété FichierParcouru.

2. Modifier les propriétés nécessaires.

3. Relancer le parcours avec la propriété FichierParcouru.

Cette méthode permet d'optimiser les modifications réalisées. En effet, chacune des modifications effectuée individuellement relance le parcours. Ces opérations peuvent vite devenir lentes sur des fichiers de taille importante.
****************************************************

Vous devriez revoir et suivre correctement le code que je vous ai indiqué et qui fonctionne et de surcroit tres rapide

Rappel :

en premier lieu

Table_Films..FichierParcouru = ""
Table_Films..RubriqueParcourue = "NomRubrique"
donc "TitreFilm"
Table_Film.. FichierParcouru = "NomFichier"
donc "Film"

Il faut reprendre respectivement dans l'ordre
le nom de la rubrique de parcours puis le nom du fichier

Supprimer > TableAffiche(Table_Films,taCourantPremier)

Le parcours de la table est relancé par
Table_Films..FichierParcouru = "Film"

@+
Albert





Contribution le : 12/01/2005 11:51
Créer un fichier PDF de la contribution Imprimer


Re: Recherche incrémentale
Anonyme
Bonjour André

Nom du fichier : Contact
Nom de la rubrique : Nom < clé de parcours >
Nom de la table fichier : Table_Contact

Recherche introduite dans un champ de saisie dont le code est

// A chaque modification
Table_Contact..FichierParcouru = ""
Table_Contact..RubriqueParcourue = "Nom"
Table_Contact..Filtre = MoiMême
Table_Contact..FichierParcouru = "Contact"

Si tu respectes l'ordre cette procédure toute simple
tu n'auras aucun problème

@+
Albert








Contribution le : 12/01/2005 13:44
Créer un fichier PDF de la contribution Imprimer


Re: Recherche incrémentale
Anonyme
ReBonjour André

Excuse moi, mais j'ai oublié une ligne de code dans mon exemple.

En effet, il ne faut pas perdre de vue que comme il s'agit d'un filtre, il faut le désactivier notamment si tu changes de clé de parcours

Nom du fichier : Contact
Nom de la rubrique : Nom // Clé de parcours >
Nom de la table fichier : Table_Contact

Recherche introduite dans un champ de saisie dont le code est :

// A chaque modification
Table_Contact..Filtre = "" // désactive le filtre
Table_Contact..FichierParcouru = ""

Table_Contact..RubriqueParcourue = "Nom" // Clé de parcours
Table_Contact..Filtre = MoiMême
Table_Contact..FichierParcouru = "Contact"

@+
Albert

Contribution le : 12/01/2005 14:14
Créer un fichier PDF de la contribution Imprimer


Re: Recherche incrémentale
Animateur WDF
Inscrit:
26/06/2002 16:24
De wdforge.org
Post(s): 2822
Bonjour.
Quand on vois que les outil de recherches non sont utilisés...
ici même 'Filtre Table' et lancer donne cet article paru il y a fort fort longtemps.

Contribution le : 12/01/2005 15:29
_________________
R&B
Contact, CV.
Créer un fichier PDF de la contribution Imprimer


Re: Recherche incrémentale
Stagiaire WDF
Inscrit:
15/12/2004 12:05
Post(s): 7
Bonjour Albert,

Merci pour cette correction, qui effectivement fonctionne. Ca me semblait un peu bête de devoir "déconnecter" le fichier pour changer de filtre, mais la solution est à l'évidence là.
Encore tous mes remerciements pour ton aide.

Cher R&B,
Je fais partie de ceux qui cherchent longtemps et en profondeur avant de poser une question... et la recherche dépend aussi des mots-clés qu'on utilise.
Désolé si j'ai provoqué ton couroux, mais il me semble qu'un forum sert à s'entraider...
Et ça ne m'empêche pas de vous féliciter pour ce site des plus utiles !

-- André

Contribution le : 12/01/2005 16:07
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2