freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

Υπολογισμός Διάρκειας


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » SQL και SQL Servers (RDBMS) » MS Access
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [7 Μηνύματα]      Bookmarks Tags: υπολογισμός Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
spooky7


Μέλος από: 14 Οκτ 2009
Μηνύματα: 5

View users profile
ΜήνυμαΣτις: 14 Οκτ 2009 18:03    Θέμα: Υπολογισμός Διάρκειας Απάντηση με παράθεση  Mark this post and the followings unread

Πολύ καλησπέρα ,

Προσπαθώ να φτιάξω μια απλή βάση . Έχω φτιάξει έναν πίνακα και σε αυτόν 4 πεδία ημερομηνίας . 2 με ημερομηνία και ώρα έναρξης και άλλα δύο με ημερομηνία και ώρα λήξης . Σε ένα άλλο πεδίο θέλω να αποθηκεύεται η διάρκεια από την ημερομηνία και ώρα έναρξης μέχρι την ημερομηνία και ώρα λήξης σε λεπτά . Πως μπορώ να το κάνω ?

Ευχαριστώ .
dimsis
Reporter

Μέλος από: 25 Ιουλ 2001
Βοηθήματα: 9
Νέα: 89
Μηνύματα: 256+


View users profile
ΜήνυμαΣτις: 14 Οκτ 2009 20:31    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

=DateDiff("n", [StartDateTime], [EndDateTime])
spooky7


Μέλος από: 14 Οκτ 2009
Μηνύματα: 5

View users profile
ΜήνυμαΣτις: 14 Οκτ 2009 21:04    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Δεν ξέρω γιατί αλλά δεν δουλεύει.

Λοιπόν περιγράφω τι κάνω . Έχω έναν πινακα με τα πεδιά StartDate , StartTime , EndDate , Endtime kai Duration . Απόαυτόν τον πίνακα φτιάχνω μια φόρμα. Αν βάλω τώρα μερικά δεδομένα π.χ. StartDate=14/10/09 , StartTime=09:00 , EndDate=15/10/09,EndDate=09:00 , τότε στο duration θέλω να μου δείξει 1440 . Πάω λοιπόν στην σχεδίαση της φόρμας και στις ιδιότητες του πεδίου duration και στην καρτέλα δεδομένα κατά το άνοιγμα βάζω =DateDiff("n", [StartTime], [EndTime]) , αυτό καταλαβαίνω θα πάει και θα δεί μόνο τα πεδία με την ώρα . και δεν θα καταλάβει ότι έχει αλλάξει ημέρα . Ένα αυτό και δεύτερο δεν μου το βάζει γιατί όταν την ξανανοίγω μετά δεν έχει τιποτα .


Κάνω κάτι λάθος ?
dimsis
Reporter

Μέλος από: 25 Ιουλ 2001
Βοηθήματα: 9
Νέα: 89
Μηνύματα: 256+


View users profile
ΜήνυμαΣτις: 14 Οκτ 2009 22:40    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Γενικώς δεν χρειάζεσαι διαφορετικά πεδία για ημερομηνία και ώρα.

Φτιάξε και τρέξε ένα ερώτημα :
SELECT DateDiff("n", [StartTime], [EndTime])
FROM οπίνακαςσου;
και δες αν σου γυρίζει το 1440 που θέλεις με τις τιμές όπως που έχεις στο παράδειγμα σου.
spooky7


Μέλος από: 14 Οκτ 2009
Μηνύματα: 5

View users profile
ΜήνυμαΣτις: 15 Οκτ 2009 15:10    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Τελικά έκανα το εξής . Πήγα στην φόρμα , στις ιδιότητες του πεδίου EndTime και μετά την ανανέωση έβαλα τον παρακάτω κώδικα :

[Duration] = DateDiff("n", [StartDate] & " " & [StartTime], [EndDate] & " " & [EndTime])
και δουλεύει μια χαρά .

Τώα έχω άλλη μια απορία όμως . Θέλω να κάνω ένα ερώτημα που να μου επιστρέψει όλες τις εγγραφές μεταξύ των StartDate και EndDate τις οποίες θα τις βάζω εγώ .

Πως μπορώ να το πετύχω αυτό ?
dva_dev
Script Master

Μέλος από: 16 Σεπ 2005
Μηνύματα: 256+

View users profile Visit posters website
blog deviantART facebook linkedin 
ΜήνυμαΣτις: 15 Οκτ 2009 16:12    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Ξέχνα τα τέσσερα πεδία και κάνε τα δύο, όπως σου έχουν προτείνει ήδη. Θα κάνει αυτό που ζητάς τώρα (με λιγότερο κώδικα και γρηγορότερα) και θα σε γλυτώσει από πολλά άσκοπα προβλήματα στο μέλλον.

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

http://www.freestuff.gr/forums/viewtopic.php?t=36974
http://www.freestuff.gr/forums/viewtopic.php?t=34347
http://www.freestuff.gr/forums/viewtopic.php?t=29215

Διαλέγεις και παίρνεις.

Τις περισσότερες φορές τις απορίες που έχεις εσύ σήμερα τις είχε και κάποιος άλλος πριν πολύ καιρό. Είναι πολύ πιθανό να έχουν απαντηθεί ήδη είτε στην ίδια γλώσσα που ψάχνεις εσύ είτε σε κάποια άλλη και να έχουν αναλυθεί σε πολύ μεγαλύτερο βάθος από αυτό που έχεις στο μυαλό σου τώρα. Μια αναζήτηση θα σου δώσει πολύ περισσότερα από μια απάντηση.
spooky7


Μέλος από: 14 Οκτ 2009
Μηνύματα: 5

View users profile
ΜήνυμαΣτις: 16 Οκτ 2009 14:10    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Προσπαθώ για την πρώτη λύση και δεν γίνεται τίποτα . Καμιά βοήθεια ?

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

Θέλω να φτιάξω ένα report στο οποίο να μου αποικονίζονται τα συμβάντα που έλαβαν μέρος ανάμεσα 2 ημερομηνιών που θα εισάγω εγώ . Δηλαδή πριν ανοίξει το report θα ήθελα να ανοίγει μια φόρμα στην οποία θα βάζω δυο ημερομηνίες θα πατάω ένα καυμπί και θα μεφανίζεται το report με τα συμβάντα που έλαβαν χώρα ανάμεσα στις 2 ημερομηνίες που έχβαλα παραπάνω . Κάτι έχω καταφέρει αλλά δεν μπορώ να βρω πως συνδέεται η φόρμα που ανόιγει με το ερώτημα και το report .

Καμιά ιδέα ?
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [7 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » SQL και SQL Servers (RDBMS) » MS Access
Τώρα είναι 03 Δεκ 2016 04:28 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos