23-10-12, 16:57
|
| Διαχειριστής Όνομα: Τάσος Φιλοξενιδης Έκδοση λογισμικού Office: Ms-Office 365 Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική | | Εγγραφή: 21-10-2009
Μηνύματα: 2.010
| |
Καλησπέρα σε όλους!
Μια παρατήρηση σχετικά με τον τρόπο εύρεσης συμπληρωμένων ετών ανάμεσα σε 2 ημερομηνίες:
Έστω ότι HireDate = 31/12/2011
Με βάση την παραπάνω ημερομηνία και τη σημερινή (23/10/2012), δεν έχει κλείσει ακόμα το πρώτο έτος.
Ο τύπος: Year(Date())-Year([HireDate]) επιστρέφει 1 ενώ έπρεπε να επιστρέψει 0
Ο τύπος: DateDiff("yyyy";[HireDate];Date()) επιστρέφει 1 ενώ έπρεπε να επιστρέψει 0
Ο τύπος: DateAdd("yyyy";10;[HireDate]) επιστρέφει την ημερομηνία + 10 έτη
Αν συνδυάσουμε τον τελευταίο τύπο με τον τύπο που υπάρχει παρακάτω, θα χρειαστεί μόνο ένα υπολογισμένο πεδίο στο ερώτημα για να έχουμε ένα αξιόπιστο αποτέλεσμα. Κώδικας: NewSalary: [Salary]*(1+0,1*Abs(DateAdd("yyyy";10;[HireDate])<=Date()))
To <=Date() μπορεί να γίνει <Date() ανάλογα με τις απαιτήσεις της εφαρμογής.
Καλή συνέχεια!
Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών
Τελευταία επεξεργασία από το χρήστη Tasos : 24-10-12 στις 07:40.
|