Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Φόρμες ] Χρονόμετρο αντίστροφης μέτρησης

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 17-04-10, 20:22
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-02-2010
Μηνύματα: 88
Προεπιλογή Χρονόμετρο αντίστροφης μέτρησης

Καλησπέρα σε όλους τους φίλους του forum.

Γνωρίζει κάποιος πως μπορώ να φτιάξω σε μια φόρμα ένα χρονόμετρο αντίστροφης μέτρησης.
Δηλαδή σε μια φόρμα να υπάρχει ένα πλαίσιο κειμένου που θα λειτουργεί ως χρονόμετρο αντίστροφης μέτρησης.
Να μπορώ να ορίσω το χρόνο από τον οποίο θα ξεκινά η αντίστροφη μέτρηση (πχ 2:30 δύο λεπτά και 30 δεύτερα) καθώς επίσης να υπάρχουν και τρία κουμπιά με τα οποία θα μπορώ να σταματάω το χρονόμετρο, να το ξαναξεκινάω και να το μηδενίζω.

Ευχαριστώ, φιλικά Δημήτρης.
Απάντηση με παράθεση
  #2  
Παλιά 19-04-10, 18:21
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.010
Προεπιλογή

Καλησπέρα σε όλους!
Δημήτρη, σε μια φόρμα βάλε τα εξής:

  • Πλαίσιο κειμένου με όνομα: txtDuration με την ιδιότητα ενεργοποιημένο στο Όχι
    και με μάσκα εισαγωγής: 00:00:00;0;_
  • Πλαίσιο κειμένου με όνομα: TimeShow
  • Κουμπί με όνομα: cmdSetTimer με λεζάντα " > Start"
  • Κουμπί εναλλαγής με όνομα: cmdPause με λεζάντα " II Pause"
  • Κουμπί με όνομα: cmdStop με λεζάντα " [ ] Stop"
Ο κώδικας πίσω από τη φόρμα είναι ο παρακάτω:

Κώδικας:
  Option Compare Database
Option Explicit
Private Const FormatTime = "hh:mm:ss"
Dim Duration As Date, ZeroTime As Date, SeqTime As Date, IsPaused As Boolean

Private Sub cmdPause_Click()
    IsPaused = Me.cmdPause
    If IsPaused Then
        Me.cmdPause.Caption = "> Resume"
    Else
        Me.TimerInterval = 1000
        Me.cmdPause.Caption = "II Pause"
    End If
End Sub

Private Sub cmdSetTimer_Click()
    If IsNull(Me.txtDuration) Then
        Me.txtDuration.Locked = False
        Me.txtDuration.SetFocus
        Exit Sub
    End If
    If IsPaused Then
        IsPaused = False
    Else
        Me.txtDuration.Locked = True
        Duration = Me.txtDuration
        Me.TimeShow = Format(Duration, FormatTime)
        ZeroTime = TimeSerial(0, 0, 0)
        SeqTime = TimeSerial(0, 0, 1)
    End If
    Me.TimerInterval = 1000
End Sub

Private Sub cmdStop_Click()
    Me.TimerInterval = 0
    Me.txtDuration.Locked = False
End Sub

Private Sub Form_Load()
    Me.txtDuration.Locked = False
End Sub

Private Sub Form_Timer()
    If IsPaused Then
        Me.TimerInterval = 0
        Exit Sub
    End If
    Duration = Duration - SeqTime
    If Duration <= ZeroTime Then
        Me.TimeShow = Format(0, FormatTime)
        Me.TimerInterval = 0
        Me.txtDuration.Locked = False
        MsgBox "End of time!"
        Exit Sub
    End If
    Me.TimeShow = Format(Duration, FormatTime)
End Sub
Φρόντισε να συνδέσεις τα κουμπιά με τα αντίστοιχα συμβάντα που αναγράφονται στον παραπάνω κώδικα.(Ιδιότητες > συμβάν > με το κλικ > Διαδικασία συμβάντος).

Καλή συνέχεια!

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 20-04-10 στις 22:27.
Απάντηση με παράθεση
  #3  
Παλιά 20-04-10, 08:52
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-02-2010
Μηνύματα: 88
Προεπιλογή

Καλημέρα σε όλα τα μέλη.
Τάσο ευχαριστώ για την άμεση ανταπόκριση στο μήνυμά μου.
Έφτιαξα τη φόρμα όπως είπες και λειτουργεί σωστά εκτός από το κουμπί Pause.
Όταν το πατάω βγάζει το εξής μήνυμα.

Run time error 438
Object doesn't support this property or method

Το χρονόμετρο βέβαια συνεχίζει να λειτουργεί μέχρι να μηδενιστεί.

Private Sub cmdPause_Click()
IsPaused = Me.cmdPause 'Σε αυτό το σημείο σταματά ο κώδικας
If IsPaused Then
Me.cmdPause.Caption = "> Resume"
Else
Me.TimerInterval = 1000
Me.cmdPause.Caption = "II Pause"
End If
End Sub


Φιλικά Δημήτρης
Απάντηση με παράθεση
  #4  
Παλιά 20-04-10, 22:24
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.010
Προεπιλογή

Δημήτρη καλησπέρα!

Χρησιμοποίησα λάθος έκφραση στο μήνυμα μου!

Το cmdPause δεν είναι κουμπί απλό, αλλά κουμπί εναλλαγής.

