Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Εφαρμογή Access - (Υπηρεσίες - Αδειες - ...)

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 10-12-10, 14:56
Όνομα: Ανδρέας
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 06-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 17
Προεπιλογή

Γεια σε όλους τους συνομιλητές του θέματος,

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

Αγαπητέ Χρήστο (Free_Ghost) στο τελευταίο σου μήνυμα διατυπώνεις τους κανόνες του μοντέλου.

Παράθεση:
4) Μιλάμε για ημερήσιους και όχι για βάρδια..
Δηλαδή τα 1,2,3 ισχύουν μόνο για ημερησίους;
Πως είναι οι κανόνες για τη βάρδια;

Επιπλέον έχω τις ακόλουθες ερωτήσεις:
  • Καινούργια χρονιά, καινούργια βάση δεδομένων;
  • Υπάρχει περίπτωση σε κάποιον να αλλάξει από «ημερήσιος» σε «βάρδια» ή αντίθετα στα μέσα της χρονιάς;
  • Τι γίνεται στην περίπτωση που κάποιος δεν πήρε όλη την άδεια που δικαιούται σε μια χρονιά; Περνάει το υπόλοιπο της άδειας στην επόμενη χρονιά;
Μήπως θα βοηθούσε περισσότερο αν δημιουργούσες έναν καινούργιο πίνακα με στήλες
Πίνακας Ρυθμίσεις Προσωπικού : «μητρώο», «από», «έως», «ημερήσιος/βάρδια», «δικαιούται(μέρες)»;
Έτσι θα μπορούσες για τον ίδιο αριθμό μητρώου να διατυπώνεις περισσότερα χρονικά διαστήματα (από/έως), για τα οποία κάθε φορά μπορείς ρυθμίσεις τυχόν αλλαγές στις δυο τελευταίες στήλες.

Για να είναι α βάση δεδομένων ανεξάρτητη ως προς τη χρονιά, οι στήλες (από/ έως) θα πρέπει να είναι τύπου DateTime. Όταν αναφέρεσαι π.χ. για ολόκληρο το 2010, τότε βάζεις από:1/1/2010 έως:31/12/2010.Όμως δε σε εμποδίζει τίποτα να θέσεις και από:1/6/2010 έως:1/2/2011 !!

Μια ιδέα είναι.

Φιλικά
Ανδρέας
Απάντηση με παράθεση
  #2  
Παλιά 10-12-10, 16:32
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα στην παρέα

Χρήστο, αν κατάλαβα καλά, θα ήθελες μία συνάρτηση που θα υπολογίζει τις μέρες των ημιαργιών, που δε θα μετρούν σα μέρες κανονικής άδειας.
Αν υποθέσουμε ότι ένας εργαζόμενος απουσιάζει, λόγω κανονικής άδειας, από την ημερομηνία D1 μέχρι τη D2, συμπεριλαμβανομένων, για τον υπολογισμό των ημερών που θα χρεωθούν ως κανονική άδεια θα έχουμε:
  • Μέρες απουσίας: Ms=D2-D1+1.
  • Μέρες αργιών (γιορτών Κυριακών, κλπ): Mk.
  • Μέρες ημιαργιών που θεωρούνται αργίες: Μa.
  • Μέρες που χρεώνονται ως κανονική άδεια: Ms-Mk-Ma
