Forum

Αναζήτηση στο ms-office.gr

Πάμε!

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 06-12-12, 07:27
Το avatar του χρήστη stavross
Όνομα: ΣΤΑΥΡΟΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 27-10-2012
Μηνύματα: 92
Προεπιλογή Άδειες

Καλημέρα στο Φόρουμ και σε όλα τα παιδιά.
Έχω μια βάση με άδειες. Στην φόρμα άδειες παρουσιάζω την καρτέλα του εργαζόμενου και τις πληροφορίες των αδειών του που τις παίρνει από το ερώτημα AdiesIpolipoQ.
Σε ένα πίνακα AdiesDikeomaP καταχωρώ το δικαίωμα - ημέρες - έτος
Ένας εργαζόμενος μπορεί να δικαιούται πολλές άδειες (κανονική-εορταστική-ΑΜΕΑ κλπ)
Στο δικαίωμα αδείας καταχωρώ πχ. κάποιον που έχει δικαίωμα 20 ημέρες κανονική 3 ημέρες εορταστική και 15 ημέρες ΑΜΕΑ
Όταν καταχωρώ μία άδεια πχ 5 ημέρες κανονική κάπου έχω κάνει λάθος στο ερώτημα και αφαιρεί τις μέρες από όλα τα δικαιώματα δηλαδή μου βγάζει αποτέλεσμα:
υπόλοιπο κανονικής: 20-5=15
υπόλοιπο εορταστικής 3-5= -2
υπόλοιπο ΑΜΕΑ 15-5=10
Πού έχω κάνει το λάθος;
Νομίζω ότι είναι η ίδια λογική με τις απουσίες που με βοήθησαν πολύ ο Γιώργος και ο Κώστας αλλά δεν κατάφερα να το προσαρμόσω. Όποια βοήθεια καλοδεχούμενη.
Ευχαριστώ εκ των προτέρων
Συνημμένα Αρχεία
Τύπος Αρχείου: zip adies.zip (212,1 KB, 54 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 06-12-12, 10:10
Το avatar του χρήστη ασχετος
Όνομα: Κώστας
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 22-01-2012
Περιοχή: Πειραιάς
Μηνύματα: 181
Προεπιλογή

Καλημέρα σ' όλο το forum.

Σταύρο,
Κοίτα το Query1 αν σου κάνει
Συνημμένα Αρχεία
Τύπος Αρχείου: zip adies.zip (97,6 KB, 38 εμφανίσεις)
__________________
Ἓν οἶδα ὅτι οὐδὲν οἶδα.
Απάντηση με παράθεση
  #3  
Παλιά 06-12-12, 10:30
Το avatar του χρήστη stavross
Όνομα: ΣΤΑΥΡΟΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 27-10-2012
Μηνύματα: 92
Προεπιλογή

Φίλε Κώστα σε ευχαριστώ κατ΄αρχάς που ασχολείσε όμως κάνει ακριβώς το ίδιο.
Αν πας στον παπαδόπουλο κωστάκη θα δεις οτι το αφερεί και στις 2 δικαιούμενες άδειες
Ευχαριστώ πάντως
Απάντηση με παράθεση
  #4  
Παλιά 06-12-12, 16:46
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.156
Προεπιλογή

Καλησπέρα

Σταύρο, έκανα κάποιες αλλαγές και προσθήκες στη ΒΔ που ανέβασες.

Το βασικό είναι ότι και στους δύο πίνακες με τις δικαιούμενες άδειες και τις πραγματοποιούμενες οι κωδικοί των εργαζόμενων και του είδους των αδειών πρέπει να είναι ταυτόσημοι.

Για να γίνει αυτό πρέπει να επιλέγονται από πτυσσόμενα πλαίσια.

Πρόσθεσα το ερώτημα SumAdionAnaErgazomenoEtosIdos που υπολογίζει το άθροισμα των αδειών που έχουν ληφθεί ανά εργαζόμενο, είδος άδειας και έτος.

Το ερώτημα YpolipoAdionQ, νομίζω δίνει το ζητούμενο

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Adies2.zip (197,5 KB, 68 εμφανίσεις)
Απάντηση με παράθεση
  #5  
Παλιά 06-12-12, 17:43
Το avatar του χρήστη stavross
Όνομα: ΣΤΑΥΡΟΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 27-10-2012
Μηνύματα: 92
Προεπιλογή

Γιώργο ευχαριστώ πολύ. Αυτό ήθελα
Απάντηση με παράθεση
  #6  
Παλιά 08-12-12, 21:24
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.156
Προεπιλογή

Καλησπέρα

Σταύρο, προκειμένου να απαντήσω στα ερωτήματά σου, προτίμησα να δημιουργήσω μία νέα βάση, αντί να εργαστώ σ’ αυτήν που ανέβασες.

Το έκανα για τους παρακάτω λόγους:

1) Παρατήρησα κάποιες αδυναμίες στο σχεδιασμό.