Αντικατέστησε το κουμπί cmdPause μέ ένα κουμπί εναλλαγής, δώσε του το όνομα cmdPause και σύνδεσε το με το αντίστοιχο συμβάν στη VBA.

Καλή συνέχεια

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #5  
Παλιά 21-04-10, 08:51
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2003
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 25-02-2010
Μηνύματα: 88
Προεπιλογή

Καλημέρα σε όλους...

Τάσο ευχαριστώ για τον χρόνο σου.
Έκανα την αλλαγή όπως είπες και το πρόβλημα λύθηκε.

Φιλικά Δημήτρης
Απάντηση με παράθεση
  #6  
Παλιά 29-11-12, 13:09
Όνομα: Αναστάσιος Πολ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 29-11-2012
Μηνύματα: 13
Προεπιλογή Χρονόμετρο αντίστροφης μέτρησης

Παράθεση:
Αρχική Δημοσίευση από Tasos Εμφάνιση μηνυμάτων
Καλησπέρα σε όλους!
Δημήτρη, σε μια φόρμα βάλε τα εξής:

  • Πλαίσιο κειμένου με όνομα: txtDuration με την ιδιότητα ενεργοποιημένο στο Όχι
    και με μάσκα εισαγωγής: 00:00:00;0;_
  • Πλαίσιο κειμένου με όνομα: TimeShow
  • Κουμπί με όνομα: cmdSetTimer με λεζάντα " > Start"
  • Κουμπί εναλλαγής με όνομα: cmdPause με λεζάντα " II Pause"
  • Κουμπί με όνομα: cmdStop με λεζάντα " [ ] Stop"
Ο κώδικας πίσω από τη φόρμα είναι ο παρακάτω:

Κώδικας:
  Option Compare Database
Option Explicit
Private Const FormatTime = "hh:mm:ss"
Dim Duration As Date, ZeroTime As Date, SeqTime As Date, IsPaused As Boolean

Private Sub cmdPause_Click()
    IsPaused = Me.cmdPause
    If IsPaused Then
        Me.cmdPause.Caption = "> Resume"
    Else
        Me.TimerInterval = 1000
        Me.cmdPause.Caption = "II Pause"
    End If
End Sub

Private Sub cmdSetTimer_Click()
    If IsNull(Me.txtDuration) Then
        Me.txtDuration.Locked = False
        Me.txtDuration.SetFocus
        Exit Sub
    End If
    If IsPaused Then
        IsPaused = False
    Else
        Me.txtDuration.Locked = True
        Duration = Me.txtDuration
        Me.TimeShow = Format(Duration, FormatTime)
        ZeroTime = TimeSerial(0, 0, 0)
        SeqTime = TimeSerial(0, 0, 1)
    End If
    Me.TimerInterval = 1000
End Sub

Private Sub cmdStop_Click()
    Me.TimerInterval = 0
    Me.txtDuration.Locked = False
End Sub

Private Sub Form_Load()
    Me.txtDuration.Locked = False
End Sub

Private Sub Form_Timer()
    If IsPaused Then
        Me.TimerInterval = 0
        Exit Sub
    End If
    Duration = Duration - SeqTime
    If Duration <= ZeroTime Then
        Me.TimeShow = Format(0, FormatTime)
        Me.TimerInterval = 0
        Me.txtDuration.Locked = False
        MsgBox "End of time!"
        Exit Sub
    End If
    Me.TimeShow = Format(Duration, FormatTime)
End Sub
Φρόντισε να συνδέσεις τα κουμπιά με τα αντίστοιχα συμβάντα που αναγράφονται στον παραπάνω κώδικα.(Ιδιότητες > συμβάν > με το κλικ > Διαδικασία συμβάντος).

Καλή συνέχεια!

Τάσος
Καλησπέρα,


έβαλα τον κώδικα και έκανα, ( ελπίζω ), ότι γράφεις, αλλά μου βγάζει το παρακάτω μνμ...

Compile error:
Method or data member not found

το εμφανίζει μόλις πατήσω start, και με πάει στην γραμμή κώδικα που έχω βάλει με κόκκινο.


Private Sub cmdSetTimer_Click()
If IsNull(Me.txtDuration) Then
Me.txtDuration.Locked = False
Me.txtDuration.SetFocus
Exit Sub
End If
If IsPaused Then
IsPaused = False
Else
Me.txtDuration.Locked = True
Duration = Me.txtDuration
Me.TimeShow = Format(Duration, FormatTime)
ZeroTime = TimeSerial(0, 0, 0)
SeqTime = TimeSerial(0, 0, 1)
End If
Me.TimerInterval = 1000
End Sub

ευχαριστώ...
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Συναρτήσεις] Χρονόμετρο στο excel.. Lefteris Excel - Ερωτήσεις / Απαντήσεις 11 19-04-17 19:32
Χρονόμετρο gmax Access - Ερωτήσεις / Απαντήσεις 20 12-11-13 11:42
Χρονόμετρο -Private Sub Form_Timer alex Access - Ερωτήσεις / Απαντήσεις 5 07-03-13 21:22
[Συναρτήσεις] Χρονόμετρο στην Excel manolis Excel - Ερωτήσεις / Απαντήσεις 16 05-04-11 16:04
[ Ερωτήματα ] Ερώτημα μέτρησης ανά όνομα ημέρας enikolo Access - Ερωτήσεις / Απαντήσεις 21 19-05-10 18:58


Η ώρα είναι 02:20.