| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#16
| |||
| |||
|
Καλησπέρα στην παρέα Χρήστο, αν κατάλαβα καλά, θα ήθελες μία συνάρτηση που θα υπολογίζει τις μέρες των ημιαργιών, που δε θα μετρούν σα μέρες κανονικής άδειας. Αν υποθέσουμε ότι ένας εργαζόμενος απουσιάζει, λόγω κανονικής άδειας, από την ημερομηνία D1 μέχρι τη D2, συμπεριλαμβανομένων, για τον υπολογισμό των ημερών που θα χρεωθούν ως κανονική άδεια θα έχουμε:
Κώδικας: 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 |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | 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.



Θεματικός Τρόπος
