Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Ερωτήματα ] Αναγωγή και υπολογισμός μέρες σε μήνες και μήνες σε έτος (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/2911-anagogi-kai-ypologismos-meres-se-mines-kai-mines-se-etos.html)

Dafnh0106 09-01-14 20:11

Αναγωγή και υπολογισμός μέρες σε μήνες και μήνες σε έτος
 
Καλησπέρα και καλη Χρονιά στο forum

Eχω το εξης ερώτημα: σε ενα πινακα εχω 3 πεδία ξεχωριστα ετη, μηνες,μέρες πχ



Α. 8 (ετη) 25 (μηνες) 80(μέρες)

Β. 12 (έτη) 15 (μήνες) 42 (μέρες)

Γ. 0(ετη) 13(μηνες) 35(μέρες)


διευκρινηση : εχω 3 πεδία numeric
P1 = ΕΤΗ
Ρ2= ΜΗΝΕΣ
Ρ3 = ΜΕΡΕΣ

Παραδοχή : το ετος εχει 365 μερες

Θα ήθελα να φτιαξω ενα ερωτημα ( θα το χρησιμοποιω σαν procedure) ετσι ώστε
τους μηνες να τους αναγάγω σε ετη πχ 25 μηνες να προστεθουν στα 8(ετη)
και οι 80(μερες) να γινουν μηνες και να προστεθουν στους μηνες και στα ετη αν συμπληρωνουν ετος.

Σας ευχαριστω εκ των προτερων
με εκτιμηση
Δάφνη Β. :)

Tasos 09-01-14 20:44

Καλησπέρα!

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

Με εκτίμηση

Τάσος

alex 09-01-14 21:09

Δάφνη καλησπέρα!!!!

Αντέγραψε τον κώδικα του ερωτήματος πιστεύω ότι είναι αυτό που ζητάς.Από αυτό το ερώτημα πάρε τις 3 συναρτήσεις από τα χρόνια , τους μήνες , και τις ημέρες.Αν δεν το καταφέρεις αναφερέ μου να κάνω κάτι άλλο.
Κώδικας:

SELECT Tblypiresia.ID, Tblypiresia.ΕΠΩΝΥΜΟ, Tblypiresia.ΟΝΟΜΑ, Tblypiresia.NameSchool, Tblypiresia.Thesi,
Tblypiresia.StartDate, Tblypiresia.EndDate, IIf([StartDate] Is Null Or [EndDate] Is Null,"",
DateDiff("yyyy",[StartDate],[EndDate])-IIf(Format([StartDate],"mmdd")>Format([EndDate],"mmdd"),1,0)) AS ΧΡΟΝΙΑ,
IIf([StartDate] Is Null Or [EndDate] Is Null,"",IIf(Day([StartDate])<=Day([EndDate]),DateDiff("m",[StartDate],
[EndDate])-[ETH]*12,DateDiff("m",[StartDate],[EndDate])-[ETH]*12-1)) AS MHNEΣ, IIf([StartDate] Is Null Or
EndDate] Is Null,"",DateDiff("d",DateAdd("m",[MHNES],DateAdd("yyyy",[ETH],[StartDate])),[EndDate])) AS
HMEPEΣ, Tblypiresia.DegreeText AS Eκφρ8, IIf([StartDate] Is Null Or [EndDate] Is Null,"",
DateDiff("yyyy",[StartDate],[EndDate])-IIf(Format([StartDate],"mmdd")>Format([EndDate],"mmdd"),1,0)) AS ETH,
 IIf([StartDate] Is Null Or [EndDate] Is Null,"",IIf(Day([StartDate])<=Day([EndDate]),DateDiff("m",[StartDate],
[EndDate])-[ETH]*12,DateDiff("m",[StartDate],[EndDate])-[ETH]*12-1)) AS MHNES, IIf([StartDate] Is Null Or
[EndDate] Is Null,"",DateDiff("d",DateAdd("m",[MHNES],DateAdd("yyyy",[ETH],[StartDate])),[EndDate])) AS HMEPES,
(([ETH]/1*[Degree])+([MHNES]/12*[Degree])+ ([HMEPES]/365*[Degree])) AS Moriodotisi
FROM ([ΠΙΝΑΚΑΣ ΕΚΠΑΙΔΕΥΤΙΚΩΝ] INNER JOIN Tblypiresia ON [ΠΙΝΑΚΑΣ ΕΚΠΑΙΔΕΥΤΙΚΩΝ].ΕΠΩΝΥΜΟ =
Tblypiresia.ΕΠΩΝΥΜΟ) INNER JOIN TblDegrees_T ON Tblypiresia.DegreeText = TblDegrees_T.DegreeText;


Dafnh0106 10-01-14 09:03

καλημερα Αλέξανδρε ευχαριστω πολύ για την βοηθεια αλλα δεν μπορω να το προσαρμοσω στο δικο μου , εχω μπερδευτει λιγακι με το start date - end date

Τα πεδία μου ειναι 3 και ειναι numeric

ο καθε μισθωτος εχει συνολικό αριθμό ετων ,μηνων ,ημερών που θελω να τις κανω αντοιστοιχα μηνες ετη ότι περισσευει....πχ αν καποιος εχει 8 ετη 23 μηνες 35 μερες θα ήθελα να γινουν : 5 μερες , 0 μηνες , 10 ετη


με εκτιμηση

Δαφνη Β.

kapetang 10-01-14 09:50

1 Συνημμένο(α)
Καλημέρα στην παρέα

Δάφνη, το παρακάτω ερώτημα σε μορφή SQL δίνει τοζητούμενο.

Κώδικας:

SELECT Table1.ID, Table1.P1, Table1.P2, Table1.P3, nz([p1],0)+(nz([p2],0)+nz([p3],0)\30)\12 AS Eti, (nz([p2],0)+
nz([p3],0)\30) Mod 12 AS Mines, nz([p3]) Mod 30 AS Meres
FROM Table1;

Στο ερώτημα:

1) Table1 είναι ο πίνακας με τα δεδομένα

2) ID το πρωτεύον κλειδί του πίνακα και P1, P2, P3 τα πεδία στα οποία αποθηκεύονται τα έτη , οι μήνες και οι μέρες αντίστοιχα.

Δες και το συνημμένο αρχείο.

Γιώργος

Dafnh0106 10-01-14 10:17

Καλημέρα Γιώργο
ευχαριστω πολυ για τη βοηθεια αυτο ήθελα

με εκτιμηση

Δαφνη Β.

Χρήστος 10-01-14 11:39

Καλημέρα
Μια ακόμη λύση...

Dafnh0106 10-01-14 12:41

Καλησπέρα στο forum

Σ ευχαριστω πολυ για τη βοηθεια Xρήστο

πολυ ωραια η λυση και με module

με εκτιμηση

Δαφνη Β.


Η ώρα είναι 02:57.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2