Για τον προσδιορισμό της Ma, στηριζόμενος στα στοιχεία που έδωσες, έγραψα μία συνάρτηση, που παραθέτω παρακάτω.
Κώδικας:
Public Function ArgiesApoHmiargies(D1 As Variant, _
        D2 As Variant) As Integer
        
    Dim dte(3) As Date
    Dim i As Integer, x As Integer

    'Αν υπάρχουν τιμές null
    If IsNull(D1) Or IsNull(D2) Then Exit Function
    
    'Αρχική τιμή συνάρτησης
    ArgiesApoHmiargies= 0

    'Ημερομηνίες ημιαργιών. Αν τα έτη έναρξης και λήξης της απουσίας
    'δεν είναι ίδια (πχ 2010, 2011) και στο διάστημα απουσίας που εμπίπτει
    'στο μεγαλύτερο έτος (2011) υπάρχουν ημιαργίες τα αποτελέσματα δεν είναι
    'σωστά. Την περίπτωση αυτή, για τις κανονικές αδειες, τη θεώρησα αδύνατη.
    dte(0) = DateSerial(Year(D1), 3, 24)
    dte(1) = DateSerial(Year(D1), 10, 27)
    dte(2) = DateSerial(Year(D1), 12, 24)
    dte(3) = DateSerial(Year(D1), 12, 31)
        
    '1. Η άδεια είναι μικρότερη από 3 μέρες
    If D2 - D1 + 1 < 3 Then Exit Function
    
    '2. Περιέχονται δύο ημιαργίες (περιλαμβάνονται και τα όρια του διαστήματος απουσίας)
    x = 0
    For i = 0 To 3
        If D1 <= dte(i) And dte(i) <= D2 Then x = x + 1
    Next
    If x > 1 Then
        ArgiesApoHmiargies= 1
        Exit Function
    End If
    
    '3. Η ημιαργία περιέχεται στα όρια του διαστήματος της απουσίας (χωρίς να περιλαμβάνονται)
    For i = 0 To 3
        If D1 < dte(i) And dte(i) < D2 Then
            ArgiesApoHmiargies= 1
            Exit For
        End If
    Next

End Function
Θα πρέπει να την αντιγράψεις και να δοκιμάσεις , όλες τις περιπτώσεις που έχεις, για να δεις αν σε καλύπτει, αλλά και για να δοκιμαστεί η ακρίβεια του κώδικα.
Φυσικά θα πρέπει να λάβεις υπόψη σου και τις εύστοχες επισημάνσεις του Ανδρέα.

Φιλικά/Γιώργος
ΥΓ Φίλε Ανδρέα καλωσόρισες στο φόρουμ .

Τελευταία επεξεργασία από το χρήστη kapetang : 10-12-10 στις 16:53. Αιτία: διόρθωση ονόματος συνάρτησης σε ArgiesApoHmiargies
Απάντηση με παράθεση
  #3  
Παλιά 10-12-10, 18:08
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-01-2010
Περιοχή: Φλώρινα
Μηνύματα: 164
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από officeandi Εμφάνιση μηνυμάτων
Γεια σε όλους τους συνομιλητές του θέματος,
Δηλαδή τα 1,2,3 ισχύουν μόνο για ημερησίους;
Πως είναι οι κανόνες για τη βάρδια;
Ανδρέας
Γεια σου Ανδρέα..
Στην βάρδια δεν ισχύει τίποτα από όλα αυτά διότι κάθε μέρα άσχετα το τη είναι (Αργία ημιαργία, Κυριακή) την χρεώνεσαι..

(εάν ήταν όλοι βάρδια θα ήταν εύκολη περίπτωση ακόμη και για εμένα...)

Παράθεση:
Αρχική Δημοσίευση από officeandi Εμφάνιση μηνυμάτων
Γεια σε όλους τους συνομιλητές του θέματος,[*]Καινούργια χρονιά, καινούργια βάση δεδομένων;
Ανδρέας
Ακριβώς αυτό που λες κάθε χρονιά και μία βάση..

Παράθεση:
Αρχική Δημοσίευση από officeandi Εμφάνιση μηνυμάτων
Γεια σε όλους τους συνομιλητές του θέματος,[*]Υπάρχει περίπτωση σε κάποιον να αλλάξει από «ημερήσιος» σε «βάρδια» ή αντίθετα στα μέσα της χρονιάς;
Ανδρέας
Ναι υπάρχει, αν και είναι σπάνιο φαινόμενο, τότε θα το αντιμετωπίσω με σημείωση στις παρατηρήσεις...

