Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Ημερήσιο Πρόγραμμα
Πολύ καλησπέρα σας . Προσπαθώ να φτιάξω μια βάση δεδομένων για να κρατάω το ημερήσιο πρόγραμμα των εργαζομένων σε μια εταιρεία . Έχω φτιάξει κάτι αλλά δεν ξέρω αν είμαι σε σωστό δρόμο. Ανεβάζω το δείγμα. Εκεί που κολάω είναι στο πως να φτιάξω την φόρμα για να βάζω τα δεδομένα. Έτσι όπως το σκέφτομαι είναι με την διαδικασία των κλικ. Δηλαδή σε μια φόρμα να εμφανίζονται όλοι οι εργαζομενοι ο ένας κάτω από τον άλλο και δίπλα τους να είναι όλα τα πιθανά ωράρια και με check box να διαλέγεις την βάρδια που θέλω για τον κάθε εργαζόμενο . Πως το κάνω αυτό ? Ευχαριστώ |
#2
| ||||
| ||||
Καλησπέρα Ανέβασε τον πίνακα των προσώπων με περιεχόμενο 3-4 εγγραφές! Πες μας τι σημαίνουν τα πεδία [ΚΑΜ] & [VPN], για να δούμε τι τύπο θα έχουν και πως θα συσχετιστούν οι πίνακες. Επίσης πόσα σημαντικό είναι να χρησιμοποιείς τις συντομέυσεις των ειδών άδειας και τις συντομεύσεις από τις βάρδιες. Με εκτίμηση Νίκος Δ. Υστερολόγιο : Όταν ζητάμε την βοήθεια των μελών του Forum, προϋπόθεση είναι να υπάρχει υπόστρωμα της δικής μας προσπάθειας. Αυτός φίλε μου είναι ο λόγος που για μερικούς αργεί να έλθει απάντηση. Πρόθεσή μου είναι να βοηθηθείς και τώρα και στο μέλλον και όχι να σε προσβάλω ή ό,τι αλλο. |
#3
| |||
| |||
Καταρχήν ευχαριστώ Το ΚΑΜ είναι αριθμός μητρώου και το VPN είναι το τηλέφωνο του κάθε εργαζόμενου, Ανεβάζω την βάση με εγγραφές . Θέλω να κάνω ότι στο αρχείο excel αλλά σε βάση. Ευχαριστώ. Τελευταία επεξεργασία από το χρήστη spooky : 22-04-12 στις 00:48. |
#4
| |||
| |||
Καλησπέρα/Καλημέρα Ζαχαρία, η ΒΔ που επισυνάπτω αποτελεί μια προσέγγιση του ζητούμενου. Σχετικά με τη δομή της: 1) Στον πίνακα των εργαζόμενων «ΕΡΓΑΖΟΜΕΝΟΙ» πρόσθεσα το πεδίο «Αποχώρηση» για την καταχώρηση της ημερομηνίας αποχώρησης (σύνταξη, απόλυση, κλπ) του εργαζόμενου από την επιχείρηση. 2) Ο πίνακας «ΤΥΠΟΙ_ΑΠΟΥΣΙΑΣ» είναι παρόμοιος με αυτόν που είχες. 3) Ο πίνακας «ΤΥΠΟΙ_ΒΑΡΔΙΑΣ» περιέχει τα είδη της βάρδιας. Κάθε βάρδια ορίζεται από την ώρα έναρξης και τη διάρκειά της. Ο τρόπος αυτός ορισμού της βάρδιας επιτρέπει βάρδιες που θα εκτείνονται σε περισσότερες μέρες, κάνει ευκολότερους τους υπολογισμούς και γενικά παρέχει μεγαλύτερη ευελιξία. 4) Στον πίνακα «ΚΑΤΑΣΤΑΣΗ_ΕΡΓΑΖΟΜΕΝΩΝ» για κάθε εργαζόμενο (κωδικό) και ημερομηνία καταχωρείται (επιλέγεται από πτυσσόμενο πλαίσιο) η κατάστασή του (βάρδια ή απουσία). 5) Στη φόρμα «ΚΑΤΑΣΤΑΣΗ_ΕΡΓΑΖΟΜΕΝΩΝ» γίνεται η καταχώρηση της κατάστασης των εργαζόμενων ως εξής: Αφού πληκτρολογήσουμε την επιθυμητή ημερομηνία και πατήσουμε Enter στη φόρμα θα προστεθούν εγγραφές με τους ενεργούς (αυτούς που δεν αποχώρησαν) εργαζόμενους και την ημερομηνία. Στη συνέχεια για κάθε εργαζόμενο επιλέγουμε το είδος της βάρδιας ή της απουσίας του. Η εμφάνιση των δεδομένων σε μορφή παρόμοια με αυτή του excel, γίνεται με τη φόρμα «frmShowStatus». Τα δεδομένα μπορούν να εμφανιστούν ως συγκεντρωτικός πίνακας (φόρμα ΚΑΤΑΣΤΑΣΗ_ΠΡΟΣΟΠΙΚΟΥ_ΠΤ) ή ως έκθεση (έκθεση ΚΑΤΑΣΤΑΣΗ_ΕΡΓΑΖΟΜΕΝΩΝ). Η παραπάνω λειτουργικότητα οφείλεται στα ερωτήματα και στον κώδικα που υπάρχει στις φόρμες. Η ΒΔ δεδομένων περιέχει τα εντελώς απαραίτητα, θα μπορούσε όμως να συμπληρωθεί και να αποτελέσει μια εφαρμογή προγραμματισμού της απασχόλησης του προσωπικού μιας επιχείρησης. Φιλικά/Γιώργος |
#5
| |||
| |||
Σε ευχαριστώ πολύ!!!!!! Καταπληκτικό. Θα επανέλθω με ερωτήματα. Και θα προσπαθήσω να την βελτιώσω με την βοήθειά σας . Κάτι μου βγάζει για OLE Server όταν πάω να ανοίξω την φόρμα ΚΑΤΑΣΤΑΣΗ_ΠΡΟΣΟΠΙΚΟΥ_ΠΤ κι όταν από την φόρμα frmShowStatus πατάω ΕΜΦΑΝΙΣΗ ΣΥΓΚΕΝΤΡΩΤΙΚΟΥ ΠΙΝΑΚΑ. Επίσης όταν στην ίδια φόρμα βάζω ημερομηνία και πατάω ΕΜΦΑΝΙΣΗ ΕΚΘΕΣΗΣ με πετάει στον debuger και λέει ότι δεν βρίσκει την variable. Τι μπορεί να φταίει? Σε ευχαριστώ πολύ . |
#6
| |||
| |||
Προσθέτω και την δική μου προσέγγιση στο θέμα (όσον αφορά τους πίνακες) απο το thread: http://www.ms-office.gr/forum/access...bbed-form.html , μιας και αφορά την ίδια βάση... Καλημέρα, λοιπόν, στην βάση που ανέβασα άνοιξε να δεις τους πίνακες στις σχέσεις. Άφησε λιγάκι απ' έξω τον πίνακα "ημερήσιο πρόγραμμα" (daily_schedule) (άλλαξα τις ονομασίες των πινάκων και τα περισσότερα στοιχεία στα Αγγλικά) Όπως θα δεις κάτω απο το έτος έχεις του μήνες σε combobox, τώρα, μέσα στους μήνες έρχεσαι και "κρεμάς" τις ημέρες. Απο τις ημέρες είναι που προκύπτει το ημερήσιο πρόγραμμα που ζητάς, όλη σου η πληροφορία έρχεται και "μαζεύεται μέσα σε αυτόν τον πίνακα. Αν παρατηρήσεις τον πίνακα θα δεις ότι υπάρχουν 3 κλειδιά. Αυτό περιορίζει τον πίνακα στο να μην μπορεί να έχει έναν εργαζόμενο στην ίδια ημερομηνία (μήνα), στην ίδια ημέρα και στην ίδια βάρδια! Και αυτό είναι και το λογικό! :P Τώρα ο πίνακας "ημερήσιο πρόγραμμα" (daily_schedule) όπως είπα και παραπάνω θα προκύψει απο τα στοιχεία όλων των πινάκων (και ειδικά του πίνακα days) μέσα απο ερώτημα. Σε όλη αυτή την διαδικασία, φυσικά μπορείς να προσθέσεις ή να μεταβάλεις και να διαγράφεις στοιχεία εργαζόμενους και βάρδιες κλπ κλπ κλπ. Τώρα λοιπόν που έχεις την βάση των πινάκων περνάμε στο να φτιάξουμε το ερώτημα που θα μας δώσει το ημερήσιο πρόγραμμα και μετά πάμε στις φόρμες και τις αναφορές. (δυστυχώς δεν έχω τον χρόνο να το προχωρήσω τώρα... θα το κοιτάξω όμως το βραδάκι, στο μεταξύ ότι μπορέσεις να προσθέσεις - δημιουργήσεις είναι προς όφελός σου :D ) @kapetang Γιώργο δυστυχώς είδα την δική σου προσέγγιση αργά. :(
__________________ Always Look on the Bright Side of Life! |
#7
| |||
| |||
Πολύ καλημέρα . Ευχαριστώ και τους δύο για την ενασχόλησή σας μαζί μου και με το πρόβλημά μου. Και οι δύο προσεγγίσεις είναι καταπληκτικές ξεπερνώντας τις δικές μου γνώσεις. Τριπλά και διπλά πρωτεύοντα κλειδιά . Πρώτη φορά το συναντώ . Και για αυτό είμαι ακόμα αρχάριος. Κοιτάζω και τις δύο βάσεις . Πάντως στην βάση του katepang η αποικόνιση στην φόρμα δεν πολυβολεύει. Η απικόνηση στην έκθεση βολεύει καλύτερα γιατί με μια ματιά μπορώ εγώ να δω ποιος εχει τι. Οπότε καλύτερα θα ήταν και η απεικόνιση στην φόρμα να ήταν η ίδια. . Ευχαριστώ . Περισσότερα το βράδυ μόλις τις κοιτάξω και τις δύο γιατί τώρα είμαι δουλειά . |
#8
| |||
| |||
Καλησπέρα Νεκτάριε, υποψιάζομαι ότι και τα δύο προβλήματα έχουν το ίδιο αίτιο. Δοκίμασε τα εξής: 1) Πατώντας ALT+F11 άνοιξε τον επεξεργαστή του κώδικα (VBE). 2) Στο μενού κάνε κλικ στο Tools, Referens για να ανοίξει το παράθυρο References Programma. 3) Στη κορυφή του παράθυρου θα δεις λίγες επιλεγμένες επιλογές από τις πολλές που υπάρχουν. 4) Για να λειτουργούν σωστά οι συγκριτικοί πίνακες θα πρέπει να είναι επιλεγμένο το Ole Automation. Αν δεν είναι ψάξε να το βρεις και να το τσεκάρεις στις επιλογές. Αν είναι επιλεγμένο και στην επιλογή υπάρχει η λέξη MISSING, ίσως να μη είναι εγκατεστημένο στον υπολογιστή σου το αρχείο stdole2. tb . Στην περίπτωση αυτή αφού ξετσεκάρεις την επιλογή θα πρέπει να φροντίσεις για την εγκατάσταση του αρχείου stdole2. tb . 5) Αν υπάρχουν άλλες τσεκαρισμένες επιλογές με τη λέξη MISSING, σημείωσε το όνομά τους, αφαίρεσε το τσεκάρισμα, κλείσε το παράθυρο πατώντας OK, και τον επεξεργαστή του κώδικα. Αν η φόρμα frmShowStatus λειτουργεί σωστά τελειώσαμε. Αν όχι θα πρέπει να ανοίξεις πάλι το παράθυρο References Programma , να εντοπίσεις τις επιλογές που έχουν παραπλήσια ονόματα με αυτά που σημείωσες και να τις επιλέξεις. Σχετικά με την παρατήρησή σου: «Πάντως στην βάση του katepang η αποικόνιση στην φόρμα δεν πολυβολεύει. Η απικόνηση στην έκθεση βολεύει καλύτερα γιατί με μια ματιά μπορώ εγώ να δω ποιος εχει τι. Οπότε καλύτερα θα ήταν και η απεικόνιση στην φόρμα να ήταν η ίδια». Διευκρινίζω ότι η φόρμα εξυπηρετεί στην εύκολη καταχώρηση και αποθήκευση των στοιχείων στον πίνακα «ΚΑΤΑΣΤΑΣΗ_ΕΡΓΑΖΟΜΕΝΩΝ». Αφού καταχωρηθούν τα στοιχεία μπορούμε να τα εμφανίσουμε με τον τρόπο που θέλουμε σε έκθεση, συγκεντρωτικό πίνακα κλπ. Σημειώνω επίσης ότι το ζητούμενο ήταν: «Έτσι όπως το σκέφτομαι είναι με την διαδικασία των κλικ. Δηλαδή σε μια φόρμα να εμφανίζονται όλοι οι εργαζομενοι ο ένας κάτω από τον άλλο και δίπλα τους να είναι όλα τα πιθανά ωράρια και με check box να διαλέγεις την βάρδια που θέλω για τον κάθε εργαζόμενο.» Φιλικά/Γιώργος |
#9
| |||
| |||
Ξανακοίταξα το πρόβλημα που ανάφερα με την βάση του kapetang. Ακολούθησα τις οδηγίες σου και όλα φαίνονται να είναι οκ. Το ole automation είναι τσεκαρισμένο και δεν λέει πουθενά missing . Επίσης τίποτα άλλο δεν είναι τσεκαρισμένο και να είναι Missing. Τώρα στην φόρμα frmShowStatus βάζοντας μια ημερομηνία και πατώντας Εμφάνιση έκθεσης μου πετάει στον debuger και βγάζει το εξής μύνημα Cannot find variable και μου έχει επιλεγμένη την acViewReport. Όταν πάω να συντάξω μόνος μου την DoCmd όντως δεν υπάρχει η acViewReport. Όταν πάω να πατήσω το κουμπί ΚΑΤΑΣΤΑΣΗ_ΠΡΟΣΟΠΙΚΟΥ_ΠΤ τότε το μύνημα που μου βγάζει είναι The connection with the OLE server was lost., or the OLE server encountereden error while you were using it . Το ίδιο πρόβλημα μου βγάζει κι όταν πάω να ανοίξω την φόρμα ΚΑΤΑΣΤΑΣΗ_ΠΡΟΣΟΠΙΚΟΥ_ΠΤ και μου λέει να κάνω restart τον OLE server. Έχεις δίκιο για τις παρατηρήσεις σου , αλλά χρησιμοποιώντας την βάση για να βάλω μερικές εγγραφές ή ακόμα να δω κάποια μέρα είδα ότι δεν πολυβολεύει αυτή η απεικόνιση , ενώ βολεύει πολύ η απεικόνιση της έκθεσης, καθώς επίσης κι όταν ήθελα να δω μια προηγούμενη ημερομηνία τότε μου εμφάνιζε από την ημερομηνία και κάτω. Καλό θα ήταν να μου εμφανίζει μόνο την ημερομηνία που έχω επιλέξει . Συγνώμη για το πρίξιμο. Η αγνοιά μου όμως και η θέληση για να μάθω είναι αυτή που με έκανε να ξεκινήσω να φτιάξω αυτή την βάση. Ευχαριστώ για την υπομονή σας |
#10
| |||
| |||
Καλησπέρα Σχετικά με τα προβλήματα: 1) Σωστά το πρόγραμμα εμφανίζει το μήνυμα ότι δε βρίσκει τη μεταβλητή acViewReport. Η acViewReport είναι σταθερά και καθορίζει ότι η έκθεση θα ανοίξει σε προβολή «Έκθεσης», η οποία δεν είναι διαθέσιμη στις εκδόσεις της access που είναι παλιότερες της 2007. 2) Το πρόβλημα με το συγκεντρωτικό πίνακα (ΣΠ) που παρουσιάζεται στο σύστημά σου δεν ξέρω που οφείλεται. Ίσως θα μπορούσε να ξεπεραστεί αν δημιουργούσες το ΣΠ από την αρχή στην δική σου access. Είναι εύκολο. Βασίζεται στο ερώτημα qryPT. Στην περιοχή των γραμμών βάζουμε το πεδίο «Ονοματεπώνυμο». Στην περιοχή των φίλτρων τα πεδία «Έτος» και «Μήνας», στην περιοχή των στηλών το πεδίο «Ημέρα» και στην περιοχή των δεδομένων το πεδίο «ΚΑΤΑΣΤΑΣΗ». Θα μπορούσες επίσης να δημιουργήσεις μια κενή ΒΔ και να κάνεις εισαγωγή όλων των αντικειμένων της βάσης που επισυνάπτω. Στη ΒΔ που επισυνάπτω καθόρισα η έκθεση να ανοίγει σε προβολή προεπισκόπησης που είναι διαθέσιμη στην access 2003. Επίσης πρόσθεσα κώδικα στην έκθεση για να αντιμετωπιστεί η διαφορετική διάρκεια των μηνών (28, 29,30,31 μέρες). Η φόρμα «ΚΑΤΑΣΤΑΣΗ_ΕΡΓΑΖΟΜΕΝΩΝ» σχεδιάστηκε για την εύκολη εισαγωγή των δεδομένων των στον πίνακα «ΚΑΤΑΣΤΑΣΗ_ΕΡΓΑΖΟΜΕΝΩΝ» (γίνεται με επιλογές χωρίς πληκτρολόγηση). Τα δεδομένα μπορούμε να τα δούμε εποπτικά στο ΣΠ και στην έκθεση. Ο ΣΠ πλεονεκτεί σε σχέση με την έκθεση αφού μπορούμε να επιλέξουμε, στην περιοχή των φίλτρων, το έτος και το μήνα και να εμφανίσουμε τα αναλυτικά στοιχεία. Η ΒΔ που ανέβασα είναι η πρότασή μου (υπάρχει και η πρόταση του Άγγελου) για ένα σωστό ξεκίνημα και περιέχει μόνο τα αναγκαία στοιχεία. Θα μπορούσες να την εμπλουτίσεις με άλλες φόρμες, αναζητήσεις, φίλτρα, κλπ. Φιλικά/Γιώργος |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[Excel07] Προγραμμα ωρών | harristopaloglou | Excel - Ερωτήσεις / Απαντήσεις | 2 | 26-02-17 18:49 |
[Γενικά] Πρόγραμμα εκλογών | stevens3gr | Excel - Ερωτήσεις / Απαντήσεις | 3 | 06-06-16 18:32 |
[Excel07] Πρόγραμμα αδειών | Πέτρο | Excel - Ερωτήσεις / Απαντήσεις | 14 | 30-11-12 12:26 |
[ Ερωτήματα ] Ημερήσιο Report Πρόβλημα Αναζήτησης | FuriousX | Access - Ερωτήσεις / Απαντήσεις | 2 | 18-06-12 15:07 |
Η ώρα είναι 08:37.