Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 27-09-12, 22:36
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλησπέρα Γιώργο!

Μία ημέρα (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)
    On Error Resume Next '  Σε περίπτωση που δε υπάρχουν εγγραφές στον πίνακα (  _ 
                                 στην πρώτη εγγραφή ή ώρα θα πρέπει να περαστεί χειροκίνητα).
    Me.dtTime = DSum("[dtTime]", "[Table1]", "[ID]=" & DMax("[ID]", "[Table1]")) + (15 / 1440)
End Sub
Ελπίζω να βοήθησα

Φιλικά

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