![]() |
Ορισμός πρώτης μέρας της εβδομάδας σε γράφημα 1 Συνημμένο(α) Καλημέρα καλημέρα. Προσπαθώντας να κάνω ένα γράφημα έχω δύο προβλήματα: στο γράφημα όπου ο άξονας χρόνου είναι σε εβδομάδες, πρώτη ημέρα είναι η Κυριακή, θα μπορούσα να ορίσω τη Δευτέρα ως πρώτη ημέρα της εβδομάδας; Το δεύτερο πρόβλημα που αντιμετωπίζω είναι πως όταν δεν υπάρχουν εγγραφές μία εβδομάδα, στο διάγραμμα δε φαίνεται τίποτα ενώ θα ήθελα να έχει μηδενική τιμή(από την 45η εβδομάδα δείχνει την 47η). |
Καλημέρα Σχετικά με τον σωστό αριθμό της εβδομάδας νομίζω πως λύνεται με ένα νέο πεδίο στο ερώτημα =DatePart("ww";[Ημερομηνία];2;1) Σχετικά με το 2ο προβληματίζομαι. |
1 Συνημμένο(α) Καλησπέρα Λάμπρο, ένας τρόπος για να εμφανίζονται στο διάγραμμα όλες οι εβδομάδες είναι να το βασίσεις σ’ ένα ερώτημα, που περιέχει όλες τις ημερομηνίες στο επιθυμητό χρονικό διάστημα. Για να γίνει αυτό πρόσθεσα: 1) Τον βοηθητικό πίνακα tblHLP, που θα περιέχει όλες τις ημερομηνίες του επιθυμητού χρονικού διαστήματος. 2) Το ερώτημα qryChart στο οποίο ο πίνακας tblHLP ενώνεται με μια εξωτερική αριστερή ένωση (LEFT JOIN) με τον πίνακα των πραγματικών δεδομένων [Προπονήσεις]. Στο ερώτημα το πεδίο fDate του πίνακα tblHLp έχει αντικατασταθεί από τα υπολογιζόμενα πεδία [Έτος] και [Εβδομάδα]. Το [Ετος] χρειάζεται για την περίπτωση που το επιθυμητό χρονικό διάστημα εκτείνεται σε περισσότερα από 1 έτη. Τα ορίσματα στη συνάρτηση που επιστρέφει την εβδομάδα του έτους ορίστηκαν έτσι ώστε η εβδομάδα να αρχίζει από τη Δευτέρα και η 1 εβδομάδα στο έτος να είναι αυτή που περιέχει την 1/1. 3) Τη φόρμα (διάγραμμα) frmChart, που στηρίζεται στο ερώτημα qryChart. Για την αυτοματοποίηση της εργασίας πρόσθεσα και τη φόρμα frmOpenChart. Στη φόρμα αυτή, αφού συμπληρώσουμε την ημερομηνία έναρξης και λήξης του επιθυμητού διαστήματος κάνουμε κλικ στο κουμπί [Άνοιγμα Διαγράμματος]. Ο κώδικας που τρέχει, αφού γεμίσει τον βοηθητικό πίνακαtblHLP με τις κατάλληλες ημερομηνίες, ανοίγει τη φόρμα frmChart. Φιλικά/Γιώργος |
Χρήστο και Γιώργο σας ευχαριστώ πάρα πολύ. Μόλις τα ενσωματώσω στη βάση θα σας ενημερώσω. |
1 Συνημμένο(α) Καλημέρα Η λύση που πρότεινα στο προηγούμενο μήνυμα έχει αδυναμίες. Συγκεκριμένα η πρώτη και η τελευταία εβδομάδα του επιθυμητού χρονικού διαστήματος συνήθως δεν έχουν 7 ημέρες. Επίσης σε διαστήματα που εκτείνονται σε περισσότερα από ένα έτη είναι δυνατόν μια εβδομάδα να μοιραστεί σε 2 έτη. Στην επισυναπτόμενη ΒΔ, για την εξάλειψη των παραπάνω αδυναμιών, έκανα τις παρακάτω αλλαγές: 1) Άλλαξα τον κώδικα έτσι ώστε, αν η ημερομηνία έναρξης δεν είναι Δευτέρα, να την αλλάζει στη μέγιστη μικρότερη που είναι Δευτέρα. 2) Επίσης άλλαξα τον κώδικα έτσι ώστε, αν η ημερομηνία λήξης δεν είναι Κυριακή, να την αλλάζει στη ελάχιστη μεγαλύτερη που είναι Κυριακή. Δηλαδή δημιουργείται ένα νέο χρονικό διάστημα που περιέχει το αρχικό και αρχίζει Δευτέρα και τελειώνει Κυριακή. 3) Στο ερώτημα qryChart άλλαξα τον υπολογισμό του αριθμού των εβδομάδων έτσι ώστε η πρώτη εβδομάδα στο έτος να είναι αυτή που αρχίζει από την πρώτη Δευτέρα του έτους. Επίσης άλλαξα τον τύπο υπολογισμού του έτους, ώστε κάθε εβδομάδα να ανήκει εξολοκλήρου στο έτος που άρχισε. Φιλικά/Γιώργος |
Καλημέρα Δεν καταφέρνω να αναδείξω τις αδυναμίες που αναφέρεις Μπορείς σε παρακαλώ να γίνεις πιο σαφής πρακτικά; Ανέβασε και τις 2 βάσεις όπου η μια να δείχνει το πρόβλημα και η άλλη όχι. |
Καλημέρα Χρήστο, για να αντιληφθείς τις αδυναμίες: 1) Άνοιξε τη ΒΔ του αρχικού μηνύματός μου. 2) Στη φόρμα frmOpenChart δώσε τις ημερομηνίες 2/10/2012 και 2/3/2013 και πάτησε το κουμπί. 3) Άνοιξε το ερώτημα qryChart σε προβολή σχεδίασης και πρόσθεσε στο πλέγμα και το πεδίο fDate του πίνακα. 4)Αν τρέξεις τώρα το ερώτημα θα δεις:
Στη ΒΔ του δεύτερου μηνύματος, αν κάνεις δοκιμές, αυτό το πρόβλημα δεν υπάρχει. Ελπίζω να έγινα σαφής. Φιλικά/Γιώργος |
Γιώργο την 7/1/2013 η 2η βάση την δηλώνει ως 1η εβδομάδα ενώ είναι η 2η. Έτσι δεν είναι; Μάλλον πρέπει να σταματήσω να βλέπω τον αριθμό της εβδομάδος στο Microsoft Outllok. Πράγματι η 7/1/2013 ανήκει στην 1η εβδομάδα του έτους 2013! Θα σε μελετήσω!!! |
Εμπνευσμένη λύση... |
Χρήστο, ευχαριστώ. |
Γιώργο, σ’ ευχαριστώ πολύ για την άμεση ανταπόκριση αλλά αντιμετωπίζω το παρακάτω πρόβλημα: Εκτός από το γράφημα της απόστασης πρέπει να κάνω και μία σειρά άλλων γραφημάτων, όπως ο χρόνος, που φαίνεται στον πίνακα, αλλά και για την επόμενη χρονιά, δε τα έβαλα όλα στο αρχείο λόγω μεγέθους. Η φόρμα frmOpenChart δουλεύει μόνο για την απόσταση και τη συγκεκριμένη περίοδο που ετοίμασες. Στην προσπάθεια να το κάνω, μέσω της φόρμας, για το χρόνο ή για άλλη περίοδο αλλάζοντας τον κώδικα για άλλο πίνακα (Dif = Me.txtEnd - Me.txtStart strSQL = "INSERT INTO tblHLP (fDate) VALUES(#") δε δούλεψε. Αν κάνω το διάγραμμα από το ερώτημα, ορίζει πρώτη ημέρα της εβδομάδας την Κυριακή. Μπορείς να με βοηθήσεις; |
1 Συνημμένο(α) Καλησπέρα Λάμπρο, ίσως να μη κατάλαβες καλά τη λύση που πρότεινα. Ο πίνακας tblHLP είναι βοηθητικός και χρησιμεύει για την αποθήκευση όλων των ημερομηνιών του χρονικού διαστήματος που μας ενδιαφέρει, ώστε να εμφανίζονται όλες οι εβδομάδες στο συγκεντρωτικό γράφημα. Αν στη φόρμα frmOpenChart βάλουμε τις ημερομηνίες έναρξης και λήξης (πχ 1/2/2010 και 30/10/2016) του επιθυμητού διαστήματος και πατήσουμε το κουμπί, στον πίνακα θα αποθηκευτούν οι ημερομηνίες για το διάστημα αυτό και στο συγκεντρωτικό γράφημα θα εμφανιστούν στοιχεία για το νέο χρονικό διάστημα (1/2/2010 και 30/10/2016). Για την ακρίβεια θα εμφανιστούν στοιχεία για το μικρότερο διάστημα που περιέχει το ζητούμενο και αρχίζει Δευτέρα και λήγει Κυριακή, ώστε όλες οι εβδομάδες να έχουν 7 ημέρες. Δεν καταλαβαίνω, συνεπώς αυτό που γράφεις: «Η φόρμα frmOpenChart δουλεύει μόνο για την απόσταση και τη συγκεκριμένη περίοδο που ετοίμασες». Το ίδιο ερώτημα qryChart, επειδή περιέχει το χρόνο, μπορεί να χρησιμοποιηθεί και για το χρόνο. Με τη μορφή που καταχωρείς το χρόνο, το συγκεντρωτικό γράφημα θα τον αθροίσει για κάθε εβδομάδα και θα τον εμφανίσει σε ημέρες. Για άλλα στοιχεία που περιέχονται σε άλλο πίνακα θα πρέπει να συνδέσεις τον πίνακα tblHLP με το πίνακα αυτόν. Η επισυναπτόμενη ΒΔ περιέχει και ένα συγκεντρωτικό γράφημα για το χρόνο (frmChart2). Φιλικά/Γιώργος |
| Η ώρα είναι 01:11. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.