![]() |
Φίλτρο σε ερώτημα διασταύρωσης 2 Συνημμένο(α) Καλημέρα και καλή "σεζόν" σε όλους. Επιστρέφω με ένα ερώτημα: Εάν μπορώ από τον βασικό μου πίνακα "ΟΝΟΜΑΣΤΙΚΗ ΚΑΤΑΣΤΑΣΗ" να φτιάξω ένα ερώτημα διασταύρωσης -με "γραμμή" στοιχεία από [ΚΑΤΗΓΟΡΙΑ] και "στήλη" από [ΔΙΕΥΘΥΝΣΗ] (βλ. "ΟΝΟΜΑΣΤΙΚΗ ΚΑΤΑΣΤΑΣΗ διασταύρωσης")- έτσι ώστε να μου δείνει την δυνατότητα να φιλτράρω τις πληροφορίες με βάση μια χρονική περίοδο από το [ΗΜΕΡΟΜΗΝΙΑ] π.χ. στοιχεία από 1/1/2010 έως 31/1/2010. Ευχαριστώ πολύ Πάνος |
Πάνο καλημέρα! Ο κώδικας SQL που θα σου επιτρέψει να φιλτράρεις τα δεδομένα σου σε ερώτημα διασταύρωσης (με κριτήριο το διάστημα 2 ημερομηνιών) μπορούσε να είναι έτσι: Κώδικας: PARAMETERS [Δώσε ημερομηνία από] DateTime, [Δώσε ημερομηνία μέχρι] DateTime;Κώδικας: PARAMETERS [Δώσε μήνα] Value, [Δώσε έτος] Value;και δοκίμασε. Καλή συνέχεια Φιλικά Τάσος |
Τάσο, Σ' ευχαριστώ για άλλη μία φορά. Τα λέμε Πάνος |
Καλησπέρα στην παρέα Τάσο είδα τη λύση, με το παραμετρικό ερώτημα, που έδωσες στην ερώτηση του Πάνου και σκέφτηκα αν θα μπορούσαμε να ανοίγουμε το ερώτημα διασταύρωσης πατώντας το κουμπί μιας φόρμας (frmOpenQry), στην οποία δύο πλαίσια κειμένου (txtStart, txtEnd) θα προσδιόριζαν το χρονικό διάστημα που μας ενδιαφέρει. Στις δοκιμές που έκανα το κριτήριο: [ΗΜΕΡΟΜΗΝΙΑ] between [Forms]![frmOpenQry]![txtStart] and [Forms]![frmOpenQry]![txtEnd], δε λειτουργούσε (έβγαζε λάθος) . Υπάρχει λύση; Φιλικά/Γιώργος |
Καλημέρα σε όλους! Γιώργο, ένα κοινό ερώτημα επιλογής, μπορεί να επεξεργαστεί κριτήρια όπως [Forms]![frmOpenQry]![txtStart] και δε χρειάζεται παραμέτρους όπως: PARAMETERS [Δώσε ημερομηνία από] DateTime, [Δώσε ημερομηνία μέχρι] DateTime; Αντιθέτως, ένα ερώτημα διασταύρωσης, και ιδιαίτερα στο παράδειγμα μας, λόγω της φύσης του (δυναμική προσθήκη πεδίων) δεν δέχεται παραμέτρους από άλλη πηγή εκτός από αυτές που θα δώσει ο χρήστης όταν του ζητηθεί πριν την εκτέλεση του. Αυτό που μπορούμε να κάνουμε είναι Αντί για :PARAMETERS [Δώσε ημερομηνία από] DateTime, [Δώσε ημερομηνία μέχρι] να περάσουμε: PARAMETERS [Forms]![frmOpenQry]![txtStart] DateTime, [Forms]![frmOpenQry]![txtEnd] DateTime; και στα κριτήρια του ερωτήματος: ....WHERE ((([ΟΝΟΜΑΣΤΙΚΗ ΚΑΤΑΣΤΑΣΗ].ΗΜΕΡΟΜΗΝΙΑ) Between [Forms]![frmOpenQry]![txtStart] And [Forms]![frmOpenQry]![txtEnd])) Με άλλα λόγια αυτό ο παρακάτω κώδικας SQL επιτρέπει την δυναμική παραμετροποίηση σε ερωτήματα τύπου διασταύρωσης: Κώδικας: PARAMETERS [Forms]![frmOpenQry]![txtStart] DateTime, [Forms]![frmOpenQry]![txtEnd] DateTime;Φιλικά Τάσος |
Καλημέρα σε όλους Τάσο ευχαριστώ για την άμεση και διεξοδική ενημέρωση. Είναι μάθημα για μένα και για τα άλλα μέλη. Φιλικά/Γιώργος |
Δημιουργία έκθεσης μετά απο εισαγωγή φίλτρου σε ερώτημα διασταύρωσης 1 Συνημμένο(α) Τάσο, Καλημέρα ξέρεις γιατί από το ερώτημα διασταύρωσης δεν μπορώ να φτιάξω έκθεση; Σε ευχαριστώ εκ των προτέρων. Πάνος |
Καλησπέρα σε όλους! Πάνο, τα πεδία ενός ερωτήματος Διαστάυρωσης δεν είναι αποθηκευμένα με αποτέλεσμα ο οδηγός εκθέσεων να μην βρίσκει πεδία για να σου φτιάξει την έκθεση. Μπορείς να περάσεις τον παρακάτω κώδικα SQL στο ερώτημα σου για να δημιουργήσεις "σταθερά πεδία" που θα σου επιτρέψουν να δημιουργήσεις την έκθεση: Κώδικας: PARAMETERS [Δώσε ημερομηνία από] DateTime, [Δώσε ημερομηνία μέχρι] DateTime;Κώδικας: TRANSFORM Count([ΟΝΟΜΑΣΤΙΚΗ ΚΑΤΑΣΤΑΣΗ].ΜΗΤΡΩΟ) AS ΠλήθοςΤουΜΗΤΡΩΟΚαλή συνέχεια! Τάσος |
Τάσε, είσαι καταπληκτικός Τα λέμε Πάνος |
Καλησπέρα στην παρέα Τάσο δεν ξέρω τη χρησιμότητα της φράσης IN (......) στην πρόταση GROUP. Έχω τη γνώμη ότι είναι περιττή. Φυσικά δεν προκαλεί και λάθος. Φιλικά/Γιώργος |
| Η ώρα είναι 13:08. |
Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.