Salut à tous, Voici mon problème : - J'ai un table fichier. - Dans la description ce champ table, onglet Contenu, la rubrique de parcours est IDDEP_PROJET. - J'ai coché la case "Utiliser la fonction HFiltre pour le parcours du fichier", pour les tries - Je veux effectuer une recherche générique (type wildcard : dudule*machin*.doc) sur la clé de parcours "NomFichier" (donc différente de IDDEP_PROJET). - j'ai donc une fenetre avec cette table un champ de saisie et un bouton de lancement de recherche. voici le code : CléParcours est une chaîne RubParcours est une chaîne = "NomFichier" HDésactiveFiltre ("REPOSITORY") SI SaisieFichier<>"" ALORS cWhere est une chaîne = renvoyerClauseWhere(RubParcours,SaisieFichier) CléParcours=HFiltre("REPOSITORY",cWhere) SI CléParcours <> "" ALORS //Code pour test // HLitPremier(REPOSITORY,CléParcours) // tantque pas HEnDehors(REPOSITORY) // test est une chaine = REPOSITORY.NomFichier // HLitSuivant(REPOSITORY,CléParcours) // FIN //Fin code pour test TableAffiche(TableDest,taDébut) //TableDest..RubriqueParcourue=CléParcours FIN SINON // Annule le filtre TableDest..FiltreÞP_PROJET.IDDEP_PROJET TableDest..RubriqueParcourue="IDDEP_PROJET" FIN
- Le code de renvoyerClauseWhere: PROCEDURE renvoyerClauseWhere(nomChamp="",cWhere="") _where est une chaîne nbEtoiles est entier nbChaines est entier i est entier
SI Droite(cWhere,1) ="*" ALORS cWhere=Gauche(cWhere,Taille(cWhere)-1) FIN SI Gauche(cWhere,1)="*" ALORS cWhere=Droite(cWhere,Taille(cWhere)-1) FIN
_where = nomChamp+"~] '"+cWhere+"'" nbEtoiles = ChaîneOccurrence(cWhere,"*")
SI nbEtoiles>0 ALORS nbChaines = nbEtoiles+1 _where="" POUR i=1 A nbChaines _where+=nomChamp+"~] '"+ExtraitChaîne(cWhere,i,"*")+"' ET " FIN _where = Gauche(_where,Taille(_where)-4) FIN RENVOYER _where
- Si je laisse la case "Utiliser la fonction HFiltre pour le parcours du fichier", le Code pour test me liste bien les valeurs recherchées mais le tableaffiche n'affiche pas ces valeurs - Si j'enlève la case "Utiliser la fonction HFiltre pour le parcours du fichier", çà fonctionne et je perds le trie automatique et la recherche "simple"... - si je décommente la ligne TableDest..RubriqueParcourue=CléParcours alors il me renvoie une ligne qui n'a rien a à voir avec la recherche...
Quelqu'un a une idée ?? Michel |