Για παράδειγμα στον πίνακα [AdiesDikeomaP] ορίζεις τα πεδία [ID_dikeomaadiasP], [kod_prosopiko_dikeomaadiasP], και [kod_idosadias_dikeomaadiasP] ως σύνθετο πρωτεύον κλειδί μολονότι το πεδίο [ID_dikeomaadiasP] είναι αυτόματης αρίθμησης (παίρνει μοναδικές τιμές).

Υπάρχουν στοιχεία που αποθηκεύονται σε πολλούς πίνακες, όπως το είδος και η τιμή του είδους των αδειών.

Ο σχεδιασμός δεν αποτρέπει κάποια λάθη, όπως την καταχώρηση αδειών χωρίς να υπάρχει αντίστοιχο δικαίωμα.

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

Σε μια πρώτη προσέγγιση (δε γνωρίζω το είδος των αδειών και τις ιδιαιτερότητές τους) η βάση δεδομένων πρέπει να έχει:

1) Ένα πίνακα για την καταχώρηση των στοιχείων του προσωπικού (πχ Prosopiko_p με πρωτεύον κλειδί ID_prosopiko_p).

2) Ένα πίνακα για την καταχώρηση των τύπων των αδειών (πχ IdosAdiasP με πρωτεύον κλειδί το πεδίο ID_Idos).

3) Ένα πίνακα για την καταχώρηση των δικαιούμενων αδειών κάθε εργαζόμενου (πχ DikeomaAdiesP).

Εδώ πρέπει να υπάρχουν τα πεδία:
  • Ένα για την καταχώρηση του κωδικού του εργαζόμενου (ξένο κλειδί) πχ ID_prosopiko_D.
  • Ένα για την καταχώρηση του κωδικού του είδους της άδειας (ξένο κλειδί) πχ ID_Idos.
  • Ένα για την καταχώρηση του έτους πχ Etos_D.
Ο συνδυασμός αυτών των πεδίων παίρνει μοναδικές τιμές, γι’ αυτό ορίζεται ως πρωτεύον κλειδί.

Έτσι η ίδια η access δεν επιτρέπει να έχουμε για το ίδιο έτος, εργαζόμενο και είδος άδειας, πολλές καταχωρήσεις (εγγραφές).
  • Σκέφτηκα επίσης ότι εδώ πρέπει να υπάρχει ένα πεδίο για την καταχώρηση της ημερομηνίας λήξης του δικαιώματος πχ EndAdias.

Μια κανονική άδεια δεν μπορεί να μεταφέρεται επ’ άπειρο.

Νομίζω ότι πρέπει να ληφθεί μέχρι τέλους Μαρτίου του επόμενου έτους. Διαφορετικά χάνεται ή πληρώνεται.

Αν επιτρέπονται μεταφορές, χωρίς όρια, μπορούμε να βάλουμε στο πεδίο αυτό μια μεγάλη τιμή πχ 31/12/9990.

