![]() |
Αυτόματη αύξηση τιμής αλλά... σε λεπτά της ώρας Καλησπέρα σε όλο το Forum. Είχα καιρό να ζητήσω κάτι αλλά να που χρειάστηκε. Έχω μια φόρμα της οποίας ένα πεδίο καταγράφει την ώρα με τη μορφή 10:30.Μπορεί αυτή να αυξάνεται αυτόματα σε κάθε νέα εγγραφή κατά 15 λεπτά (+00:15); Η απλή αύξηση τιμής πετυχαίνεται με τον εξής κώδικα If Nz(Me.Controls("όνομα πεδίου"), 0) = 0 Then Me.Controls("όνομα πεδίου") = Nz(DMax("[όνομα πεδίου]", "όνομα πίνακα"), 0) + 1, για να προσθέτει όμως ένα δεκαπεντάλεπτο πως θα το εκφράσω; Ευχαριστώ πολύ, Γιώργος. |
Καλησπέρα Γιώργο! Μία ημέρα (24 ώρες) στην VB ισούται με τη μονάδα (1). Συνεπώς: 1 ώρα = 1 / 24 => 0,0416666666666667 της ημέρας 1 λεπτό = 1 / 1440 => 0,000694444444444444 της ημέρας 15 λεπτά = (0,000694444444444444 * 15) ή (15 / 1440) Για παράδειγμα, αν το πεδίο σου με μορφή σύντομης ώρας περιέχει 02:10 (2 ώρες και 10 λεπτά), η τιμή που έχει αποθηκευτεί είναι: 70 /1440 δηλαδή 0,0486111111111111 της ημέρας. Θα μπορούσες λοιπόν στην προεπιλεγμένη τιμή του πεδίου να δημιουργήσεις έναν τύπο που θα προσθέτει την ώρα του πεδίου από την τελευταία εγγραφή + (15 / 1440). Παράδειγμα VBA στο συμβάν της φόρμας "Πριν την εισαγωγή: Κώδικας: Private Sub Form_BeforeInsert(Cancel As Integer)Φιλικά Τάσος |
Τάσο ευχαριστώ πολύ. Το έκανα σε συνδυασμό με το "δικό" μου κώδικα (και αυτόν εσείς μου τον έχετε δώσει) και το κλάσμα που μου είπες και λειτουργεί μια χαρά. Καλό βράδυ και ευχαριστώ άλλη μια φορά! |
| Η ώρα είναι 18:53. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.