OVH Cloud OVH Cloud

[WD7.5] Vue HF

10 réponses
Avatar
Jean Passe
Salut,

Je crée une vue sur un fichier HF avec une sélection sur des dates : entre
Date1 et Date2 où Date1 et 2 sont des variables de type date.

En fonction des besoins de l'utilisateur ces dates de sélection peuvent
varier. Les variables Date1 et Date2 prennent alors les valeurs nécessaires.

Pour réactualiser ma vue, est il possible de faire un HExécuteVue sans
spécifier des modifications (étant donnée que les variables ont pris une
autre valeur) ou est ce que je dois spécifier à nouveau toutes les
conditions de sélection ?

Merci.
A+

--
Jan Van Wijk

10 réponses

Avatar
Romain PETIT
Jean Passe avait écrit le 10/10/2004 :

Pour réactualiser ma vue, est il possible de faire un HExécuteVue sans
spécifier des modifications (étant donnée que les variables ont pris une
autre valeur) ou est ce que je dois spécifier à nouveau toutes les
conditions de sélection ?



A priori il faut que tu rappelles à chaque ExecuteVue tes conditions de
sélection.

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Jean Passe
Salut,

A priori il faut que tu rappelles à chaque ExecuteVue tes conditions de
sélection.



Bien que le contraire soit marqué dans l'aide, je le pense aussi et je
l'applique car sans les conditions ça ne semble pas marcher.

Merci.
A+

--
Jan Van Wijk
Avatar
Romain PETIT
Jean Passe avait soumis l'idée :

A priori il faut que tu rappelles à chaque ExecuteVue tes conditions de
sélection.





Bien que le contraire soit marqué dans l'aide, je le pense aussi et je
l'applique car sans les conditions ça ne semble pas marcher.



Ah oui effectivement, l'aide précise :

HExecuteVue :
[...]
"chaîne vide ("") pour ne pas modifier la condition de sélection" (la
dernière mise en place)

Ca ne marche pas ? Je viens de faire le test, ça m'a l'air de
fonctionner, y-compris si le HExecuteVue est vide.
D'ailleurs, à part détruire et recréer la vue, je ne vois pas comment
faire pour exécuter la vue différée sans condition de sélection à
partir du moment où une condition a été appliquée...
Dans le doute, je détruis et recrée ma vue à chaque fois (les
performances n'en pâtissent pas).

*************
gf_sdVueTests est une source de données

SI PAS HCréeVue(gf_sdVueTests, TEST, "*", "CLEUNIK_DOSSIER,
"",hVueDifférée) ALORS
Erreur(HErreurInfo())
FIN
HDésactiveFiltre(TEST)

//debut test
HExécuteVue(gf_sdVueTests)
Trace(HNbEnr(gf_sdVueTests)) -> 90762 enreg (pas de condition)

HExécuteVue(gf_sdVueTests, sFiltreConditions)
Trace(HNbEnr(gf_sdVueTests)) -> 13 enreg (conditions appliquées)

HExécuteVue(gf_sdVueTests, "")
Trace(HNbEnr(gf_sdVueTests)) -> 13 enreg (conditions appliquées)

HExécuteVue(gf_sdVueTests)
Trace(HNbEnr(gf_sdVueTests)) -> 13 enreg (conditions appliquées)

// a partir de là, comment retrouver les 90762 enrg sans détruire et
recréer ??

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Jean Passe
Salut,


Ca ne marche pas ? Je viens de faire le test, ça m'a l'air de
fonctionner, y-compris si le HExecuteVue est vide.



Oui, mais j'ai la condition qui change....

condition_de_test est une date=la date que tu veux

Je crée la vue avec comme condition 'condition_de_test'.
C'est fait.

Maintenant la variable 'condition_de_test' prend une autre valeur.

Si je fais un HExecuteVue sans modif que se passe-t-il ?
La vue est conditionnée sur l'ancienne ou la nouvelle valeur ?

Dans le doute, je détruis et recrée ma vue à chaque fois (les
performances n'en pâtissent pas).



Ben, c'est aussi une solution. J'ai peur que ça encombre les réseaux en cas
de gros volumes, mais peut être pas + qu'un HExecuteVue avec modif.

Merci.
A+
Jan Van Wijk
Avatar
Romain PETIT
Jean Passe avait énoncé :
Je crée la vue avec comme condition 'condition_de_test'.
C'est fait.
Maintenant la variable 'condition_de_test' prend une autre valeur.
Si je fais un HExecuteVue sans modif que se passe-t-il ?



Qu'appelles-tu "sans modif" ?

La vue est conditionnée sur l'ancienne ou la nouvelle valeur ?



HExecuteVue(sdVue, "") ou HExecuteVue(sdVue) pour appliquer les
conditions précédentes,
HExecuteVue(sdVue, condition_de_test) pour appliquer les nouvelles
conditions si ta variable a changé,

Ben, c'est aussi une solution. J'ai peur que ça encombre les réseaux en cas
de gros volumes, mais peut être pas + qu'un HExecuteVue avec modif.



Ca prend les mêmes ressources, la vue différée est juste une facilité
pour la programmation...

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Jean Passe
Salut,

Qu'appelles-tu "sans modif" ?



Ben, HExecuteVue(maVue)

HExecuteVue(sdVue, "") ou HExecuteVue(sdVue) pour appliquer les
conditions précédentes,
HExecuteVue(sdVue, condition_de_test) pour appliquer les nouvelles
conditions si ta variable a changé,



si ta variable a changé<<





Si c'est ça, ca veut donc dire que la vue s'exécute avec l'ancienne valeur
de la variable dans le cas d'un HExecuteVue(maVue).

Ce qui me trouble c'est qu'ils parlent de "avec les mêmes conditions" : dans
mon cas la condition est la même, 'y a que sa valeur qui a changé.

Mais je dois pas être reveillé aujoured'hui...

Merci.
A+
Jan Van Wijk
Avatar
Romain PETIT
Le 12/10/2004, Jean Passe a supposé :

Si c'est ça, ca veut donc dire que la vue s'exécute avec l'ancienne valeur
de la variable dans le cas d'un HExecuteVue(maVue).



Ben oui, le fait que ta variable change n'a aucune influence sur ta vue
tant que tu ne la réexécutes pas !
(heureusement !)

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Jean Passe
Re...

Ben oui, le fait que ta variable change n'a aucune influence sur ta vue
tant que tu ne la réexécutes pas !
(heureusement !)



Pfff. je ne vais jamais m'en sortir..... :-)

Veux-tu dire que ma vue change si je fais un HExécute(maVue) si la variable
a changé depuis (la valeur de la variable, non pas la condition) ?

A+
Jan Van Wijk
Avatar
Romain PETIT
Après mure réflexion, Jean Passe a écrit :

Ben oui, le fait que ta variable change n'a aucune influence sur ta vue
tant que tu ne la réexécutes pas !
(heureusement !)





Veux-tu dire que ma vue change si je fais un HExécute(maVue) si la variable
a changé depuis (la valeur de la variable, non pas la condition) ?



Non ! Je dis exactement le contraire dans ma phrase précédente !

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Jean Passe
Re...

Non ! Je dis exactement le contraire dans ma phrase précédente !



Ok.
A+
Jan Van Wijk