Bonjour
Configuration: P4 win 2000 Windev 80315j ,sous réseau
Problème : Lors je cherche dans champs1 = OK , mais dans le champs2 la recherche est plus lente(affiche caractère par caratère)
Ma fenetre contient une table fichier et deux champs de recherche La table est alimentée par un fichier de 4000 enregistrements Champs1 contient le code suivant :
fnIndice=TableCherche("Article",sChercher,Faux) TableTrie(TableProduit,"Article") FIN SI fnIndice<>- 1 ALORS TableSelectPlus(TableProduit,fnIndice) FIN A ce passage la recherche s'est bien effectué est rapide
Champs2 contient le code suivant (Achaque modification de champs2) //On affiche à partir de fichier de base de données et non de la requete SI champs2="" ALORS // Changer le fichier de parcours Avant été une requête gbRequêteExiste=Faux //Pas de requête TableProduit..FichierParcouru="FichierARTICLES" SINON ExécuterRequête("RqArticleContient",Champs2,"TableProduit") FIN
PROCEDURE ExécuterRequête(sNomRequête, vArticle, sTable)
// Initialiser la requête SI PAS HExécuteRequête(sNomRequête, hRequêteInterruptible, vArticle) ALORS // La requête ne peut pas s'exécuter Erreur("Erreur d'initialisation de la requête" + RC + HErreurInfo()) RENVOYER Faux SINON // Indiquer que la requête a été créée gbRequêteExiste = Vrai // Lire le premier enregistrement HLitPremier(sNomRequête) SI HEnDehors() ALORS // L'enregistrement n'existe pas : le créer oui/non SI OuiNon("Aucun enregistrement ne correspond à votre recherche"+RC+"Voulez-vous le créer ?") ALORS SI gsCoordonnées <> "" ALORS sInitialiserRubriques(gsCoordonnées) SINON // Affecter les valeurs aux rubriques de la requête HVersRubrique(sNomRequête, 1, vArticle) FIN
// Ouvrir la fenêtre en mode Création Ouvre(Fiche_FARTICLES, "Création") FIN SINON // Afficher les enregistrements dans la table selon la requête RechercheClient // Changer le fichier de parcours {sTable}..FichierParcouru = sNomRequête // Ajouter les enregistrements dans la table TableAffiche(sTable, taDébut) FIN FIN
PROCEDURE sInitialiserRubriques(sCondition)
sDonnée est une chaîne = "" nIndiceRC est un entier = 1
sDonnée = ExtraitChaîne(sCondition, 1, RC)
BOUCLE // Condition de sortie SI sDonnée = EOT ALORS SORTIR
SI sDonnée <> "" ALORS // Affecter les valeurs aux rubriques de la requête HVersRubrique(RqArticleContient,nIndiceRC,sDonnée) FIN
// Incrémenter l'indice nIndiceRC++
// Extraire les coordonnées suivantes sDonnée = ExtraitChaîne(sCondition, nIndiceRC, RC) FIN
A ce passage il me permet de chercher caratère par carctère parfois le curseur se plante
Aidez mois SVP Merci d'avance |