![]() |
Νέα εγγραφή σε ημερομηνία 1 Συνημμένο(α) Παιδιά την καλησπέρα μου. 1)Έχω μια φόρμα apousies και έχει ημερομηνίες από - έως που καταχωρώ τις απουσίες Η τελική έκθεση όμως πρέπει να βγαίνει μηνιαία. όταν καταχωρώ πχ. μια ασθένεια που περιλαμβάνει 2 μήνες δηλαδή από 18/11/2012 έως 4/12/2012 υπάρχει τρόπος να μου συμπληρώσει το πεδίο έως 30/11/2012 και να κάνει μόνο του μια νέα εγγραφή που να συμπληρώνει το υπόλοιπο δηλ. από 1/12/2012 έως 4/12/2012; 2) Με την πολύτιμη βοήθεια σας έχω φτάσει σε ένα πολύ καλό αποτέλεσμα. Στο ερώτημα της βάσης έχω δοκιμάσει 4 διαφορετικές μεθόδους που μου έχετε υποδείξει αλλά δεν τα κατάφερα να την φτιάξω στην έκθεση, (στο πεδίο τελικές απουσίες). ευχαριστώ και πάλι για την βοήθεια |
1 Συνημμένο(α) Καλό μεσημέρι σ' όλο το forum. Σταύρο, στην φόρμα 'apousiesF2' , στα πεδία των ημερομηνιών και στα συμβάντα τους 'After Update', υπάρχει κώδικας που κάνει αυτό που ζητάς. Το πρόβλημα είναι, αν είσαι σίγουρος ότι θέλεις κάτι τέτοιο να συμβαίνει στην βάση σου. π.χ. σε περίπτωση λάθους ή αστοχίας πληκτρολόγησης θα έχεις να διορθώσεις μία εγγραφή (update για τέλος του μήνα) και να να διαγράψεις μία εγγραφή (Insert για αρχή επόμενου έως ημερομηνία επόμενου) και καλά να το δεις αμέσως, αν το δεις μετά από εύλογο χρονικό διάστημα το μόνο που σου μένει είναι να ελέγξεις της εγγραφές με καθολικό. Δεν θέλω να σε "φοβίσω" εσύ ξέρεις. Σκέψου το όμως πριν χρησιμοποιήσεις τον κώδικα. |
1 Συνημμένο(α) Κώστα σε ευχαριστώ πολύ. έκανε αυτό που ήθελα όμως όταν του βάλω ασθένεια 4..5...6 μηνών παρακάμπτει τους ενδιάμεσους μήνες. Ένα παράδειγμα αν μια κοπέλα πάρει άδεια εγκυμοσύνης καταλαβαίνεις ότι υπερβαίνει κατά πολύ το διάστημα των 2 μηνών. Ύστερα όταν του κάνω ανανέωση στην φόρμα δεν μου δείχνει το αποτέλεσμα για να γίνει ένας γρήγορος έλεγχος αλλά πρέπει να την κλείσω και να την ξανά ανοίξω για να το δω. Πάντως σε ευχαριστώ που έκαστες και έγραψες έναν τόσο πολύπλοκο κώδικα |
1 Συνημμένο(α) Σταύρο, κοίτα την Βάση. |
1 Συνημμένο(α) Καλημέρα στην παρέα Σταύρο στην ΒΔ που ανέβασες έχω προσθέσει: 1) Τον πίνακα ApousiesPerMonth_p στον οποίο με κατάλληλο κώδικα καταγράφονται τα χρονικά διαστήματα των απουσιών, αλλά έτσι ώστε η αρχή και το τέλος τους να ανήκει στον ίδιο μήνα. Αντιμετωπίζονται χρονικά διαστήματα πολλών μηνών, αλλά και ετών Έτσι, όταν θέλεις αποτελέσματα ανά μήνα, αντί να χρησιμοποιείς στα ερωτήματα και στις εκθέσεις τον πίνακα apousies_p θα πρέπει να χρησιμοποιείς τον ApousiesPerMonth_p. 2) Τη φόρμα frmDiastimataAnaMina στην οποία πατώντας το σχετικό κουμπί εκτελείται ο κώδικας ο οποίος δημιουργεί τις κατάλληλες εγγραφές στον πίνακα ApousiesPerMonth_p. 3) Τη λειτουργική μονάδα TomiDiastimaton που περιέχει τον κώδικα που φαίνεται παρακάτω. Κώδικας: Option Compare DatabaseΥΓ Τι έγινε με το ερώτημα αντιγραφής και επικόλλησης ιδιοτήτων φόρμας. Νομίζω ότι χρωστάς στο φόρουμ μια απάντηση. |
Κώστα το ένα πρόβλημα διορθώθηκε. Βλέπω τώρα τον διαχωρισμό επί τόπου. το άλλο όμως είναι ότι δεν το χώρισε σε μήνες αλλά σε 2 μέρη δηλαδή αν βάλω 4/3/2012 έως 5/8/2012 τότε το χωρίζει στα 2: από 4/3/2012 έως 31/3/2012 και 1/8/2012 έως 5/8/2012 έχει χάσει δηλαδή 4 μήνες Σου βγάζω το καπέλο φίλε. |
Παράθεση:
δεν είχα καταλάβει ότι ήθελες τα διαστήματα ανά μήνα, δεν το είχες διευκρινήσει. Δεν το έχω κοιτάξει, αλλά είμαι σίγουρος ότι η "ζωγραφική" του Γιώργου θα σε καλύψει. |
Γιώργο και Κώστα είσαστε άπαιχτοι. Γιώργο σε ευχαριστώ αλλά θέλω λίγο χρόνο για να δω τι κάνει (τουλάχιστον όσο καταλαβαίνω) Θα σου απαντήσω σε λίγο. (για την απάντηση που λες στην αντιγραφή ιδιοτήτων φόρμας επειδή δεν ήταν αυτό που ζητούσα ...... δηλαδή παράδειγμα ήθελα όλες οι φόρμες με το τρέχον να μεγιστοποίηση... ή αναδυόμενη ναι κλπ.) Η απάντησή σου στο τέλος ότι δεν γίνεται να αντιγραφούν μόνο οι ιδιότητες με κάλυψε και θεώρησα ότι επειδή δεν γίνεται τελείωσε το θέμα. Δεν έκανα κάτι σκόπιμα) Τώρα κοιτάω την δική σου βάση και απαντώ Ευχαριστώ που ασχολήθηκες |
Γιώργο έχει δίκιο ο Κώστας ζωγραφίζεις. Ένα πρόβλημα που εντόπισα είναι ότι έβαλα ασθένεια από 1/6/2012 έως 3/12/2012 άνοιξα την φόρμα frmDiastimataAnaMina και έβαλα διάστημα από 7/7/2012 έως 20/10/2012 και στον πίνακα δεν εμφάνισε τίποτα. Ύστερα το άφησα κενό και μου τα εμφάνισε όλα. Μπορεί να διορθωθεί; Με τους παπάδες που έκανες μου άνοιξες την όρεξη για να κάνω πολλά. (όπως να γίνεται το ίδιο που έχετε κάνει με τις εκθέσεις (έκθεση με παραμέτρους) Θα το πολεμήσω. Ευχαριστώ και πάλι |
Σταύρο στον κώδικα έχω προβλέψει να επεξεργάζεται μόνο τις εγγραφές που το χρονικό διάστημα στον πίνακα περιέχεται στο διάστημα που καθορίζεις στη φόρμα. Θα μπορούσε να αλλάξει, αν σε βολεύει καλύτερα, για να επεξεργάζεται τις εγγραφές που η έναρξη του χρονικού διαστήματος στον πίνακα περιέχεται σ’ αυτό της φόρμας |
Ναι νομίζω κατάλαβα αλλά νομίζω ότι αν έβαζα ας πούμε από 6/3/2012 έως 6/3/2912 δηλαδή να εστιάσω σε μία μόνο μέρα για να δω ποιοι είχαν απουσία την συγκεκριμένη μέρα; Δεν θα ήταν χρήσιμο; Ύστερα αυτόν τον κώδικα θα μπορούσα να τον ενσωματώσω σε εκθέσεις; Ευχαριστώ |
1 Συνημμένο(α) Καλησπέρα/Καλημέρα Σταύρο, στην προηγούμενη ΒΔ που ανέβασα, θέλησα απλά να δείξω πως λειτουργεί ο κώδικας που χωρίζει τα διαστήματα απουσίας σε τμήματα που ανήκουν στον ίδιο μήνα. Έτσι το παράδειγμα δεν είναι τόσο πρακτικό και μάλλον δε θα μπορούσες να το ενσωματώσεις στη βάση σου. Στη νέα ΒΔ: 1) Με τη βοήθεια της φόρμας frmDiastimataAnaMina, αφού δημιουργηθούν οι κατάλληλες εγγραφές στον πίνακα ApousiesPerMonth_p, ανοίγει το ερώτημα ApousiesAnaMina_Qr, που θα μπορούσε εύκολα να αποτελέσει τη βάση για μια έκθεση με μηνιαία στοιχεία. 2) Για τον εντοπισμό αυτών που απουσιάζουν μια συγκεκριμένη μέρα, πρόσθεσα τη φόρμα frmApousiazontesHmerisiws και το ερώτημα ApousiazontesHmiresiws_Qr. Φιλικά/Γιώργος |
1 Συνημμένο(α) Την καλημέρα μου στο forum. Σταύρο, κοίτα μήπως σε διευκολύνει αυτή η Βάση. στην φόρμα 'apousiesF2' , στα πεδία των ημερομηνιών και στα συμβάντα τους 'After Update', έχω τροποποιήσει τον κώδικα, μάλλον κάνει αυτό που ζητάς. Στον κώδικα της φόρμας 'apousiesF2', στο πεδίο 'apo_apousies_p' και στο συμβάν 'After Update', στην γραμμή του κώδικα που υπάρχει αυτό dtbefore = Me.eos_apousies_p αντικατέστησε το με αυτό If IsNull(Me.eos_apousies_p) Or Me.eos_apousies_p = "" Then Exit Sub Else dtbefore = Me.eos_apousies_p End If |
Βρε παιδιά τι μου κάνατε τώρα; το ένα είναι καλύτερο από το άλλο δεν ξέρω τι να διαλέξω. Και τα 2 είναι τέλεια και λειτουργούν το καθ' ένα με την δική του λογική. Θα προσπαθήσω να τα βάλω και τα δύο. (Δεν ξέρω αν τα καταφέρω αλλά θα προσπαθήσω) Μήπως θα μπορούσατε να ρίξετε μια ματιά και στην έκθεση; Πάντως ΕΥΧΑΡΙΣΤΩ |
Παράθεση:
χρησιμοποιείς όποιο σε βολεύει καλύτερα. Ποιά έκθεση; στείλε Βάση |
Στην ίδια βάση Κώστα στην έκθεση στις τελικές απουσίες και τελικές παρουσίες μου το είχες φτιάξει εσύ σε ένα ερώτημα που το τελικό αποτέλεσμα ήταν 30. όποιες μέρες και να έχει ο μήνας. το πρόβλημα είναι ότι στην έκθεση θέλει κάποιον άλλο κώδικα. δηλαδή θέλω να κάνει αυτό: if minas=2 & etos=2012 or etos=2016....(δηλαδή οι μήνες που είναι 29 μέρες ο Φλεβάρης) & οι απουσίες = 29 τότε (απουσίες = 30) if minas=2 &etos <> 2012 or etos 2016 (δηλαδή οι μήνες που είναι 29 μέρες ο Φλεβάρης) & oi απουσίες =28 τότε (απουσίες=30) if apousies=31 τότε (απουσίες=30) αλιώς (απουσίες) Παρουσίες 30-απουσίες νομίζω οτι με αυτόν τον τρόπο καλύπτω όλες τις περιπτώσεις ώστε (σύνολο απουσίες παρουσίες=30) Όλο αυτό το κατεβατό Κώστα μου το είχες κάνει σε ένα ερώτημα το οποίο δεν λειτουργεί στην έκθεση όπως και όταν το γράφω εγώ με τον τρόπο μου. Δεν ξέρω αν έγινα κατανοητός Ευχαριστώ |
Παράθεση:
Δεν καταλαβαίνω. έχεις ένα πίνακα με απουσίες για διάφορους λόγους (ασθένεια,άδεια...) τις οποίες τις αθροίζω στο ερώτημα και της αφαιρώ από το 30. Τι άλλο; στο ερώτημα που τρέχω ημέρες + απουσίες = 30 Διαφορετικά σύνδεσε την έκθεση με το ερώτημα που σου κάνει. |
Πήγαινε στις απουσίες και βάλε σε κάποιον 1/1/2013 έως 31/1/2013 Το αποτέλεσμα είναι απουσίες 31 ..... παρουσίες -1 (Το σωστό απουσίες 30 ..... παρουσίες 0) Σε κάποιον άλλον βάλε 1/2/2012 έως 29/2/2012 Το αποτέλεσμα είναι απουσίες 29 .... παρουσίες 1 (Το σωστό απουσίες 30 ..... παρουσίες 0) αν όμως απο 1/2/2012 έως 28/2/2012 επειδή η χρονιά έχει 29 μέρες ο φεβρουάριος θα πρέπει το αποτέλεσμα να είναι 28 απουσίες ..... 2 παρουσίες Αυτό το αποτέλεσμα (όχι ολοκληρωμένο το έχω δώσει στην έκθεση) αλλά με λάθη Αυτό χρήζει διόρθωσης Ευχαριστώ |
1 Συνημμένο(α) Σταύρο, κοίτα την Βάση |
1 Συνημμένο(α) Σταύρο, Συγγνώμη λάθος Βάση. αν το κατάλαβα καλά τώρα αυτό το report πρέπει να σου κάνει |
1 Συνημμένο(α) Κώστα ξέρω ότι σε έχω πρήξει. Το αποτέλεσμα στην έκθεση είναι ως εξής (σου ανεβάζω την βάση με μόνο συγκεκριμένες εγγραφές για να δεις μόνο την έκθεση 2....2012 απ=29 παρ=0 (λάθος) .........................το σωστό απ=30 παρ=0 απ=27 παρ=3 (σωστό) 2.....2013 απ=28 παρ=2 (λάθος)..........................το σωστό απ=30 παρ=0 Πάντως το πρόβλημα είναι μόνο στον κουτσοφλέβαρο Σε ευχαριστώ για την υπομονή σου |
2 Συνημμένο(α) Καλησπέρα στην παρέα Σταύρο, Δες και την επισυναπτόμενη βάση. Με τη βοήθεια της φόρμας frmDiastimataAnaMina: 1) Μπορείς να εμφανίσεις ένα συγκεντρωτικό πίνακα με όλα τα στοιχεία των απουσιών. Τα στοιχεία αυτά μπορούμε να τα φιλτράρουμε ανά έτος και μήνα. 2) Επίσης διαλέγοντας ένα χρονικό διάστημα μπορείς να εμφανίσεις στην έκθεση ApousiesAnaMina_Rp τα στοιχεία του διαστήματος (μπορεί να εκτείνεται σε πολλά έτη) κατά έτος και μήνα. Φιλικά/Γιώργος |
Καλησπέρα Γιώργο. Παιδιά με έχετε κατά σκλαβώσει. Να είστε σίγουροι ότι θα κάνω ότι μπορώ να ενσωματώσω και τις 2 περιπτώσεις. Αν δεις το μήνυμα πριν από το δικό σου θα δεις τα αποτελέσματα της έκθεσης που έχουν κάποια μικρο λαθάκια. Όμως αυτά που έκανες είναι φοβερά Ευχαριστώ |
Σταύρο, δεν καταλαβαίνω. Νομίζω ότι αυτό που θέλεις είναι το άθροισμα των ημερομισθίων και των απουσιών να είναι 30, ανεξάρτητα από τις μέρες που έχει ο μήνας (28, 29, 30, 31). Αυτό προσπάθησα να κάνω και νομίζω ότι δεν υπάρχει πρόβλημα. Προσθήκη: Δοκιμές κάνε στη βάση που ανέβασα |
Σταύρο, άλλαξα το αρχείο στο προηγούμενο μήνυμά μου επειδή στη θέση των ημερομισθίων έβαζε τις απουσίες και αντίθετα. |
Φίλε Γιώργο από την έκθεση λείπει το από ........ έως όπως και το είδος όταν κάνω 2 εγγραφές στον μήνα Αυτιάς 1/2/2012 εως 4/2/2012 και 8/2/2012 εως 22/2/2012 δείχνει 2 φορές αποτέλεσμα 30 για την πρώτη εγγραφή 30 και για την δεύτερη 30 δηλαδή = 60 αν δεις την υπάρχουσα έκθεση είναι ακριβώς όπως πρέπει να είναι αλλά τα αποτελέσματα δεν είναι σωστά. αν δεις την βάση σε αυτο το μήνυμα νομίζω θα το καταλάβεις Κώστα ξέρω ότι σε έχω πρήξει. Το αποτέλεσμα στην έκθεση είναι ως εξής (σου ανεβάζω την βάση με μόνο συγκεκριμένες εγγραφές για να δεις μόνο την έκθεση 2....2012 απ=29 παρ=0 (λάθος) .........................το σωστό απ=30 παρ=0 απ=27 παρ=3 (σωστό) 2.....2013 απ=28 παρ=2 (λάθος)..........................το σωστό απ=30 παρ=0 Πάντως το πρόβλημα είναι μόνο στον κουτσοφλέβαρο Σε ευχαριστώ για την υπομονή σου Σε ευχαριστώ και εσένα για την υπομονή αλλά δεν ξέρω πως να το κάνω ποιο κατανοητό Αν γίνομαι κουραστικός πείτε μου |
1 Συνημμένο(α) Καλησπέρα/Καλημέρα Σταύρο, δες τις αλλαγές που έκανα. Κατά τη γνώμη μου η προσαρμογή των απουσιών και των ημερομισθίων σε μήνα 30 ημερών μπορεί να γίνει μόνο όταν υπολογίσουμε τα σύνολα. Αν προσπαθήσουμε να κάνουμε αλλαγές απουσιών και ημερομισθίων σε κάθε διάστημα απουσίας θα οδηγούμασταν ή σε δεκαδικούς αριθμούς ή σε αυθαίρετες αλλαγές (κάποιες απουσίες δε θα άλλαζαν και κάποιες θα άλλαζαν αρκετά). Έτσι προτίμησα να φαίνονται στην έκθεση και το συγκεντρωτικό πίνακα οι πραγματικές απουσίες και η προσαρμογή να γίνεται στα σύνολα της έκθεσης. Ελπίζω αυτή τη φορά να είναι αυτό που θέλεις. Φιλικά/Γιώργος |
1 Συνημμένο(α) ευχαριστώ πολύ!!!!!!!! Αυτό ήταν Ανεβάζω την τελική μορφή στην έκθεση μήπως και την χρειαστούν και άλλα παιδιά γιατί τώρα τα περισσότερα ημερομίσθια θα βγαίνουν σε αυτή την μορφή με τους καινούριους νόμους |
| Η ώρα είναι 18:48. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.