Παράθεση:
Αρχική Δημοσίευση από officeandi Εμφάνιση μηνυμάτων
Γεια σε όλους τους συνομιλητές του θέματος,[*]Τι γίνεται στην περίπτωση που κάποιος δεν πήρε όλη την άδεια που δικαιούται σε μια χρονιά; Περνάει το υπόλοιπο της άδειας στην επόμενη χρονιά;
Ανδρέας
Ναι περνάει στην επόμενη χρονιά με ένα περιθώριο δηλαδή η άδεια του 2010 πρέπει οπωσδήποτε να ξεκινάει μέσα στο 2010 δηλαδή το αργότερο 31/12/2010 και πρέπει να τελειώνει εώς και 18/01/2011 ..

Δηλαδή δεν μπορεί να έχει αφήσει όλη του την άδεια για το τέλος..

Παράθεση:
Αρχική Δημοσίευση από officeandi Εμφάνιση μηνυμάτων
Γεια σε όλους τους συνομιλητές του θέματος,
Μήπως θα βοηθούσε περισσότερο αν δημιουργούσες έναν καινούργιο πίνακα με στήλες
Πίνακας Ρυθμίσεις Προσωπικού : «μητρώο», «από», «έως», «ημερήσιος/βάρδια», «δικαιούται(μέρες)»;
Έτσι θα μπορούσες για τον ίδιο αριθμό μητρώου να διατυπώνεις περισσότερα χρονικά διαστήματα (από/έως), για τα οποία κάθε φορά μπορείς ρυθμίσεις τυχόν αλλαγές στις δυο τελευταίες στήλες.
Ανδρέας
Ανδρέα δεν μπορώ ακριβώς να καταλάβω τη εννοείς, διότι το «ημερήσιος/βάρδια»,το έχω στο πίνακα prosopiko όπως και το «δικαιούται(μέρες)», και ως προς τα διαστήματα μπορούν να είναι άπειρα θεωρητικά διότι η υποφόρμα όπου τα εισάγουμε είναι συνεχείς..

Παράθεση:
Αρχική Δημοσίευση από officeandi Εμφάνιση μηνυμάτων
Γεια σε όλους τους συνομιλητές του θέματος,
Για να είναι α βάση δεδομένων ανεξάρτητη ως προς τη χρονιά, οι στήλες (από/ έως) θα πρέπει να είναι τύπου DateTime. Όταν αναφέρεσαι π.χ. για ολόκληρο το 2010, τότε βάζεις από:1/1/2010 έως:31/12/2010.Όμως δε σε εμποδίζει τίποτα να θέσεις και από:1/6/2010 έως:1/2/2011 !!
Ανδρέας
Το μόνο που με εμποδίζει είναι ότι στην στήλη δικαιούται θα δείξει αρνητικό νούμερο, διότι δεν έχω ολοκληρώσει, τους υπολογισμούς για το μέτρημα, κόλλησα σε κάτι φαινομενικά απλό ..

Σε ένα απλό ερώτημα θέλω να μου εμφανίζει μια (Eκφρ1) εικονικό πεδίο το οποίο θέλω να παίρνει τιμή ανάλογα με το τη περιέχει το πεδίο ΑΛΦΑ…
Π.χ. Eφόσον το πεδίο ΑΛΦΑ έχει τιμή Α τότε το εικονικό πεδίο να εμφανίζει την τιμή που έχει το πεδίο ΒΗΤΑ διαφορετικά να μου εμφανίζει την τιμή του πεδίου ΓΑΜΑ..


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



Παράθεση:
Αρχική Δημοσίευση από kapetang Εμφάνιση μηνυμάτων
Καλησπέρα στην παρέα
Χρήστο, αν κατάλαβα καλά, θα ήθελες μία συνάρτηση που θα υπολογίζει τις μέρες των ημιαργιών, που δε θα μετρούν σα μέρες κανονικής άδειας.
ΥΓ Φίλε Ανδρέα καλωσόρισες στο φόρουμ .
Γειά σου φίλε Γιώργο..
Ακριβώς αυτό που λές Γιώργο..

