PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → [Windev17] Recherche par mot-clé à l'intérieur de désignation article
[Windev17] Recherche par mot-clé à l'intérieur de désignation article
Débuté par kbenec, 27 mar. 2019 11:56 - 5 réponses
Membre enregistré
2 messages
Popularité : +1 (1 vote)
Posté le 27 mars 2019 - 11:56
Bonjour à tous

J'ai créé une fenêtre qui comporte une table. la table s'appelle DETAIL_ARTICLES contient la colonne désignation sur laquelle je fais la recherche. A cet effet un champ a été créé dans la fenêtre principale et ce champ se nomme ARTICLES.
Je fais une recherche de nom d'article à partir des premières lettres du mot et la recherche est bien fructueuse.
le code de recherche est :

sCléParcours est une chaîne = ""
sCléComposée est une chaîne = ""

// Rechercher la clé de parcours et la clé composée selon le mode sélectionné
sCléParcours = "Désignation"
sCléComposée = HConstruitValClé(PRODUITS,PRODUITS.Désignation, ARTICLES)

// Filtrer les enregistrements
//DETAIL_ARTICLES..RubriqueParcourue = sCléParcours
DETAIL_ARTICLES..Filtre = sCléComposée

Mon problème est que je n'arrive pas à faire la recherche à l'interieur d'un nom de désignation en dehors du debut de mot qui lui marche bien.

Merci
Cordialement
Membre enregistré
5 messages
Posté le 27 mars 2019 - 14:58
Bonjour,

une solution :

un champ de saisie SAI _Tri
A chaque sortie de SAI_Tri
cherchearticles(SAI_tri)


qui quand on en sort lance une procédure :

PROCEDURE cherchearticles(sTri est une chaîne)

sdMonRes est une Source de Données

sMonCodeSQL est une chaîne = [
Select
article.IDarticle AS ID,
article.Description AS Desc,
article.Désignation AS design
from
article
where
Desc like '%1'
]

sMonCodeSQL = ChaîneConstruit(sMonCodeSQL,"%" + sTri + "%")
HExécuteRequêteSQL(sdMonRes,hRequêteDéfaut,sMonCodeSQL)
TableSupprimeTout(TABLE_articles)
POUR TOUT sdMonRes
TableAjouteLigne(TABLE_articles,sdMonRes.ID,sdMonRes.Desc,sdMonRes.design)
FIN

dans ce cas ta table contient tous les articles dont la désignation contient ce que tu as saisi dans le champ SAI_Tri

Bon dev
Posté le 09 avril 2019 - 19:32
J'ai essayé de reprendre le code que vous avez proposé mais une erreur ferme complètement l'application.
Posté le 10 avril 2019 - 15:29
C'est normal, tu as fait une erreur à la ligne 4
Posté le 07 mai 2019 - 20:37
Bonjour

La ligne 4 c'est : sdMonRes est une Source de Données
Que devrais-je écrire concrètement.

Merci de m'aider
Membre enregistré
46 messages
Popularité : -1 (9 votes)
Posté le 08 juin 2019 - 14:23
Bonjour,

dans le code du champ ARTICLES soit
"A chaque modification de ARTICLES", mettre ceci :

//A chaque modification de ARTICLES
TableActiveFiltre(DETAILS_ARTICLES.Désignation,filtreContient,ARTICLES)

Si mon message vous a été utile, n'hésitez pas à lever le pouce.