Εμφάνιση ενός μόνο μηνύματος
  #2  
Παλιά 14-11-11, 09:32
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

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

Αυτό δεν είναι αναγκαίο, αφού τα πεδία Date/Time μπορούν να αποθηκεύσουν και την ημερομηνία και την ώρα.

Συγκεκριμένα αποθηκεύουν ένα δεκαδικό αριθμό που ισούται με τις μέρες και το τμήμα μέρας που πέρασαν από τα μεσάνυχτα της ημερομηνίας 31/12/1899, που λαμβάνεται ως αρχή.

Το ακέραιο μέρος του αριθμού εκφράζει την ημερομηνία και το δεκαδικό την ώρα.

Για παράδειγμα, αν σε κάποιο πεδίο ημερομηνίας και ώρας πληκτρολογήσουμε:
4/2/2010 16:04 η access αποθηκεύει το δεκαδικό 40213,67, επειδή από τα μεσάνυχτα της 31/12/1899 πέρασαν 40213,67 μέρες (16 ώρες και τέσσερα λεπτά = 0, 67 μέρες).

Αποθηκεύοντας την ημερομηνία και την ώρα σε ένα πεδίο απλοποιούμε και τον πίνακα, αλλά και τις πράξεις, αφού για να ορίσουμε ένα χρονικό διάστημα χρειαζόμαστε μόνο δύο πεδία, αντί για τέσσερα.
Έτσι εύκολα με μία αφαίρεση έχουμε τη διάρκεια σε μέρες και τμήμα μέρας.

Στην επισυναπτόμενη ΒΔ, επειδή αφαίρεσα τα πεδία των ωρών , η ώρα θα πρέπει να πληκτρολογείται μαζί με την ημερομηνία, ως εξής:
Πληκτρολογούμε την ημερομηνία, ένα κενό διάστημα και την ώρα (πχ 10/11/2011 18:45)

Στη φόρμα πρόσθεσα στο υποσέλιδο δύο πλαίσια κειμένου που δείχνουν το συνολικό χρόνο ελλιμενισμού και φόρτωσης.

Για τη μετατροπή ενός χρονικού διαστήματος (ΔΙΑΡΚΕΙΑ), που εκφράζεται σε μέρες, σε ώρες και λεπτά, χρησιμοποίησα τον τύπο:
Int([ΔΙΑΡΚΕΙΑ])*24 + Hour([ΔΙΑΡΚΕΙΑ]) & ":" & Minute([ΔΙΑΡΚΕΙΑ]).

Ελπίζω να καλύφτηκες.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb ΕλλιμενισμόςΠλοίων.mdb (332,0 KB, 84 εμφανίσεις)
Απάντηση με παράθεση