Παράθεση:
Αρχική Δημοσίευση από kapetang Εμφάνιση μηνυμάτων
Καλησπέρα στην παρέα
Αν υποθέσουμε ότι ένας εργαζόμενος απουσιάζει, λόγω κανονικής άδειας, από την ημερομηνία D1 μέχρι τη D2, συμπεριλαμβανομένων, για τον υπολογισμό των ημερών που θα χρεωθούν ως κανονική άδεια θα έχουμε:[LIST][*]Μέρες απουσίας: Ms=D2-D1+1.[*]Μέρες αργιών (γιορτών Κυριακών, κλπ): Mk.[*]Μέρες ημιαργιών που θεωρούνται αργίες: Μa.[*]Μέρες που χρεώνονται ως κανονική άδεια: Ms-Mk-Ma
ΥΓ Φίλε Ανδρέα καλωσόρισες στο φόρουμ .
Σωστά με αποπροσανατόλισε το +1 αλλά τέλος το κατάλαβα…

Παράθεση:
Αρχική Δημοσίευση από kapetang Εμφάνιση μηνυμάτων
Καλησπέρα στην παρέα
Θα πρέπει να την αντιγράψεις και να δοκιμάσεις , όλες τις περιπτώσεις που έχεις, για να δεις αν σε καλύπτει, αλλά και για να δοκιμαστεί η ακρίβεια του κώδικα.
Φιλικά/Γιώργος
ΥΓ Φίλε Ανδρέα καλωσόρισες στο φόρουμ .
Θα το δοκιμάσω φίλε μου αρκεί να το αντιγράψω στην σωστή θέση
Απάντηση με παράθεση
  #4  
Παλιά 10-12-10, 21:16
Όνομα: Ανδρέας
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 06-12-2010
Περιοχή: Θεσσαλονίκη
Μηνύματα: 17
Προεπιλογή

Αγαπτέ Χρήστο,

έχεις τη δυνατότητα να ανοίξεις αρχεία PowerPoint;

Ανδρέας
Απάντηση με παράθεση
  #5  
Παλιά 10-12-10, 21:54
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα στην παρέα

Χρήστο, στη ΒΔ που ανέβασες πρόσθεσα μία φόρμα στην οποία μπορείς να δοκιμάσεις τις συναρτήσεις.
Συγκεκριμένα συμπληρώνεις την ημερομηνία έναρξης της απουσίας και την ημερομηνία τέλους και πατάς το «tab», για να πάρεις τα αποτελέσματα.
Έτσι θα μπορέσεις να σχηματίσεις μια ιδέα για τον τρόπο που χρησιμοποιούνται οι συναρτήσεις και να τις δοκιμάσεις.
Τα αποτελέσματα που θα πάρεις πολύ πιθανόν να μη είναι αυτά που ακριβώς θέλεις.
Ο Τάσος έβαλε κάποιες αργίες που μπορεί στη επιχείρηση που δουλεύεις να μη είναι ή να είναι ημιαργίες. Επίσης τι γίνεται με τα Σάββατα.
Τροποποίησα λίγο τον κώδικα για να μη λαμβάνονται υπόψη οι ημιαργίες όταν συμπίπτουν με Κυριακή.
Τα παραπάνω αντιμετωπίζουν αποσπασματικά το πρόβλημά σου και απλά διευκολύνουν την κατανόησή του. Το βασικό είναι η σωστή δόμηση της βάσης, σύμφωνα και με τις επισημάνσεις του Ανδρέα.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb Κανονικές_TestNew.mdb (364,0 KB, 116 εμφανίσεις)
Απάντηση με παράθεση
  #6  
Παλιά 10-12-10, 21:58
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-01-2010
Περιοχή: Φλώρινα
Μηνύματα: 164
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Free_Ghost Εμφάνιση μηνυμάτων
Γεια σου Ανδρέα..

Σε ένα απλό ερώτημα θέλω να μου εμφανίζει μια (Eκφρ1) εικονικό πεδίο το οποίο θέλω να παίρνει τιμή ανάλογα με το τη περιέχει το πεδίο ΑΛΦΑ…
Π.χ. Eφόσον το πεδίο ΑΛΦΑ έχει τιμή Α τότε το εικονικό πεδίο να εμφανίζει την τιμή που έχει το πεδίο ΒΗΤΑ διαφορετικά να μου εμφανίζει την τιμή του πεδίου ΓΑΜΑ..


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

Παράδειγμα :
Eκφρ1: IIf([¨Όνομα Πίνακα]![ΑΛΦΑ]="Α";[Όνομα Πίνακα]![ ΒΗΤΑ];[ Όνομα Πίνακα]![ ΓΑΜΑ])

Όσο για το δεύτερο προβλημα το Stop θα μεγαλώσω που θα πάει...

Υ.Γ._1 Γιώργο αυτό ακόμη δεν μπόρεσα να το ελέγξω μια και με προβληματίζει η επικόλληση και από την άλλη με παίδευε το πρόβλημα που ανέφερα παραπάνω αλλά το έλυσα..
Y.Γ._2 Φυσικά και μπορώ να τα ανοίξω Ανδρέα..

Τά λέμε αύριο φίλοι μου...

Υ.Γ._3 Γιώργο ενώ έγραψα το μήνυμα μου, κατόπιν από πάνω ξεφύτρωσε το δικό σου το οποίο δεν είχα ειδή.. (συγγνώμη) αλλά Θα το ειδώ αύριο διότι ήπια και ένα μπουκαλάκι κρασί τώρα...
Απάντηση με παράθεση
  #7  
Παλιά 11-12-10, 07:47
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-01-2010
Περιοχή: Φλώρινα
Μηνύματα: 164
Προεπιλογή

Καλημέρα σε όλους τους φίλους..

Γιώργο δούλεψα αρκετά το τέστ που εφάρμοσες και μου έβγαλε λάθος μόνο ένα σημείο ..

Έβαλα άδεια από 22/09/2009 έως 28/09/2009 και μου εμφανίζει 3 ημέρες.
Eδώ είναι ένα από τα παράλογα (που ακόμη και πολλοί συνάδελφοι δεν μπορούν να καταλάβουν) δεν υπάρχει περίπτωση η άδεια να τελειώνει 28/12/2009 ..

Διότι εάν ξεκινάει 22/12/2009 και είναι 3 ημέρες το τέλος της θα συμπίπτει με την 24/12/2010 και αυτό διότι για να κερδίζει την ημιαργία είπαμε δεν πρέπει να αρχίζει και να τελειώνει σε αυτήν με 3 μέρες έχουμε λοιπόν 22,23,24 και τελείωσε…

Εάν όμως ξεκινήσει 23 τότε κερδίζει 24 κατόπιν πάει 28 και 29…
Δεδομένου πώς 25,26,27 είναι Κυριακή και αργία..

Λόγω αυτού του προβλήματος κατήργησα την μία καρτέλα του τάσου όπου έβαζες απο ημερομηνία και κατόπιν τον αριθμό των ημερών , τελικά μήπως ήταν προτιμότερο…

Σε όλες τις άλλες περιπτώσεις δούλεψε σωστά.
Τού λείπη η σύνδεση η πρέπει να εφαρμοστή στην κυρίως Φόρμα..

Τελικά μήπως θα διευκόλυνε η έκδοση με τις δύο καρτέλες του Τάσου..
Που έλεγς απο Ημερομηνία και τέλος Ημέρες..
Την Επισυνάπτω..

Υ.Γ. πάντως γιώργο ακόμη και με αυτό το μοναδικό λάθος προτιμώ την έκδοση σου απο την δικιά μου (Του Τάσου δηλαδή) αρκεί να δουλέψει απο την κυρίως φόρμα..

