| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
| |
|
#1
| |||
| |||
|
Καλησπέρα στην παρέα Στο αρχείο που επισυνάπτεται γίνεται μια προσπάθεια υλοποίησης μιας ιδέας του Γιάννη (nisgia) Συγκεκριμένα στην κεφαλίδα της φόρμας, που εμφανίζει τους εργαζόμενους, προστέθηκε ένα χειριστήριο επιλογής ημερομηνίας και ένα κουμπί για την εφαρμογή ή ακύρωση ενός φίλτρου. Με την εφαρμογή του φίλτρου εμφανίζονται μόνο οι διαθέσιμοι για την επιλεγείσα ημερομηνία εργαζόμενοι (αυτοί που δε δούλεψαν ίδια μέρα το τελευταίο 15/ημερο), ενώ με την ακύρωσή του όλοι. Για τη διαμόρφωση της τιμής του φίλτρου χρησιμοποιείται το βοηθητικό ερώτημα Κώδικας: SELECT DISTINCT ΕΡΓΑΖΟΜΕΝΟΙ.*
FROM ΕΡΓΑΖΟΜΕΝΟΙ INNER JOIN ΕΡΓΑΣΙΑ ON ΕΡΓΑΖΟΜΕΝΟΙ.ΚΩΔ_ΕΡΓ=ΕΡΓΑΣΙΑ.ΚΩΔ_ΕΡΓΑΖΟΜΕΝΟΥ
WHERE (((ΕΡΓΑΣΙΑ.[ΗΜΕΡΟΜΗΝΙΑ ΕΓΑΣΙΑΣ]) Between DateAdd("d",-15,Forms!ΕΡΓΑΖΟΜΕΝΟΙ!DTPicker8) And
DateAdd("d",-1,Forms!ΕΡΓΑΖΟΜΕΝΟΙ!DTPicker8)) And
((Format([ΗΜΕΡΟΜΗΝΙΑ ΕΓΑΣΙΑΣ],"dddd"))=Format(Forms!ΕΡΓΑΖΟΜΕΝΟΙ!DTPicker8,"dddd")));
Κώδικας: Private Sub cmdOpenReport_Click()
Me.Filter = "[ΕΡΓΑΖΟΜΕΝΟΙ]![ΚΩΔ_ΕΡΓ] Not In (select [qryFilter]![ΚΩΔ_ΕΡΓ] from [qryFilter])"
Me.FilterOn = Me.cmdOpenReport.Caption = "Εμφάνιση διαθέσιμων"
If Me.FilterOn Then
Me.cmdOpenReport.Caption = "Εμφάνιση όλων"
Else
Me.cmdOpenReport.Caption = "Εμφάνιση διαθέσιμων"
End If
End Sub
Private Sub Form_Load()
Me.Filter = ""
End Sub
Φιλικά/Γιώργος Τελευταία επεξεργασία από το χρήστη kapetang : 12-10-10 στις 17:08. Αιτία: κάποιοι χαρακτήρες αλλαξαν |
|
#2
| ||||
| ||||
|
Καλησπέρα και από μένα! Παράθεση:
"όλο λάδι-λάδι και από τηγανίτα τίποτα", ετοίμασα μια υλοποίηση της ιδέας μου η οποία νομίζω πως προσεγγίζει την ολοκλήρωση που της αξίζει. ![]() Πέρα από τα θέματα που σχετίζονται άμεσα με το ζητούμενο, μέσα από το παράδειγμα παρουσιάζονται και αρκετά άλλα ενδιαφέροντα πράγματα άλλα ως "tips and trics" και άλλα ως θέματα προς περαιτέρω ανάλυση και βελτίωση. Ένα από αυτά, το οποίο με ταλαιπωρεί συνεχώς και ακόμη μέχρι τώρα δεν έχω βρει μια αποδεκτή λύση είναι η χρήση σύνθετων πλαισίων (comboboxes) πολλαπλών στηλών σε προβολή φύλλου δεδομένων (Datasheet) η λίστα των οποίων πρέπει να ανανεώνεται κατά το χρόνο εκτέλεσης. Όσοι το έχετε επιχειρήσει, πιθανώς θα έχετε αντιμετωπίσει το πρόβλημα της εξαφάνισης ή της λανθασμένης εμφανιζόμενης τιμής τους μετά από κάθε ανανέωση της προέλευσης εγγραφών τους. Για να το αντιμετωπίσω στο παράδειγμα που επισυνάπτω, αναγκάστηκα να παρακάμψω τους κανόνες περί μοναδικότητας δεδομένων και πρόσθεσα δυο άσχετες στήλες στον πίνακα συνένωσης εργαζομένων και εργασιών έτσι ώστε η στήλη των τιμών που εμφανίζεται στα αντίστοιχα σύνθετα πλαίσια να είναι και η δεσμευμένη στήλη τους, ενώ η αποθήκευση της πραγματικής τιμής τους (κρυφή στήλη) γίνεται μέσω κώδικα στο συμβάν AfterUpdate των σύνθετων πλαισίων. Με αυτόν λοιπόν τον μπακαλίστικο τρόπο επιτυγχάνω για την ώρα τη σταθερότητα στη λειτουργία των σύνθετων πλαισίων. Είναι ένα θέμα που πιστεύω πως αξίζει να συζητηθεί και με παίδεψε αρκετά ενώ ο περιορισμός των διαθέσιμων εργαζομένων και εργασιών ήταν σχετικά εύκολος στην υλοποίησή του. Για να μην κουράσω όμως άλλο με το μπλα-μπλα, εξετάστε αν θέλετε το παράδειγμα και θέστε τα σχόλια και τις ερωτήσεις σας έτσι ώστε να ανάψει και λίγο η κουβέντα. ![]() Άλλωστε, όπως λένε και οι Κινέζοι: Μια εφαρμογή = χιλιάδες megabytes...! ![]() Θα χαρώ πολύ να σας ακούσω/διαβάσω. ![]() Καλό ξημέρωμα! Γιάννης
__________________ Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...! ![]() ----------------------------------------------- Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης. Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά! |
|
#3
| ||||
| ||||
|
Καλησπέρα σε όλους! Πριν αρχίσετε τη γκρίνια και τα παράπονα , επισυνάπτω και την αναβαθμισμένη έκδοση της Employments.mdb στην οποία προστέθηκαν κάποιες νέες λειτουργίες (όπως επιλογή της επιθυμητής εβδομάδας στο εβδομαδιαίο πρόγραμμα εργασιών) και βελτιώθηκαν κάποιες παλιές. Νομίζω πως εκτός των σχετικών εκθέσεων, αυτό που μένει πλέον είναι η δημιουργία μιας αυτόματης διαδικασίας δημιουργίας του εβδομαδιαίου προγράμματος εργασιών βάσει κανόνων. Τότε φίλε Γιώργο (kapetang), φαντάζομαι πως θα μπορούμε άνετα να την αποκαλέσουμε ολοκληρωμένη προσέγγιση, δεν νομίζεις; ![]() Καλό απόγευμα! Γιάννης Υ.Γ. Αν αναρωτηθείτε που βρίσκω τα εικονίδια του παραδείγματος, τα κατεβάζω (δωρεάν) από εδω. Τώρα κατά πόσο έχω το δικαίωμα να τα χρησιμοποιώ στο επίπεδο που τα χρησιμοποιώ ...είναι άλλο θέμα.
__________________ Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...! ![]() ----------------------------------------------- Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης. Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά! Τελευταία επεξεργασία από το χρήστη nisgia : 13-10-10 στις 13:21. Αιτία: Προσθήκη υστερόγραφου |
|
#4
| |||
| |||
|
Καλησπέρα σε όλους Φίλε μου Γιάννη, στην εφαρμογή σου επεκτείνοντας το αρχικό ζητούμενο ασχολείσαι με τον προγραμματισμό της υπηρεσίας σε μια στρατιωτική μονάδα. Το θέμα αυτό, όπως και κάθε εφαρμογή διαχείρισης προσωπικού και ανάθεσης εργασίας είναι κατά τη γνώμη μου από τα πολυπλοκότερα. Στην περίπτωσή μας εμπλέκονται αρκετά στοιχεία. Τελείως πρόχειρα σημειώνω τα ακόλουθα: 1. Διάρκεια της βάρδιας, το πλήθος των σκοπιών , των θαλάμων και των περιπόλων, η σύνθεση των περιπόλων, κλπ (ημερήσιες ανάγκες σε προσωπικό). 2. Αντικατάσταση σε περίπτωση κωλύματος (πχ ασθένειας). 3. Ενίσχυση υπηρεσίας σε περίπτωση έκτακτων μέτρων ασφάλειας. 4. Δυνατότητα πολλαπλής βάρδιας. 5. Υπάρχον προσωπικό. 6. Διάστημα προγραμματισμού (βδομάδα, 15/ήμερο, κλπ). 7. Κάποιοι περιορισμοί για τη συχνότητα και το είδος της υπηρεσίας για να μη πήξουν οι νέοι. Στην πληροφορική ο κανόνας είναι η διόρθωση και η αναβάθμιση των εφαρμογών. Έτσι είναι στις αρχές μου να μη θεωρώ καμία εφαρμογή ολοκληρωμένη και πάντα περιμένω το καλύτερο .Η εφαρμογή σου όμως είναι πολύ καλή, έχει ιδέες, ομορφιά και χιούμορ. Γιώργος ΥΓ Και μια απορία: στο ερώτημα qryweekScedule χρησιμοποιείται σύνδεσμος LEFT JOIN και μία συνθήκη (not is null) δε θα μπορούσε να χρησιμοποιηθεί INNER JOIN χωρίς τη συνθήκη; |
|
#5
| ||||
| ||||
|
Καλησπέρα στη παρέα! Η αριστερή συνένωση (LEFT JOIN) και η συνθήκη "Not is Null" στο ερώτημα που αναφέρεις Γιώργο είναι απομεινάρια της προσπάθειάς μου να εμφανίσω όλες τις ημέρες της τρέχουσας εβδομάδας στη γραμμή κεφαλίδων. Όμως στη συνέχεια είδα πως δεν ταξινομούνται με βάση την ημερομηνία αλλά το όνομα της ημέρας. Έτσι λοιπόν "υποχρέωσα" το ερώτημα να επιστρέψει τα ονόματα των ημερών με τη σωστή σειρά θέτοντάς τα στο πεδίο επικεφαλίδων στηλών (Column Headings) του φύλλου ιδιοτήτων του ερωτήματος. Όταν όμως επετεύχθη το ζητούμενο δεν γύρισα πίσω να δω αν δουλεύει και με την απλή εσωτερική ένωση όπως πολύ σωστά παρατήρησες. Όσον αφορά τα υπόλοιπα όμως που απαρίθμησες, δεν είχα ποτέ τη φιλοδοξία με αυτό το παράδειγμα να καλύψω τις ανάγκες διαχείρισης κάποιας στρατιωτικής βάσης. Νομίζω πως θα πρέπει να ρίξεις λίγο το επίπεδο των απαιτήσεών σου απέναντί μου. ![]() Το επίκεντρο του παραδείγματος ήταν ο τρόπος απόκρυψης όσων έχουν εργαστεί την τρέχουσα ημέρα και η επέκταση σε αυτό ήταν η κυκλική επιλογή εργασίας για το τρέχον άτομο. Αυτό εννοούσα με το "ολοκληρωμένη προσέγγιση" και όχι κάποια εφαρμογή έτοιμη προς διανομή. Οι στρατιωτικές υπηρεσίες ήταν απλά ένα χαριτωμένο αντικείμενο στο οποίοι σκέφτηκα να "πατήσω" την προφανώς ελάχιστη λειτουργικότητα του παραδείγματος ώστε να έχει κάποιο νόημα. ![]() Παρόλα αυτά, κατά τη γνώμη μου, ως παράδειγμα έχει μεγάλες δυνατότητες επέκτασης αν κάποιος το θελήσει, και σε πολυπλοκότητα αλλά και σε λειτουργικότητα. Χαίρομαι όμως πραγματικά που σου άρεσε και που ασχολήθηκες μαζί του. ![]() Και τέλος, αν θέλεις την προσωπική μου άποψη, συμφωνώ απόλυτα στο ότι καμία εφαρμογή δεν θεωρείται ολοκληρωμένη, ειδικά όσες προσπαθούν να συμπεριλάβουν τον ανθρώπινο παράγοντα. Ίσως οι εφαρμογές των κβαντικών υπολογιστών να τα καταφέρουν όμως για την ώρα, με τα τρανζιστοράκια, δεν υπάρχει περίπτωση. Είναι θέμα ασυμβατότητας...! ![]() Επίσης η ιδεολογία μου λέει πως, όροι όπως "διαχείριση προσωπικού" και "ανάθεση εργασιών", δεν αφορούν την ανθρώπινη φύση. ![]() Φιλικά, Γιάννης
__________________ Αν δεν το ρωτούσες, δεν θα το μαθαίναμε ποτέ...! ![]() ----------------------------------------------- Τελικά η γνώση, αντίθετα με ό,τι μέχρι σήμερα πίστευα, είναι η φυλακή της σκέψης. Όταν η αφετηρία είναι η ελεύθερη σκέψη, δεν χρειάζεται πλέον να φτάσεις πουθενά! |
|
#6
| |||
| |||
| Παράθεση:
Οι όροι "διαχείριση προσωπικού" και "ανάθεση εργασιών" δεν αρέσουν και σε μένα. Μερικές φορές όμως αναρωτιέμαι, σε μία χώρα που οι περισσότεροι αντιπαθούν τη δουλειά τους, μήπως θα έπρεπε να είναι περισσότερο αποδεκτοί; Γιώργος |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| Εργαλεία Θεμάτων | |
| Τρόποι εμφάνισης | |
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| Αθροισματα στην access | q.mrk | Access - Ερωτήσεις / Απαντήσεις | 4 | 30-07-15 14:10 |
| εργασία σε access | μητσάκος | Access - Ερωτήσεις / Απαντήσεις | 1 | 27-10-14 07:52 |
| Εργασία Video Club Access | coldwinter18 | Access - Ερωτήσεις / Απαντήσεις | 4 | 30-05-13 11:05 |
| [ Ερωτήματα ] Index στην Access | mdragon | Access - Ερωτήσεις / Απαντήσεις | 9 | 10-03-11 14:14 |
| [ Συναρτήσεις ] Η Mod στην access | xristos0718 | Access - Ερωτήσεις / Απαντήσεις | 4 | 22-03-10 13:17 |
Η ώρα είναι 01:06.








, επισυνάπτω και την αναβαθμισμένη έκδοση της Employments.mdb 




Υβριδικός τρόπος

