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/416-xroniko-diastima-stin-epikefalida-tis-ekthesis.html)

PanosPan 15-02-10 22:02

Χρονικό διάστημα στην επικεφαλίδα της έκθεσης
 
Παιδιά καλησπέρα,
Έχω έκθεση που αντλεί στοιχεία μέσω ερωτήματος από πίνακα. Έτσι ζητάω να μου παρουσιάσει στοιχεία ενός μήνα ή πολλών μηνών (σημ. τους μήνες τους ζητάω με τη μορφή αριθμού _βλ. άλλο post "αθροίζοντας μήνες σε έκθεση"_ πχ. 1 για γενάρη, 2 για φεβρουάριος κ.οκ.
Το ερώτημά μου είναι πως γίνεται να μου εμφανίζεται στην κεφαλίδα της έκθεσης το διάστημα των μηνών που παρουσιάζω κάθε φορά; (π.χ. "Στοιχεία από Γενάρη έως Μάρτη" εάν ζητάω στοιχεία από τον 1ο έως τον 3ο μήνα ή "Στοιχεία από Γενάρη έως Ιούνιο" όταν ζητάω στοιχεία από τον 1ο έως τον 6ο μήνα κ.οκ.).
Ευχαριστώ
Πάναγιώτης

editolis 16-02-10 00:00

Στο control Source θα βαλεις το εξης:

="Στοιχεία από : " & Field1 & " εως " & Field2

Οπου Field1: IIf([Field]="1";"Ιανουάριο";IIf([Field]="2";'Φεβρουάριο";IIf([Field]="3";"Μάρτιο";IIf([field]="4";"Απρίλιο"))))......

Οπου Field2: IIf([Field]="1";"Ιανουάριο";IIf([Field]="2";'Φεβρουάριο";IIf([Field]="3";"Μάρτιο";IIf([field]="4";"Απρίλιο")))) κλπ - κλπ....

Νομιζω οτι σου δείχνω την διαδικασια εσυ τωρα κανε την αναλογη τροποποιηση οπως την θέλεις να φαίνεται στην εκθεση σου...

Τα field οπως ειναι μπορεις να τα περασεις και μεσα στο ερωτημα σου κατευθειαν στα κριτηρια...

Tasos 16-02-10 07:43

Καλημέρα.

Συμπληρωματικά στην απάντηση του Τόλη:

Έστω ότι έχουμε το πεδίο σε φόρμα ή σε έκθεση με το όνομα TheMonth, που περιέχει τις τιμές από 1 έως 12.

Σε ένα άλλο μη δεσμευμένο πεδίο μπορούμε επίσης να χρησιμοποιήσουμε:

Μέθοδος 1
Κώδικας:

=Format(DateSerial(0;[TheMonth];1);"mmmm")
Μας επιστρέφει τους μήνες ολογράφως ανάλογα τις μορφές που έχουν οριστεί στο λειτουργικό σύστημα.
Προσοχή! Σε περιβάλλον με πχ. ρυθμίσεις ημερομηνίας στην αγγλική δεν θα εμφανιστεί το Ιανουάριος αλλά January!

Μέθοδος 2

Κώδικας:

=Choose([TheMonth];"Ιανουάριος";"Φεβρουάριος";"Μάρτιος";"Απρίλιος";"Μάιος";"Ιούνιος";"Ιούλιος";"Αύγουστος";
"Σεπτέμβριος";"Οκτώβριος";"Νοέμβριος";"Δεκέμβριος")

Μέθοδος 3

Κώδικας:

=Switch([TheField]=1;"Ιανουάριος";[TheField]=2;"Φεβρουάριος";[TheField]=3;"Μάρτιος";[TheField]=4;"Απρίλιος";
[TheField]=5;"Μάιος";[TheField]=6;"Ιούνιος";[TheField]=7;"Ιούλιος";[TheField]=8;"Αύγουστος";[TheField]=9;
"Σεπτέμβριος";[TheField]=10;"Οκτώβριος";[TheField]=11;"Νοέμβριος";[TheField]=12;"Δεκέμβριος")

Εδώ μπορούμε επιλεκτικά να παρουσιάσουμε αποτελέσματα ακόμα κι αν δεν υπάρχει ακολουθία συνθηκών πχ:

Κώδικας:

=Switch([TheField]=1;"Ιανουάριος";[TheField]=3;"Μάρτιος";[TheField]=5;"Μάιος")
Η συνάρτηση Switch μπορεί να χρησιμοποιηθεί και για κείμενα πχ.

Κώδικας:

=Switch([TheText]="Κείμενο1";"Κείμενο Προς Αλλαγή 1";[TheText]="Κείμενο2";"Κείμενο Προς Αλλαγή 2";
[TheText]="Κείμενο3";"Κείμενο Προς Αλλαγή 3")

όπου [TheText] είναι το πεδίο που περιέχει το κείμενο προς αλλαγή.


Φιλικά

Τάσος

PanosPan 16-02-10 08:07

Ευχαριστώ πολύ
μου δώσατε πολύ δουλειά, θα στρωθώ να δουλέψω και θα σας ενημερώσω για το αποτέλεσμα.

Τα λέμε

PanosPan 02-03-10 20:42

Παιδιά καλησπέρα,
Λυπάμαι αλλά δεν τα κατάφερα μέχρι τώρα με την ημερομηνία. Μήπως θα ήταν εύκολο να δίνατε καμία παραπάνω λεπτομέρια; Για παράδειγμα που μπαίνουν όλοι αυτοί οι κώδικες;
Ευχαριστώ.

editolis 02-03-10 22:54

Διαβασε παλι την απαντηση Νο 2.

Ο Τασος επισης σου εχει εξαιρετικα παραδειγματα.

Ενα απο αυτα διαλεξε και φτιαξε μονος σου
2 νεες στηλες στο ερωτημα σου.

Ονομασε τες πχ Field1 και Field2.

Αυτες οι στηλες θα ειναι ο οδηγος σου για
να φτιαξεις αυτο που αρχικα ζητησες στην
εκθεση σου.

PanosPan 03-03-10 06:22

Σε ευχαριστώ και πάλι Τόλη
Καλημέρα
Πάνος

PanosPan 16-04-10 09:24

2 Συνημμένο(α)
Τόλη, Τάσο και λοιποί φίλοι καλημέρα,
Με συγχωρείτε για την ασχετοσύνη μου, αλλά αν και το προσπάθησα πολύ δε μπόρεσα να βρω μία άκρη με το συγκεκριμένο ζήτημα. Έχω πολλά να μάθω ακόμα.
Έτσι αποφάσισα να ανεβάσω ένα αρχειάκι, για όποιον έχει το χρόνο να βοηθήσει.
Να πω μόνο δύο πραγματάκια.
1. Κλίκ στην έκθεση "χρονική περίοδος". Εκεί μας ζητάει α) "ΑΠΟ ΜΗΝΑ" ==>δίνω μήνα με αριθμό (δηλ 1=γενάρης, 2=φεβρουάριος) κ.οκ. β) "ΕΩΣ ΜΗΝΑ" ==>δίνω πάλι μήνα με αριθμό γ)"ΑΠΟ ΕΤΟΣ"==>δίνω έτος (πχ. 2009) και δ) "ΕΩΣ ΕΤΟΣ"==>δίνω έτος (πχ.2010) και τότε η έκθεση ανοίγει. (σημ. για τους μήνες αριθμητικά (από 1-12) βλ. πίνακα "ΜΗΝΕΣ").
2. Στην επικεφαλίδα της έκθεσης θα ήθελα να μου αναγράφει την χρονική περίοδο που παρουσιάζονται τα στοιχεία δηλαδή εάν ζητήσω στοιχεία από Δεκέμβριο (12) του 2009 έως Μάρτιο (3) του 2010 θα ήθελα να γράφει στην επικεφαλίδα κάτι σαν: "ΑΠΟ ΔΕΚΕΜΒΡΙΟ 2009 ΕΩΣ ΜΑΡΤΙΟ 2010"
Όμως και για να το κάνω λίγο πιο δύσκολο, επιθυμητό θα ήταν (όχι όμως και απαραίτητο σε περίπτωση που θέλει πολύ κόπο να υλοποιηθεί) εάν ζητάω συγκεκριμένο μήνα και έτος πχ (από 1/2010 έως 1/2010) να αναγράφεται κάτι σαν: "ΙΑΝΟΥΑΡΙΟΣ 2010" και όχι "ΑΠΟ ΙΑΝΟΥΑΡΙΟ 2010 ΕΩΣ ΙΑΝΟΥΑΡΙΟ 2010"
Ευχαριστώ πάρα πολύ.

Tasos 16-04-10 13:08

Γεια σας!
Πάνο, βασισμένος στον τρόπο που έχεις στήσει το αρχείο σου η πρόταση μου είναι:

Πρόσθεσε ένα πεδίο στον πίνακα ΜΗΝΕΣ με το όνομα ΜΗΝΕΣ_Γεν
όπου θα συμπληρώσεις τη γενική πτώση των ονομάτων των μηνών πχ.:
ΙΑΝΟΥΑΡΙΟ ΦΕΒΡΟΥΑΡΙΟ ΜΑΡΤΙΟ κοκ.

Πρόσθεσε τα πεδία ΑΡΙΘΜΗΣΗ, ΜΗΝΑΣ και ΕΤΟΣ στην έκθεση και απόκρυψε τα
(Ιδιότητα ορατό = Όχι).
Σιγουρέψου ότι τα όνοματα των αρχείων είναι ίδια με τα αναφερόμενα παραπάνω.

Πρόσθεσε ακόμα ένα νέο πεδίο στην έκθεση και πέρασε του τον παρακάτω τύπο:

Κώδικας:

=IIf(Min([ΑΡΙΘΜΗΣΗ])=Max([ΑΡΙΘΜΗΣΗ]) And Min([ΕΤΟΣ])=Max([ΕΤΟΣ]);Min([ΜΗΝΑΣ]) & " " & Min([ΕΤΟΣ]);
"Από " & DLookUp("[ΜΗΝΕΣ_Γεν]";"[ΜΗΝΕΣ]";"[ΑΡΙΘΜΗΣΗ]= " & Min([ΑΡΙΘΜΗΣΗ])) & " " & Min([ΕΤΟΣ]) & " έως " &
DLookUp("[ΜΗΝΕΣ_Γεν]";"[ΜΗΝΕΣ]";"[ΑΡΙΘΜΗΣΗ]= " & Max([ΑΡΙΘΜΗΣΗ])) & " " & Max([ΕΤΟΣ]))

Πρόσεξε τα κενά που ίσως σου προκαλέσουν πρόβλημα κατά την επικόλληση του τύπου στο αρχείο σου.

Φιλικά

Τάσος

PanosPan 16-04-10 13:31

Τάσο σε ευχαριστώ πολύ
θα το προσπαθήσω και θα σε ενημερώσω
τα λέμε
Πάνος

PanosPan 21-04-10 11:31

Τάσο το έφτιαξα
χίλια ευχαριστώ
Τα λέμε
Πάνος

PanosPan 03-05-10 09:35

2 Συνημμένο(α)
Παιδιά καλημέρα,
Τάσο,
ελπίζω να μην καταχρώμαι τον χρόνο και την καλή σου διάθεση. Επανέρχομαι για αυτό το θέμα με τις ημερομηνίες, το οποίο παραδέχομαι ότι έχει τραβήξει σε μάκρος.
Επειδή όμως –πρωτάρης γαρ- το αρχείο όπως το είχα στήσει (βλ. προηγούμενο συνημμένο) ήταν εντελώς άστοχο και, εν τέλει, δεν δούλευε όπως θα ήθελα, καθόσον δεν μπορούσε να μου δώσει δεδομένα μεταξύ δύο ή περισσότερων ετών, το άλλαξα και έβαλα στη θέση των πεδίων [μήνας] και [έτος] (του προηγούμενο αρχείου) το πεδίο [Ημερομηνία].
Έτσι με αυτή την μορφή τώρα που έχω δομήσει την βάση μου, θα ήθελα να θέσω το θεμελιώδη για μένα ερώτημα.
Πως μπορεί να εμφανίζεται το χρονικό διάστημα στην έκθεση.
Λίγα λόγια για την βάση
1. Κλικ στην έκθεση και μετά στην εντολή [Από ημερομηνία] δίνω ημερομηνία (πχ. 1/12/2009) ⇒ μετά στην εντολή [έως ημερομηνία] δίνω ημερομηνία (π.χ. 31/3/2010) και εμφανίζονται τα δεδομένα αυτού του διαστήματος (σημ. τα δεδομένα αντλούνται από το Ερώτημα).
2. Θα ήθελα στην έκθεση να εμφανίζεται το διάστημα κάπως έτσι [ΑΠΟ ΔΙΑΣΤΗΜΑ 1/12/2009 ΕΩΣ 31/3/2010]
Για άλλη μια φορά ευχαριστώ πολύ.
Πάνος

Tasos 03-05-10 14:14

Καλησπέρα Πάνο!

Δοκίμασε:

Κώδικας:

=IIf(Min([ΗΜΕΡΟΜΗΝΙΑ])=Max([ΗΜΕΡΟΜΗΝΙΑ]);Min([ΗΜΕΡΟΜΗΝΙΑ]);"ΔΙΑΣΤΗΜΑ ΑΠΟ " & Min([ΗΜΕΡΟΜΗΝΙΑ]) & " ΕΩΣ " &
Max([ΗΜΕΡΟΜΗΝΙΑ]))

Φιλικά

Τάσος

PanosPan 03-05-10 20:02

Τάσο και πάλι σε ευχαριστώ,
Θα το δοκιμάσω και θα σε ενημερώσω.
Καλό βράδυ
Πάνος

PanosPan 04-05-10 07:58

Τάσο
Καλημέρα,
Φίλε δεν δουλεύει σωστά. Μου επιστρέφει λάθος ημερομηνίες. Εάν και όποτε έχεις χρόνο ρίξτου μία ματιά.
Σ' ευχαριστώ πολύ
Πάνος

PanosPan 04-05-10 08:04

Τάσο,
Άκυρο, νομίζω λύθηκε, θα σου πω σε λίγο.
Πάνος

Tasos 04-05-10 08:39

Πάνο καλημέρα!
Ο τύπος αυτός σου επιστρέφει τη μικρότερη και τη μεγαλύτερη ημερομηνία που υπάρχει στην έκθεση.

'Έτσι μόνο μπορείς να δεις τις ημερομηνίες που περιλαμβάνει η έκθεση σου.

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

Φιλικά

Τάσος

PanosPan 04-05-10 09:06

Τάσο καλημέρα και πάλι,
Δουλεύει. Απλώς μπερδεύτηκα γιατί ενώ του έδινα π.χ. 1/1/2010 έως 31/3/2010 αυτό μου επέστρεφε από την μικρότερη και την μεγαλύγερη αντίστοιχα εγγραφή που έχω σε αυτό το διάστημα. Έτσι εάν σε αυτό το διάστημα η μικρότερή μου εγγραφή ήταν η 5/1/2010 και η μεγαλύτερή μου ήταν η 25/3/2010, μου επιστρέφει αυτό το διάστημα [ΔΙΑΣΤΗΜΑ ΑΠΟ 5/1/2010 ΕΩΣ 25/3/2010].
Μου αρέσει και έτσι, αν και η αλήθεια είναι ότι θα προτιμούσα να μου έβγαζε στρογγυλοποιημένο το διάστημα, όπως του το ζητάω εξ' αρχής δηλ. [ΔΙΑΣΤΗΜΑ ΑΠΟ 1/1/2010 ΕΩΣ 31/3/2010] καθώς έτσι θα γνώριζα το διάστημα που ΕΓΩ έχω ζητήσει στοιχεία ΚΑΙ όχι το διάστημα που το κομπιούτερ βρήκε στοιχεία.
Πάντως,
Σε ευχαριστώ και πάλι
Πάνος

Tasos 04-05-10 10:25

1 Συνημμένο(α)
Καλημέρα και πάλι!

Φίλε μου, μελέτησε αν θέλεις την τεχνική εισαγωγής κριτηρίων σε φόρμα ή έκθεση στο συνημμένο.

Φιλικά Τάσος

PanosPan 04-05-10 10:30

ok,
Ευχαριστώ πολύ Τάσο

Jim 04-05-10 13:23

1 Συνημμένο(α)
Πάνω δεν έχεις να χάσεις τίποτα
Δίχως να θέλω να θίξω κανέναν αλλά δες και αυτό
Φιλικά σε όλους Δημήτρης

Dangel82 04-05-10 16:36

1 Συνημμένο(α)
Καλησπέρα κι απο εμένα...
Στην Access υπάρχουν πολλοί τρόποι για να κάνεις κάτι... οπότε συννημμένα και αυτός που σου προτείνω...

Χρησιμοποιείς έναν "ξεκάρφωτο" πίνακα για να θέσεις τα όρια των ημερομηνιών σου... όπως τα θέλεις εσύ... από έως ημερομηνίες !!! (οχι μήνες όχι ετη---Αυτά τα βάζει μόνο του :PPP )
Με το που θα καταχωρήσεις την εγγραφή, ενημερώνει σε μήνα και έτος βάση της ημερομηνίας που έδωσες.

Τα υπόλοιπα αν τα σκαλίσεις λιγο είναι ξεκάθαρα...

Καλή επιτυχία!!!

PanosPan 05-05-10 08:45

Δημήτρη και Άγγελε ευχαριστώ πολύ,
Αναλύω ήδη και την πρόταση του Τάσου αλλά και τις δικές σας. Είμαι σε καλό δρόμο.
Όταν θα το κατανοήσω πλήρως το εγχείρημα θα σας ενημερώσω.
Ευχαριστώ και πάλι.
Πάνος

PanosPan 10-05-10 13:50

Παιδιά καλησπέρα,
Τα κατάφερα. Ευχαριστώ πολύ.
Πάνος


Η ώρα είναι 14:29.

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


Search Engine Optimization by vBSEO 3.3.2