4) Ένας πίνακας για την καταχώρηση των αδειών, που παίρνει το προσωπικό πχ AdiesP.
Αυτός πρέπει να έχει:
  • Ένα πεδίο με μοναδικές τιμές για πρωτεύον κλειδί, πχ IDAdiesP
  • Ένα πεδίο για την καταχώρηση του κωδικού του εργαζόμενου (ξένο κλειδί), πχ KodAdiesP.
  • Ένα πεδίο για την καταχώρηση του κωδικού της άδειας (ξένο κλειδί) πχ IdosAdiesP.
  • Ένα πεδίο για την καταχώρηση του έτους (ξένο κλειδί) πχ EtosAdiesP.
Τα 3 παραπάνω πεδία συνδέουν τον πίνακα με τον πίνακα των δικαιωμάτων DikeomaAdiesP.
  • Τα πεδία για την καταχώρηση του διαστήματος της άδειας πχ ApoAdiesP και EosAdiesP.

Ανάμεσα στους παραπάνω πίνακες υπάρχουν σχέσεις, που, για την αποτροπή σφαλμάτων, θα πρέπει να οριστούν.
  • Ο πίνακας Prosopiko_p έχει μια σχέση 1 προς πολλά με τον DikeomaAdiesP.
  • Ο πίνακας IdosAdiasP έχει μια σχέση 1 προς πολλά με τον DikeomaAdiesP.
  • Ο πίνακας DikeomaAdiesP έχει μια σχέση 1 προς πολλά με τον AdiesP

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

Η φόρμα ProsopikoF βοηθάει στην καταχώρηση των δικαιούμενων αδειών και αποτρέπει την καταχώρηση δικαιωμάτων για μη υπάρχοντες εργαζόμενους και μη υπάρχοντα είδη αδειών.

Η φόρμα DikeomaAdiesF βοηθάει στην καταχώρηση των αδειών κάθε εργαζόμενου σε αντιστοιχία με τις δικαιούμενες απ’ αυτόν άδειες.

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

Η ίδια η access δεν επιτρέπει καταχώρηση, αν δεν υπάρχει αντίστοιχο δικαίωμα.

Επίσης με κατάλληλο κώδικα, που υπάρχει στη δευτερεύουσα φόρμα και τα ερωτήματα CheckYpolipoAdionQ και AdiesTomiMeDiastima_Qr αποτρέπεται η καταχώρηση:

1) Αδειών που η χρονική διάρκειά τους είναι και εκτός της λήξης του δικαιώματος.

2) Αδειών που η διάρκειά τους είναι μεγαλύτερη από το υπόλοιπο.

3) Αδειών για τον ίδιο εργαζόμενο που τα διαστήματά τους τέμνονται.

Σταύρο ελπίζω να μη έγινα φλύαρος και να βοήθησα στο σωστό στήσιμο της βάσης σου.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb Adies2003.mdb (524,0 KB, 143 εμφανίσεις)
Απάντηση με παράθεση
  #7  
Παλιά 09-12-12, 09:11
Το avatar του χρήστη stavross
Όνομα: ΣΤΑΥΡΟΣ
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 27-10-2012
Μηνύματα: 92
Προεπιλογή

Γιώργο καλά το είπα για τις τελευταίες πινελιές. Προσπαθώ να καταλάβω το σκεπτικό της ζωγραφικής σου και τα ξαναλέμε
Μένω υπόχρεος για την μεγάλη βοήθειά σου
Απάντηση με παράθεση
Απάντηση στο θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
Εφαρμογή Access - (Υπηρεσίες - Αδειες - ...) Meteora Access - Ερωτήσεις / Απαντήσεις 43 19-04-16 07:00
Άδειες και ημερομίσθια - βοήθεια stavross Access - Ερωτήσεις / Απαντήσεις 11 09-11-12 14:01


Η ώρα είναι 05:18.