Salut a tous je cherche a savoir combien il y a de résultat dans mon htrouve()
il doit bien avoir une fonction qui fait ca bien non??
Merci d'avance
Marc
Salut a tous je cherche a savoir combien il y a de résultat dans mon htrouve()
il doit bien avoir une fonction qui fait ca bien non??
Merci d'avance
Marc
Je n'utilise jamais ce genre de fonction mais en regardant vite fait la doc je suis tombé sur ça : HLitRecherche(). Il doit y avoir moyen de parcourir les recherches avec ça, et donc de compter.
HTrouve() est le fruit d'une recherche.
Si on a une recherche positive HTrouve donnera Vrai, sinon Faux.
La quantité d'éléments correspondant à la recherche est possible de plusieurs manière.
1- En fonctions Hxxx, comme documenté ici dans les notes de la recherche sur clés composée "2. Utilisation de la fonction HConstruitValClé"
Note : une variante passerait avec un filtre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 nPos est un entier // pointeur de position du premier élément nCompteur est un entier // compteur d'occurrence de la recherche HLitrecherchePremier(Fichier,Clé,Valeur) SI HTrouve(Fichier) ALORS nPos = HSauvePosition(Fichier) // on en a trouvé un est on est dessus TANTQUE HTrouve(fichier) nCompteur++ HSuivant(Fichier,Clé) FIN // revient tu premier HRetourPosition(nPos) info("Nombre trouvé : "+nCompteur) FIN
2- en SQL
Attention aux recherches identiques ou génériques sinon cela ne devrait pas être un problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 nCompteur est un entier // compteur d'occurrence de la recherche cSQL est une chaine = "SELECT COUNT(*) AS NB FROM Fichier WHERE Cle = '"+Valeur+"'" sSQL est une source de données SI HExecuteRequeteSQL(sSQL,hrequetedefaut,cSQL) alors SI HLitPremier(sSQL) ALORS Compteur = sSQL.NB FIN HLibèreRequête(sSQL) FIN Info("Nombre trouvé : "+nCompteur)
Si tu utilises les requetes SQL, t'as une petite variante avec HNbEnr
Tu peux aussi faire avec HLitRecherche au lieu de HLitRecherchePremier
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 requete est une Source de Données HExécuteRequêteSQL(requete,"SELECT * FROM Ville WHERE Nom LIKE 'Saint%'") HLitPremier(requete) SI HTrouve(requete) ALORS Info("Nombre de ville répondant à la requete : "+HNbEnr(requete)) SINON Info("Aucune Ville trouvée !") FIN
Bref .... tu as plein de solutions ..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 HLitRecherche(Ville,Nom,"Saint") compteur est un entier TANTQUE HTrouve compteur+=1 HLitSuivant(Ville) FIN Info("Nombre de ville: "+compteur)![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager