Tri de données HyperfileSQL windev

Résolu/Fermé
j-psy Messages postés 205 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 4 juillet 2013 - 19 déc. 2011 à 20:10
j-psy Messages postés 205 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 4 juillet 2013 - 20 déc. 2011 à 12:59
Bonjour,
J'utilise windev 14, et j'aimerais parcourrir une base de donnée, en sélectionnant uniquement les enregistrement qui contiennent une certaine
suite de caractère dans un certain champ, et non tout les enregistrements de la base.
par exemple: si j'ai une table contenant les donées suivantes:
Prenom______Fiche
Jean________XB92TZK
Paul________PQ547222
Chris_______XB92hyau
Sam _______TZIUQY
j'aimerais traiter uniquement les données contenant la chaine de caractère "XB92" dans le champ "Fiche".
Est-ce que quelqu'un saurait comment s'y prendre ou au moins quelle fonction utiliser?
Merci.


2 réponses

naruto-94 Messages postés 865 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 20 décembre 2012 188
Modifié par naruto-94 le 19/12/2011 à 20:29
Je crois qu'il faut utiliser HFiltre .

HFiltre(Connexion, Fiche, ["XB92"])

Quelque chose dans ce genre , ça fait longtemps que je n'ai pas utilisé windev

EDIT : il existe meme la fonciton HFiltreCommencePar

HFiltreCommencePar(Connexion, Fiche, "XB92")
1
j-psy Messages postés 205 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 4 juillet 2013 16
Modifié par j-psy le 19/12/2011 à 21:19
bonjour,
merci de votre réponse,
effectivement après quelques recherches, j'ai remarqué qu'il fallait utiliser la fonction HFiltre, mais étant un débutant, j'ai deux problèmes avec cette fonction: --on ne peut pas filtrer sur des rubriques non clé (ce qui est mon cas),
-et si je veux faire une recherche sur des caractères situés au milieu de l'enregistrement (par exemple "quelquechoseXB92autrechose"), je ne sais pas comment m'y prendre.
Auriez-vous une idée pour ces cas particuliers?
0
naruto-94 Messages postés 865 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 20 décembre 2012 188
Modifié par naruto-94 le 19/12/2011 à 21:59
je pense qu'avec la fonction HExécuteRequêteSQL on peut faire quelques chose , je pense qu'il suffirait de faire :

HExécuteRequêteSQL(Req,"SELECT Prenom FROM latable WHERE Fiche LIKE '%XB92%' ")

qui retournera tout les prenom ou le nom de la fiche contiendra XB92 .
0
j-psy Messages postés 205 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 4 juillet 2013 16
20 déc. 2011 à 02:21
oui effectivement ça pourrait faire l'affaire, mais on m'a demandé de n'utiliser que les fonctions de windev, et non les requêtes SQL. Donc si vous avez d'autres suggestions, j'aimerais en prendre connaissance, merci ^^.
0
j-psy Messages postés 205 Date d'inscription mardi 11 mars 2008 Statut Membre Dernière intervention 4 juillet 2013 16
20 déc. 2011 à 12:59
Après quelques recherches, j'ai résolu le problème . il fallait utiliser la syntaxe suivante:

HFiltre(NomDeLaBase,"Fiche~]'xb92'")

ici, la syntaxe "~]" signifie "contient, sans respecter la casse."
Merci de votre aide!
0