Συνημμένα Αρχεία
Τύπος Αρχείου: zip Kanonikes_me_Hmeres.zip (37,0 KB, 98 εμφανίσεις)
Απάντηση με παράθεση
  #8  
Παλιά 11-12-10, 10:39
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα στην παρέα

Χρήστο, γράφεις 22/9/2009 έως 28/9/2009, αλλά μάλλον εννοείς 22/12/2009 έως 28/12/2009.
Το αποτέλεσμα που πήρες είναι σύμφωνο με τη λογική, που χρησιμοποίησα για τη δόμηση της συνάρτησης. Για το παράδειγμά σου είναι η εξής:
Ο εργαζόμενος ζητάει από την υπηρεσία του να λείψει με κανονική άδεια από τις 22/12/2009 έως 28/12/2009 (συμπεριλαμβάνονται οι 22 και 28), δηλαδή για 7 μέρες.
  • Η υπηρεσία την εγκρίνει και στη συνέχεια υπολογίζει τις μέρες κανονικής που θα χρεωθούν.
  • Έχουμε 3 αργίες (25,26, 27).
  • Έχουμε 1 ημιαργία (24/12) που γίνεται αργία γιατί είναι ανάμεσα στις 22 και 28.
Συνεπώς χρεώνονται 3 μέρες (22, 23, 28).
Πιθανόν να θέλεις διαφορετικό τρόπο υπολογισμού.
Υπάρχει και ένα ερώτημα τι γίνεται με τις ημιαργίες που μπορεί να συμπέσουν με Σάββατο ή Κυριακή;

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #9  
Παλιά 11-12-10, 12:34
Όνομα: Χρήστος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 24-01-2010
Περιοχή: Φλώρινα
Μηνύματα: 164
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από kapetang Εμφάνιση μηνυμάτων
Καλημέρα στην παρέα
Χρήστο, γράφεις 22/9/2009 έως 28/9/2009, αλλά μάλλον εννοείς 22/12/2009 έως 28/12/2009.
Φιλικά/Γιώργος
Σωστά τα λες για δωδέκατο εννοούσα

Παράθεση:
Αρχική Δημοσίευση από kapetang Εμφάνιση μηνυμάτων
Καλημέρα στην παρέα
Ο εργαζόμενος ζητάει από την υπηρεσία του να λείψει με κανονική άδεια από τις 22/12/2009 έως 28/12/2009 (συμπεριλαμβάνονται οι 22 και 28), δηλαδή για 7 μέρες.
Φιλικά/Γιώργος
Εδώ είναι το πρόβλημα μισθωτός που κερδίζει την ημιαργία δεν υπάρχει περίπτωση να τελειώσει 28 και γιατί το λέω, [22 - 1 ημέρα] [23 – 2 ημέρα ] [επομένως 24-3 ημέρα ] τελειώνει εκεί, πάλι εάν ζητήσει και 4 ημέρα τότε αυτόματα κερδίζει την ημιαργία 24 (διότι δεν τελειώνει η άδεια πάνω στην ημιαργία) και έχουμε [28 – 3 ημέρα] & [29 – 4 ημέρα]…

Για αυτό είπα μήπως πρέπει να χρησιμοποιήσω την έκδοση όπου βάζεις ημερομηνία εκκίνησης και κατόπιν ημέρες..
Γιατί έτσι θα έβαζα 22/12/2009 – 3 ημέρες και θα το πήγαινε εώς 24/12/2009
Η θα έβαζα 22/12/2009 – 4 ημέρες και θα το πήγαινε εώς 29/12/2009


Παράθεση:
Αρχική Δημοσίευση από kapetang Εμφάνιση μηνυμάτων
Καλημέρα στην παρέα
Υπάρχει και ένα ερώτημα τι γίνεται με τις ημιαργίες που μπορεί να συμπέσουν με Σάββατο ή Κυριακή;
Φιλικά/Γιώργος
Ο Ημερήσιος Σάββατο Κυριακή πάντα τις κερδίζει επομένως εάν η ημιαργία πέφτει αυτές της ημέρες πάντα κερδίζεται όπως ένα Σαββατοκύριακο…

Υ.Γ. Υπάρχει κάτι μαζεμένο να διαβάσω για module και Συναρτήσεις, γιατι μου φαίνεται πώς είναι η καρδιά σε δύσκολες καταστάσεις..
Απάντηση με παράθεση
  #10  
Παλιά 11-12-10, 14:23
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα στην παρέα

Χρήστο, το πρόβλημα των αδειών μπορεί να διατυπωθεί με δύο τρόπους:
1. Ο εργαζόμενος ζητάει να λείψει από την ημερομηνία D1 έως την D2, δηλαδή D2-D1+1 μέρες. Εδώ το ζητούμενο είναι ο προσδιορισμός των ημερών (M) που θα χρεωθούν ως κανονική άδεια (M=μέρες απουσίας - σαββατοκύριακα - αργίες - ημιαργίες).
2. Ο εργαζόμενος ζητάει να χρεωθεί (Μ) μέρες κανονική άδεια που θα αρχίσει από την ημερομηνία D1. Εδώ το ζητούμενο είναι ο προσδιορισμός της ημερομηνίας D2 που θα λήξει η απουσία του (D2=D1-1 + σαββατοκύριακα + αργίες + ημιαργίες).
Από τα γραφόμενά σου κατάλαβα ότι η υπηρεσία σου (επιχείρηση) εφαρμόζει τον δεύτερο τρόπο.
Στην περίπτωση αυτή θα πρέπει:
  • Να προσαρμόσεις τον πίνακα των αδειών αντικαθιστώντας το πεδίου της ημερομηνίας λήξης της απουσίας, με ένα πεδίο με τον αριθμό των ημερών της κανονικής άδειας.
  • Να προσαρμοστούν οι συναρτήσεις ώστε τα ορίσματα εισόδου να είναι η ημερομηνία έναρξης της άδειας και ο αριθμός των ημερών κανονικής άδειας και τα αποτελέσματά τους να διευκολύνουν τον υπολογισμό της ημερομηνίας λήξης της απουσίας (D2).
Για τη δημιουργία μιας συνάντησης απαιτείται η γνώση κώδικα VBA. Βιβλία υπάρχουν.
Πάντως, κατά τη γνώμη μου, προηγείται η γνώση της σωστής σχεδίασης της βάσης δεδομένων (πίνακες, πρωτεύοντα κλειδιά, σχέσεις, ευρετήρια), των ερωτημάτων, των φορμών και των εκθέσεων.
Για να δεις κάπως τη σημασία τους επισυνάπτω ένα πρόχειρο δείγμα ΒΔ, το οποίο στηρίζεται στον πρώτο τρόπο χειρισμού των κανονικών αδειών, που μάλλον δεν είναι συμβατός με τον τρόπο χειρισμού των αδειών από την υπηρεσία σου.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb DiaxeirisiAdiwn.mdb (352,0 KB, 108 εμφανίσεις)
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[Γενικά] Πρόγραμμα για Υπηρεσίες Στρατού tasoslamprinos Excel - Ερωτήσεις / Απαντήσεις 2 10-11-15 11:57
Προβολή access σαν εφαρμογή teo1976 Access - Ερωτήσεις / Απαντήσεις 3 24-04-14 12:08
Εφαρμογή (Ι) για όσους ξεκινούν Access & VBA Meteora Access - Ερωτήσεις / Απαντήσεις 2 14-12-09 01:30
Εφαρμογή Ημερολογίου σε Access Ms-Office-Development Team Access samples - Χρήσιμα αρχεία & παραδείγματα 0 11-11-09 09:33
Εφαρμογή Ημερολογίου σε Access kon73 Access - Ερωτήσεις / Απαντήσεις 0 15-01-09 12:18


Η ώρα είναι 15:58.