Fermare il timer all' apertura della maschera.

di Anonimizzato14229 il
13 risposte
Buona sera a tutti,chiedo cortesemente se tramite codice o macro c'è la possibilità di fermare il conto alla rovescia della funzione Timer sulla chiusura maschera.
Avendo due db dei quali il primo possiede una sola maschera,dalla quale tramite codice mi permette di aprire la prima maschera con chiusura funzione Timer del secondo db dalla quale posso aprire la seconda maschera dove avrei la necessita di fermare la funzione Timer fino alla chiusura manuale della stessa.
Grazie a qualsiasi suggerimento.

13 Risposte

  • Non ho capito nulla... lo scenario è assai ingarbugliato e se metti in conto che il Timer non fa conti alla rovescia e si ferma alla chiusura della Form... credo tu possa fare un passo più tecnico...
  • Buongiorno Alex provo a semplificare: All'apertura del db si apre una MASCHERA,dalla quale tramite pulsante apro la seconda MASCHERA, essendo la prima MASCHERA impostata la funzione TIMER chiudi MASCHERA ovviamente le MASCHERE si chiudono entrambi.
    Io chiedevo se è possibile all'apertura della seconda MASCHERA sospendere la funzione TIMER.
  • Si ti basta impostare la proprietà, della Maschera, TimerInterval =0
  • Buongiorno Alex grazie del suggerimento, ma imposatando intervaltime =0 quando devo aprire solo la prima maschera la funzione timer CHIUDI MASCHERA non funziona.
    Hai qualche suggerimento. GraZIE
  • bitty57 ha scritto:


    Buongiorno Alex provo a semplificare: All'apertura del db si apre una MASCHERA,dalla quale tramite pulsante apro la seconda MASCHERA, essendo la prima MASCHERA impostata la funzione TIMER chiudi MASCHERA ovviamente le MASCHERE si chiudono entrambi.
    Qual è il codice che fa chiudere la prima maschera? in quale evento si trova? C'è codice che fa la stessa cosa nella seconda maschera? Se sì, anche in questo caso in quale evento si trova?
  • Alex il codice che chiude la prima maschera è il seguente:
    Private Sub Form_Timer()
    DoCmd.Close
    DoCmd.Close acForm, "NOMINATIVI"
    End Sub

    con intervallo timer 35 000

    Sulla seconda maschera c 'è solo una macro incorporata al pulsante chiudi maschera.
    SCUSAMI E GRAZIE ANCORA.
  • Alex buongiorno non ha propio nessun suggerimento per il mio problema?
  • Vedi questi link ove trovi degli esempi pratici (anche con demo) per realizzare un timer di count-down:
    https://www.experts-exchange.com/questions/24500470/Countdown-timer-on-MS-Access-form.html
    http://www.dbforums.com/showthread.php?1641733-Creating-a-user-adjustable-countdown-timer
    http://www.iaccessworld.com/close-program-with-count-down-timer/
    http://www.tek-tips.com/viewthread.cfm?qid=173302
    http://www.tushar-mehta.com/excel/software/vba_timer
    https://bytes.com/topic/access/answers/206609-showing-countdown-timer-form
    https://www.pcreview.co.uk/threads/countdown-timer-on-form.3332663/
  • bitty57 ha scritto:


    Alex buongiorno non ha propio nessun suggerimento per il mio problema?
    Non sono Alex, fa lo stesso?
    Imposta sulla seconda maschera, quella che finché è aperta deve impedire la chiusura della prima maschera, la "disattivazione" del timer, impostando la proprietà TimeInterval della prima maschera a zero.
    In un test superlampo una cosa del genere funziona
    Dim lngTimer As Long
    
    Private Sub Form_Load()
    lngTimer = Forms("form1_timer").TimerInterval
    Forms("form1_timer").TimerInterval = 0
    End Sub
    
    Private Sub Form_Close()
    Forms("form1_timer").TimerInterval = lngTimer
    End Sub
    dove form1_timer è il nome della prima maschera.
  • Il ripristino alla fine non serve, la modifica è RUNTIME quindi non definitiva e quando la Form viene riaperta il valore della proprietà è quello di Default impostato a DesignTime.

    Quindi nella logica base, potrebbe essere sufficientr
    
    Private Sub Form_Load()
        Forms("form1_timer").TimerInterval = 0
    End Sub
    Tuttavia ora vengono i ragionamenti razionali...!
    Ma se di default hai un valore, e su LOAD lo cambi... ha senso...?
  • @Alex ha scritto:


    Il ripristino alla fine non serve,...
    Ma se di default hai un valore, e su LOAD lo cambi...
    Ma lo fa da un'altra maschera (nel mio test l'ho chiamata form2_timer), ecco perché il ripristino al Close, così riprende il timer della "prima maschera". Almeno ho capito così la richiesta di bitty57
  • Philcattivocarattere ha scritto:


    @Alex ha scritto:


    Il ripristino alla fine non serve,...
    Ma se di default hai un valore, e su LOAD lo cambi...
    Ma lo fa da un'altra maschera (nel mio test l'ho chiamata form2_timer), ecco perché il ripristino al Close, così riprende il timer della "prima maschera". Almeno ho capito così la richiesta di bitty57
    Ok ora ho capito, la Chiusura della Form2 ripristina il TimerInterval,... mi era sfuggito..., allora perfetto...!
  • Grazie ragazzi mi avete risolto un grosso problema. Siete grandi ancora grazie.
Devi accedere o registrarti per scrivere nel forum
13 risposte