|
Parcours programmé sur une table |
|
Anonyme
|
Salut à tous, J'ai lu dans la doc windev que utiliser le parcours programmé pour une table n'etais pas recommandé... Mais j'ai absolument besoin de réalisé un multi filtre sur une table. (deux colones deux filtre pour chaqune d'entr elles) Comment procédé sans avoir selon la doc windev des temps de réponses trop long. voilou.
Contribution le : 13/02/2004 08:38
|
|
|
Re: Parcours programmé sur une table |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Salut Utiliser une requete Sql plutot que parcourir un fichier La requete peut filtrer vos données et les trier.
Ainsi il n'est pas nécessaire de programmer le parcours.
Contribution le : 13/02/2004 14:37
|
|
|
Re: Parcours programmé sur une table |
|
Anonyme
|
Salut, en effet j'ai pensé à une requéte sql. Mais apparament(dites moi si je me trompe) les données provenant de la requéte sont affichées dans la table en lecture seule.
Dans mon cas précis j'ai besoin de pouvoir agir sur les lignes de ma table en modification et enregistrement.
voila @+
Contribution le : 16/02/2004 11:55
|
|
|
Re: Parcours programmé sur une table |
|
Anonyme
|
utilise un filtre avec condition !!! testé et approuvé(temps de réponse divisé par 10 !!!)
HFiltre( , )
dans le code initialisation de la table
et tableaffiche(Table,taInit)
ex :
wlcond=construitcond() HFiltre(DPXENP,wlcond)
avec construitcond() :
wlcond est une chaîne wlcond="" SI SAI_DENUCDPX <> 0 ALORS SI SansEspace(wlcond)<>"" ALORS wlcond=wlcond+" ET " FIN wlcond=wlcond+"DENUCDPX >= "+SAI_DENUCDPX FIN
SI SansEspace(SAI_DECREPRE) <> "" ALORS SI SansEspace(wlcond)<>"" ALORS wlcond=wlcond+" ET " FIN wlcond=wlcond+"DECREPRE='"+SAI_DECREPRE+"'" FIN
SI SansEspace(SAI_DECODCLI) <> "" ALORS SI SansEspace(wlcond)<>"" ALORS wlcond=wlcond+" ET " FIN wlcond=wlcond+"DECORIGI = '"+Gauche(SAI_DECODCLI,1)+"'" wlcond=wlcond+" ET " wlcond=wlcond+"DECAFFEC = '"+Milieu(SAI_DECODCLI,2,3)+"'" wlcond=wlcond+" ET " wlcond=wlcond+"DENUMCLI = '"+Droite(SAI_DECODCLI,4)+"'" FIN
SI SansEspace(wlcond)<>"" ALORS wlcond=wlcond+" ET " FIN wlcond=wlcond+"DETYARTI='K' "
SI SansEspace(SAI_DETYPTRA) <> "" SI SansEspace(wlcond)<>"" ALORS wlcond=wlcond+" ET " FIN wlcond=wlcond+"DESOARTI='"+SAI_DETYPTRA+"'" FIN
SI SansEspace(SAI_DELIBPRO) <> "" ALORS SI SansEspace(wlcond)<>"" ALORS wlcond=wlcond+" ET " FIN wlcond=wlcond+"DELIBPRO ~] '"+SAI_DELIBPRO+"'" FIN
RENVOYER wlcond
Contribution le : 01/03/2004 15:41
|
|
|
Re: Parcours programmé sur une table |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Il suffit simplement au momment de l'execution de la requete de stipuler que la requete sera modifiable. Ainsi elle pourra toujours etre affiché dans une table fichier qui est beaucoup plus rapide.
<MaRequete>.Param1 = varaible1 //(Variable de type variant)
<MaRequete>.Param2 = varaible2
//etc...
SI PAS HexecuteRequete(<MaRequete>,HRequeteDefaut+HRequeteModifie,Sql) ALORS
ERREUR(HErreurInfo())
RETOUR
FIN
<MaTable>..FichierParcourue = "<MaRequete>"
Contribution le : 03/03/2004 18:36
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.