OVH Cloud OVH Cloud

Timer

5 réponses
Avatar
Alberto
Bonsoir

Est-il possible de mettre plus d'un timer sur un seul et même formulaire ?

Merci par avance.

--
Le meilleur moyen de comprendre une chose est de chercher pourquoi et
comment se produit cette chose ...

5 réponses

Avatar
Raymond [mvp]
RE.

Tu ne peux utiliser qu'un seul événement Timer dans chaque formulaire
Access. Tu peux modifier toutes les valeurs du timer mais il est unique pour
chaque formulaire.
Penser quand même que si tu fais tourner 15 timers dans la même
application, en même temps, tu risques d'avoir des croisements de fonctions
pas très heureux.
Le timer est un objet très sensible .
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Alberto" a écrit dans le message de
news:
Bonsoir

Est-il possible de mettre plus d'un timer sur un seul et même formulaire ?

Merci par avance.

--
Le meilleur moyen de comprendre une chose est de chercher pourquoi et
comment se produit cette chose ...


Avatar
3stone
Salut,

"Alberto"
|
| Est-il possible de mettre plus d'un timer sur un seul et même formulaire ?


Non et même assez inutile...
Il suffit de choisir la plus petit unité d'action...

Disons que tu veuille faire machin1 toutes les minutes
et faire machin2 toutes les 5 minutes.

Tu déclare une variable Public dans ton formulaire, disons
Public tMinute as integer

Comme TimerInterval tu choisi 1 minute (60000 millièmes)

Sur intervale minuterie, tu mets:

' ce que tu veux faire chaque minute
Call Machin1

' ce que tu veux faire toutes les 5 minutes
tMinute = tMinute +1
if tMinute >= 5 then
tMinute =0
Call Machin2
end if


PS: il peut-être judicieux d'expliquer ce que tu souhaite faire avec 2 timer

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Guy DETIENNE
Salut ;O)

S'il te faut absolument plusieurs Timer, il te reste encore la possibilité
d'en créer via API.
Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent
As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long

Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent
As Long) As Long

Va voir ici (site pour VB mais adaptable en Access à partir de la version
2000) :

http://www.mentalis.org/apilist/SetTimer.shtml

Guy

"Alberto" a écrit dans le message de
news:
Bonsoir

Est-il possible de mettre plus d'un timer sur un seul et même formulaire ?

Merci par avance.

--
Le meilleur moyen de comprendre une chose est de chercher pourquoi et
comment se produit cette chose ...


Avatar
Alberto
Merci de vos réponses qui m'ont éclairé.

Elles m'ont donné une idée qui, somme toute, fonctionne très bien

Sur un formulaire "A propos" comprenant un bouton de commande OK (permettant
de fermer le formulaire) désactivé au chargement et activé par timer, j'ai
rajouté une zone de texte indépendante et invisible qui me sert de compteur
timer.
J'initialise ma zone compteur à 0 au chargement du formulaire, puis lorsque
le timer a activé le bouton, chaque nouveau cycle du timer incrémente le
compteur de 1.
Lorsque le compteur atteind une valeur X, un évènement se déclenche, et
ainsi de suite avec If ... Then, Elseif.

Ca marche très bien et c'est déclinable à l'infini dans un seul et même
formulaire.

-------------------------------------------

Salut ;O)

S'il te faut absolument plusieurs Timer, il te reste encore la possibilité
d'en créer via API.
Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent
As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long

Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent
As Long) As Long

Va voir ici (site pour VB mais adaptable en Access à partir de la version
2000) :

http://www.mentalis.org/apilist/SetTimer.shtml

Guy

"Alberto" a écrit dans le message de
news:
Bonsoir

Est-il possible de mettre plus d'un timer sur un seul et même formulaire ?

Merci par avance.

--
Le meilleur moyen de comprendre une chose est de chercher pourquoi et
comment se produit cette chose ...







Avatar
Guy DETIENNE
Salut ;O)

Simple curiosité : pourquoi utilises-tu une zone de texte indépendante pour
incrémenter une valeur alors qu'une variable aurait très bien fait l'affaire
et qui, en toute logique, est plus appropriée ?

Mais au final me diras-tu, c'est la même chose pour l'utilisateur.

Guy

"Alberto" a écrit dans le message de
news:
Merci de vos réponses qui m'ont éclairé.

Elles m'ont donné une idée qui, somme toute, fonctionne très bien

Sur un formulaire "A propos" comprenant un bouton de commande OK
(permettant

de fermer le formulaire) désactivé au chargement et activé par timer, j'ai
rajouté une zone de texte indépendante et invisible qui me sert de
compteur

timer.
J'initialise ma zone compteur à 0 au chargement du formulaire, puis
lorsque

le timer a activé le bouton, chaque nouveau cycle du timer incrémente le
compteur de 1.
Lorsque le compteur atteind une valeur X, un évènement se déclenche, et
ainsi de suite avec If ... Then, Elseif.

Ca marche très bien et c'est déclinable à l'infini dans un seul et même
formulaire.

-------------------------------------------

Salut ;O)

S'il te faut absolument plusieurs Timer, il te reste encore la
possibilité


d'en créer via API.
Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal
nIDEvent


As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long

Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal
nIDEvent


As Long) As Long

Va voir ici (site pour VB mais adaptable en Access à partir de la
version


2000) :

http://www.mentalis.org/apilist/SetTimer.shtml

Guy

"Alberto" a écrit dans le message de
news:
Bonsoir

Est-il possible de mettre plus d'un timer sur un seul et même
formulaire ?




Merci par avance.

--
Le meilleur moyen de comprendre une chose est de chercher pourquoi et
comment se produit cette chose ...