Form_timer

Status
Niet open voor verdere reacties.

JeroenMioch

Gebruiker
Lid geworden
1 dec 2007
Berichten
215
Beste mensen,

Ik wil een teller op mijn formulier die aftelt van twee minuten naar 0, Dit is gelukt maar ik kan de timer alleen niet stoppen lijkt het.
Ik heb het stukje code op mn werk en zal dat later toevoegen maar misschien weten sommige al waar het probleem zit aangezien ik niet de eerste zal zijn met dit probleem.

In het stukje code probeer ik het volgende :

Code:
if me!teller.value = 0 then 
msgbox "de tijd is voorbij"

Maar dan krijg ik dat de teller direct op 0 staat
Als ik het wel voor elkaar krijg om de teller te stoppen bij 0 en er dan een msgbox achter zet dan komt mn msgbox steeds terg nadat ik op "ok" heb geklikt...

Klinkt dit iemand bekend ?
 
Het is niet zo lastig om een msgbox op een formulier met een timer te krijgen:

Code:
Private Sub Form_Timer()
    MsgBox "De tijd is om..."
    DoCmd.Close acForm, "frmStartUp"
End Sub
 
Dit is mijn code :

Code:
Private Sub form_Timer()
If label1.Caption = 0 Then
Me!Keuzerondje0.Locked = True
Me!Keuzerondje1.Locked = True
Me!Keuzerondje2.Locked = True
Me!Keuzerondje3.Locked = True
Me!Keuzerondje4.Locked = True
MsgBox "Tijd is voorbij"
Else
label1.Caption = label1.Caption - 1
End If
End Sub

Het resulteerd in een messagebox die steeds terug komt ;)
 
Lijkt mij logisch... je maakt een vergelijking op basis van de waarde 0. Die bereik je door de caption steeds met 1 te verlagen tot hij 0 is. En daar blijft hij dan hangen.... de waarde komt namelijk niet meer lager, en hij blijft de procdure van Waar uitvoeren. Ik zou er een checkbox bijzetten, en die meenemen in de procedure. Iets als:
Code:
    If label1.Caption = 0 And Check = False Then
        Me!Keuzerondje0.Locked = True
        Me!Keuzerondje1.Locked = True
        Me!Keuzerondje2.Locked = True
        Me!Keuzerondje3.Locked = True
        Me!Keuzerondje4.Locked = True
        Check = True
        Me.Refresh
        Me.Repaint
        MsgBox "Tijd is voorbij"
    Else
        label1.Caption = label1.Caption - 1
    End If
Dat heeft wel als gevolg dat de teller gewoon doorgaat met negatieve waarden. Maar de rest wordt wel eenmalig uitgevoerd.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan