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/1598-xronometritis.html)

dimnot 28-01-12 23:12

Χρονομετρητής ....
 
3 Συνημμένο(α)
Καλησπέρα σε όλο το αγαπητό φόρουμ..Μετά από πολύ καιρό θα ήθελα και πάλι τη βοήθειά από τις γνώσεις σας.
Σε κάποια βάση που ανέβηκε στο φόρουμ με την επωνυμία AccDateDiff , και την οποία δυστυχώς δεν θυμάμαι από ποιο post τη κατέβασα, (ζητώ συγγνώμη από τον δημιουργό της), θα ήθελα τη βοήθειά σας. Συγκεκριμένα επειδή πιστεύω ότι ο τρόπος σκέψης και λειτουργίας της θα βοηθούσε πάρα πολύ στην δημιουργία αρχείου για υπολογισμούς διαφορετικών χρονικών περιόδων και ειδικά σε ακριβής υπολογισμούς διάρκειας (π.χ. προϋπηρεσίας, εκπαιδεύσεων κλπ.) - θα ήθελα να μου δείξει κάποιος πως θα μπορούσα να διαμορφώσω την φόρμα προσθέτοντας της πεδία στα οποία θα γίνεται αμέσως πρόσθεση των λεπτομερειών που παίρνω (έτη-μήνες-ημέρες), εικ.2 , και σε όσες εγγραφές θα προσθέσω . Για το σκοπό αυτό την ξανανεβάζω ελαφρά ...μεταλλαγμένη.
Δεν ξέρω αν είναι κάτι εύκολο αυτό που ζητάω και κατα πόσο αυτό θα μπορεί να γίνεται απευθείας στη φόρμα (σε κάποιο άλλο post διάβασα ότι κάτι παρόμοιο μπορεί να γίνει , αλλά σε σελίδα έκθεσης), καθόσον θα πρέπει και αυτόματα να μετατρέπονται σε κανονική μορφή χρόνου (έτος-μήνα-μέρες).
Ευχαριστώ και πάλι όλους στο φόρουμ , ιδιαίτερα δε τον δημιουργό της βάσης αυτής ελπίζοντας ότι δεν έχει αντίρρηση για την χρήση της .

Dimitris Ch 29-01-12 12:31

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

Δεν ξέρω αν κατάλαβα καλά.
Νομίζω το άθροισμα θέλεις.
Δες το και πες μας

dimnot 29-01-12 19:05

1 Συνημμένο(α)
Φίλε Δημήτρη σ' ευχαριστώ για την άμεση απάντηση και σε ευχαριστώ πολύ για την βοήθειά σου. Εν μέρη ήταν αυτό που σκεφτόμουν αρχικά , στη πορεία όμως βλέπω ότι κάτι θέλει ακόμα . Πρέπει με κάποιο τρόπο να "μοιράζεται " το αποτέλεσμα προς αριστερά - ίσως με κάποια εντολή στη VB της φόρμας - υπολογίζοντας το σύνολο των ημερών να σχηματίζουν με τη σειρά μήνες και έτη (έτος - 12 μηνών, μήνας - 30 ημερών..) . Ειλικρινά θά ήθελα να μάθω αν υπάρχει κάποιος τρόπος να γίνεται κάτι τέτοιο.
Όπως και νά 'χει εγώ σ' ευχαριστώ και πάλι.
Δημήτρης
Υ.Γ. Ανεβάζω ένα δείγμα για το πως θα πρέπει να είναι η μορφή του αποτελέσματος που θα δίνει.

kapetang 29-01-12 20:30

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

Δημήτρη, στη ΒΔ που επισυνάπτω τροποποίησα τους τύπους του Δημήτρη, για να δίνουν το ζητούμενο.

Κάνε κάποιες δοκιμές για έλεγχο.

Φιλικά/Γιώργος

dimnot 30-01-12 18:24

1 Συνημμένο(α)
Καλησπέρα σε όλους.
Φίλε Γιώργο σ'ευχαριστώ για την άμεση λύση που μου πρότεινες , αν και κάτι δείχνει να μην λειτουργεί σωστά. Συγκεκριμμένα αν βάλεις πολλές χρονικές περιόδους δείχνει να λειτουργεί σωστά. Αν κάνεις όμως να σβήσεις γραμμές ή να αλλάξεις ημερομηνίες σου δείχνει όπως φαίνεται στη φωτο που ανεβάζω. Ειλικρινά έχω κολλήσει .
Όπως και να έχει εγώ σ'ευχαριστώ και πάλι.
Υ.Γ σκέφτομαι μήπως ΑΝ με κάποιο "κουμπί" ίσως που θα καθάριζε πρώτα όλα τα παιδία πριν κάθε νέα καταχώρηση , και παράλληλα θα "κρατούσε" σταθερές τις εντολές που έχουμε δώσει για να πέρνουμε το σύνολο ....????

Tasos 30-01-12 21:01

Καλησπέρα σε όλους!

Δημήτρη, στην προβολή SQL του ερωτήματος Qry1 πέρασε τον παρακάτω κώδικα SQL και δοκίμασε:

Κώδικας:

SELECT table1.ID, table1.StartDate, table1.EndDate,
IIf(IsDate([StartDate]) And IsDate([EndDate]),DateDiff("yyyy",[StartDate],[EndDate])
-IIf(Format([StartDate],"mmdd")>Format([EndDate],"mmdd"),1,0),Null) AS ETH,
IIf(IsDate([StartDate]) And IsDate([EndDate]),IIf(Day([StartDate])
<=Day([EndDate]),DateDiff("m",[StartDate],[EndDate])-[ETH]*12,
DateDiff("m",[StartDate],[EndDate])-[ETH]*12-1),Null) AS MHNES,
IIf(IsDate([StartDate]) And IsDate([EndDate]),DateDiff("d",DateAdd("m",[MHNES],
DateAdd("yyyy",[ETH],[StartDate])),[EndDate]),Null) AS HMEPES
FROM table1;

Φιλικά

Τάσος

kapetang 30-01-12 21:25

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

Δημήτρη, στο αρχείο που επισυνάπτω έκανα κάποιες αλλαγές για να λειτουργεί σωστά και όταν τα πεδία των ημερομηνιών είναι κενά.
  • Άλλαξα τους τύπους στο ερώτημα Qry1 έτσι ώστε, όταν λείπει κάποια ημερομηνία, να επιστρέφεται τιμή null και όχι μηδενικού μήκους string (“”).
  • Άλλαξα τους τύπους στη φόρμα για να αντιμετωπίζουν και την περίπτωση των null τιμών.

Προσθήκη: Η αλλαγή των τύπων στη φόρμα δε χρειάζεται.
Μόνη της η συνάρτηση Sum αντιμετωπίζει σωστά τις τιμές null (τις αγνοεί).

Κάνε δοκιμές και ενημέρωσε το φόρουμ.

Φιλικά/Γιώργος
ΥΓ. Φίλε Τάσο δουλεύαμε ταυτόχρονα

dimnot 30-01-12 23:47

Καλησπέρα και πάλι σε όλους .
Αγαπητοί Τασο και Γιώργο , ειλικρινά δεν βρίσκω λόγια να σας ευχαριστήσω..και οι δύο λυσεις ήταν φοβερές και "δούλεψαν" αμέσως. Ειλικρινά έχω μείνει άφωνος ...και αυτό γιατί βλέπω ότι κάτι το οποίο μπορεί να δείχνει εύκολο σαν ιδέα ...μπορεί να είναι και στην πράξη εύκολο αρκεί να έχεις την κατάλληλη βοήθεια , αν δεν κατέχεις την γνώση.
Σας ευχαριστώ και πάλι.
Δημήτρης


Η ώρα είναι 11:08.

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


Search Engine Optimization by vBSEO 3.3.2