Όταν θέλετε ένα ερώτημα της Access να ζητεί εισαγωγή δεδομένων κάθε φορά που το εκτελείτε, μπορείτε να δημιουργήσετε ένα ερώτημα παραμέτρων.
Μπορείτε επίσης να δημιουργήσετε μια φόρμα για τη συλλογή τιμών παραμέτρων που θα χρησιμοποιηθούν για τον περιορισμό των εγγραφών που επιστρέφονται για ερωτήματα, φόρμες ή εκθέσεις. Αυτό το άρθρο εξηγεί πώς μπορείτε να χρησιμοποιήσετε φόρμες για να βελτιώσετε τη χρήση των παραμέτρων σε ερωτήματα, φόρμες και εκθέσεις.
Σε αυτό το άρθρο
Επισκόπηση
Μπορείτε να χρησιμοποιήσετε κριτήρια σε ένα ερώτημα παραμέτρων στην Access, για να περιορίσετε το σύνολο των εγγραφών που επιστρέφει το ερώτημα. Ενδέχεται να διαπιστώσετε ότι τα παράθυρα διαλόγου που παρέχονται από ένα ερώτημα παραμέτρων δεν επαρκούν για τους σκοπούς σας. Σε αυτές τις περιπτώσεις, μπορείτε να δημιουργήσετε μια φόρμα που ικανοποιεί καλύτερα τις ανάγκες συλλογής παραμέτρων. Αυτό το άρθρο εξηγεί πώς μπορείτε να δημιουργήσετε μια φόρμα που συλλέγει παραμέτρους ερωτήματος και έκθεσης. Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τη δημιουργία ερωτημάτων και τον ορισμό παραμέτρων στα ερωτήματα. Ως ελάχιστη προϋπόθεση, θα πρέπει να είστε εξοικειωμένοι με τη δημιουργία ενός ερωτήματος επιλογής, πριν να συνεχίσετε.
Αυτό το άρθρο παρέχει παραδείγματα χρήσης παραμέτρων σε ερωτήματα. Δεν παρέχει μια ολοκληρωμένη αναφορά για τον καθορισμό κριτηρίων.
-
Για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας ενός ερωτήματος επιλογής, ανατρέξτε στο άρθρο Δημιουργία ενός απλού ερωτήματος επιλογής.
-
Για περισσότερες πληροφορίες σχετικά με τα ερωτήματα, ανατρέξτε στο άρθρο Εισαγωγή στα ερωτήματα.
-
Για περισσότερες πληροφορίες σχετικά με τον ορισμό παραμέτρων, ανατρέξτε στο άρθρο Χρήση παραμέτρων ώστε να ζητείται εισαγωγή δεδομένων κατά την εκτέλεση ερωτήματος.
-
Για περισσότερες πληροφορίες σχετικά με τον τρόπο καθορισμού κριτηρίων σε ερωτήματα, ανατρέξτε στο άρθρο Παραδείγματα κριτηρίων για ερωτήματα.
Χρήση παραμέτρων σε ερωτήματα
Η χρήση μιας παραμέτρου σε ένα ερώτημα είναι τόσο εύκολη όσο και η δημιουργία ενός ερωτήματος που χρησιμοποιεί κριτήρια. Μπορείτε να σχεδιάσετε ένα ερώτημα έτσι ώστε να σας ζητάει μία μεμονωμένη πληροφορία, όπως έναν αριθμό εξαρτήματος, ή πολλαπλές πληροφορίες, όπως δύο ημερομηνίες. Για κάθε παράμετρο, το ερώτημα παραμέτρων εμφανίζει ένα ξεχωριστό παράθυρο διαλόγου που σας ζητά να καταχωρήσετε μια τιμή για τη συγκεκριμένη παράμετρο.
Προσθήκη παραμέτρου σε ερώτημα
-
Δημιουργήστε ένα ερώτημα επιλογής και, στη συνέχεια, ανοίξτε το ερώτημα στην προβολή σχεδίασης.
-
Στη γραμμή Κριτήρια ενός πεδίου για το οποίο θέλετε να εφαρμοστεί μια παράμετρος, πληκτρολογήστε το κείμενο που θέλετε να εμφανίζεται στο παράθυρο διαλόγου παραμέτρων, εντός αγκύλων, για παράδειγμα:
[Ημερομηνία έναρξης]
Όταν εκτελείτε το ερώτημα παραμέτρων, η προτροπή εμφανίζεται σε ένα παράθυρο διαλόγου χωρίς τις αγκύλες.
Μπορείτε επίσης να χρησιμοποιήσετε μια παράσταση με τις προτροπές παραμέτρων, για παράδειγμα:
Between [Ημερομηνία έναρξης] And [Ημερομηνία λήξης]
Σημείωση: Ένα ξεχωριστό παράθυρο διαλόγου εμφανίζεται για κάθε προτροπή παραμέτρου. Στο δεύτερο παράδειγμα, εμφανίζονται δύο παράθυρα διαλόγου: ένα για την "Ημερομηνία έναρξης" και ένα για την "Ημερομηνία λήξης".
-
Επαναλάβετε το βήμα 2 για κάθε πεδίο, στο οποίο θέλετε να προσθέσετε παραμέτρους.
Μπορείτε να χρησιμοποιήσετε τα προηγούμενα βήματα για να προσθέσετε μια παράμετρο σε οποιονδήποτε από τους ακόλουθους τύπους ερωτημάτων: Επιλογή, Διασταύρωση, Προσάρτηση, Δημιουργία πίνακα ή Ενημέρωση.
Μπορείτε επίσης να προσθέσετε μια παράμετρο σε ένα ερώτημα συνένωσης, ακολουθώντας τα παρακάτω βήματα:
-
Ανοίξτε το ερώτημα συνένωσης σε προβολή SQL.
-
Προσθέστε έναν όρο WHERE που περιέχει κάθε ένα από τα πεδία για τα οποία θέλετε να ζητείται μια παράμετρος.
Εάν υπάρχει ήδη ένας όρος WHERE, ελέγξτε αν τα πεδία στα οποία θέλετε να προσθέσετε μια προτροπή παραμέτρου υπάρχουν ήδη στον όρο. Εάν δεν υπάρχουν, προσθέστε τα.
-
Αντί να χρησιμοποιήσετε ένα κριτήριο στον όρο WHERE, χρησιμοποιήστε μια προτροπή παραμέτρου.
Καθορισμός τύπων δεδομένων παραμέτρων
Μπορείτε επίσης να ορίσετε ποιον τύπο δεδομένων θα αποδέχεται μια παράμετρος. Μπορείτε να καθορίσετε τον τύπο δεδομένων για οποιαδήποτε παράμετρο, αλλά είναι ιδιαίτερα σημαντικό να καθορίσετε τον τύπο δεδομένων για αριθμητικά δεδομένα, δεδομένα νομισματικής μονάδας ή δεδομένα ημερομηνίας και ώρας. Όταν καθορίζετε τον τύπο δεδομένων που θα αποδέχεται μια παράμετρος, εμφανίζεται στους χρήστες ένα πιο συγκεκριμένο μήνυμα σφάλματος, εάν πληκτρολογήσουν εσφαλμένο τύπο δεδομένων, όπως π.χ. κείμενο, ενώ αναμένεται νομισματική μονάδα.
Σημείωση: Εάν μια παράμετρος έχει ρυθμιστεί ώστε να αποδέχεται δεδομένα κειμένου, οποιαδήποτε εισαγωγή ερμηνεύεται ως κείμενο και δεν εμφανίζεται κανένα μήνυμα σφάλματος.
Για να καθορίσετε τον τύπο δεδομένων για παραμέτρους σε ένα ερώτημα, ακολουθήστε τα παρακάτω βήματα:
-
Ενώ το ερώτημα είναι ανοικτό σε Προβολή σχεδίασης, στην καρτέλα Σχεδίαση, στην ομάδα Εμφάνιση/Απόκρυψη, κάντε κλικ στην επιλογή Παράμετροι.
-
Στο παράθυρο διαλόγου Παράμετροι ερωτήματος, στη στήλη Παράμετρος, πληκτρολογήστε το προτρεπτικό μήνυμα για κάθε παράμετρο, για την οποία θέλετε να καθορίσετε τον τύπο δεδομένων. Βεβαιωθείτε ότι κάθε παράμετρος συμφωνεί με το προτρεπτικό μήνυμα που χρησιμοποιείτε στη γραμμή Κριτήρια του πλέγματος σχεδίασης ερωτήματος.
-
Στη στήλη Τύπος δεδομένων, επιλέξτε τον τύπο δεδομένων για κάθε παράμετρο.
Δημιουργία φόρμας που συλλέγει παραμέτρους
Παρόλο που τα ερωτήματα παραμέτρου διαθέτουν ένα ενσωματωμένο παράθυρο διαλόγου που συλλέγει παραμέτρους, παρέχουν μόνο τις βασικές λειτουργίες. Χρησιμοποιώντας μια φόρμα για τη συλλογή παραμέτρων, έχετε τις ακόλουθες δυνατότητες:
-
Τη δυνατότητα να χρησιμοποιήσετε στοιχεία ελέγχου συγκεκριμένου τύπου δεδομένων, όπως στοιχεία ελέγχου ημερολογίου για ημερομηνίες.
-
Διατήρηση των παραμέτρων που έχουν συλλεχθεί, ώστε να μπορείτε να τις χρησιμοποιήσετε με περισσότερα από ένα ερώτημα.
-
Τη δυνατότητα να παρέχετε ένα σύνθετο πλαίσιο ή ένα πλαίσιο λίστας για τη συλλογή παραμέτρων, η οποία σας επιτρέπει να επιλέξετε από μια λίστα διαθέσιμων τιμών δεδομένων.
-
Τη δυνατότητα να παρέχετε στοιχεία ελέγχου για άλλες λειτουργίες, όπως το άνοιγμα ή η ανανέωση ενός ερωτήματος.
Το παρακάτω βίντεο δείχνει πώς μπορείτε να δημιουργήσετε μια απλή φόρμα για τη συλλογή παραμέτρων για ένα ερώτημα, αντί να χρησιμοποιήσετε τα παράθυρα διαλόγου που κανονικά συσχετίζονται με ερωτήματα παραμέτρων.
Δημιουργία φόρμας που συλλέγει παραμέτρους για έκθεση
Υπάρχουν πολλοί τρόποι που θα μπορούσατε να προσεγγίσετε αυτό το σενάριο, αλλά θα δείξουμε μόνο μία τεχνική χρησιμοποιώντας κυρίως μακροεντολές. Ακολουθήστε αυτά τα βήματα για να δημιουργήσετε μια φόρμα που συλλέγει παραμέτρους για μια έκθεση.
-
Βήμα 1: Δημιουργήστε μια φόρμα που δέχεται εισαγωγή δεδομένων
-
Βήμα 3: Δημιουργήστε μια μακροεντολή που ελέγχει τη φόρμα και την έκθεση
-
Βήμα 4: Προσθέστε τα κουμπιά εντολών OK και "Άκυρο" στη φόρμα
-
Βήμα 5: Χρησιμοποιήστε τα δεδομένα φόρμας ως κριτήρια ερωτήματος
-
Βήμα 6: Προσθέστε τις ενέργειες μακροεντολών στα συμβάντα έκθεσης
Βήμα 1: Δημιουργήστε μια φόρμα που δέχεται εισαγωγή δεδομένων
-
Στην καρτέλα Δημιουργία, στην ομάδα Φόρμες, κάντε κλικ στην επιλογή Σχεδίαση φόρμας.
-
Στην προβολή σχεδίασης, πατήστε το πλήκτρο F4 για να εμφανιστεί το φύλλο ιδιοτήτων και, στη συνέχεια, καθορίστε τις ιδιότητες της φόρμας, όπως φαίνεται στον ακόλουθο πίνακα.
Ιδιότητα
Ρύθμιση
Λεζάντα
Πληκτρολογήστε το όνομα που θέλετε να εμφανίζεται στη γραμμή τίτλου της φόρμας.
Προεπιλεγμένη προβολή
Μεμονωμένη φόρμα
Να επιτρέπεται η προβολή φόρμας
Ναι
Να επιτρέπεται η προβολή φύλλου δεδομένων
Όχι
Να επιτρέπεται η προβολή Συγκεντρωτικού Πίνακα
Όχι
Να επιτρέπεται η προβολή Συγκεντρωτικού Γραφήματος
Όχι
Γραμμές κύλισης
Κανένα
Δείκτες επιλογής εγγραφών
Όχι
Κουμπιά περιήγησης
Όχι
Στυλ περιγράμματος
Παράθυρο διαλόγου
-
Για κάθε παράμετρο που θέλετε να συλλέγει η φόρμα, κάντε κλικ στην επιλογή Πλαίσιο κειμένου στην ομάδα Στοιχεία ελέγχου, στην καρτέλα Σχεδίαση.
-
Ορίστε τις ιδιότητες για τα πλαίσια κειμένου, όπως φαίνεται στον ακόλουθο πίνακα.
Ιδιότητα
Ρύθμιση
Όνομα
Πληκτρολογήστε ένα όνομα που περιγράφει την παράμετρο, για παράδειγμα ΗμερομηνίαΈναρξης.
Μορφή
Επιλέξτε μια μορφή που αντικατοπτρίζει τον τύπο δεδομένων του πεδίου παραμέτρου. Για παράδειγμα, επιλέξτε Γενική ημερομηνία για ένα πεδίο ημερομηνίας.
-
Αποθηκεύστε τη φόρμα και δώστε της ένα όνομα, όπως frmCriteria.
Βήμα 2: Δημιουργήστε μια λειτουργική μονάδα κώδικα, για να ελέγξετε εάν η φόρμα παραμέτρων έχει φορτωθεί ήδη
-
Στην καρτέλα Δημιουργία, στην ομάδα Μακροεντολές και κώδικας, κάντε κλικ στην επιλογή Λειτουργική μονάδα.
Μια νέα λειτουργική μονάδα ανοίγει στην Επεξεργασία της Visual Basic.
-
Πληκτρολογήστε ή επικολλήστε τον παρακάτω κώδικα στην Επεξεργασία της Visual Basic:
Function IsLoaded(ByVal strFormName As String) As Boolean Dim oAccessObject As AccessObject Set oAccessObject = CurrentProject.AllForms(strFormName) If oAccessObject.IsLoaded Then If oAccessObject.CurrentView <> acCurViewDesign Then IsLoaded = True End If End If End Function
-
Αποθηκεύστε τη λειτουργική μονάδα με ένα μοναδικό όνομα και, στη συνέχεια, κλείστε την Επεξεργασία της Visual Basic.
Βήμα 3: Δημιουργήστε μια μακροεντολή που ελέγχει τη φόρμα και την έκθεση
Χρησιμοποιώντας τις δυνατότητες δευτερεύουσας μακροεντολής των μακροεντολών της Access, μπορείτε να ορίσετε όλα τα απαραίτητα βήματα που θα πρέπει να κάνετε σε μια μεμονωμένη μακροεντολή. Θα δημιουργήσετε τέσσερις δευτερεύουσες μακροεντολές - Παράθυρο διαλόγου "Άνοιγμα", Παράθυρο διαλόγου "Κλείσιμο", OK και Άκυρο - για να ελέγξετε τις διάφορες εργασίες που απαιτούνται για αυτή τη διαδικασία. Χρησιμοποιώντας το στιγμιότυπο οθόνης παρακάτω ως οδηγό, δημιουργήστε μια νέα μακροεντολή με τις παρακάτω δευτερεύουσες μακροεντολές και ενέργειες. Σημειώστε ότι για αυτό το παράδειγμα, η φόρμα παραμέτρων ονομάζεται frmCriteria. Προσαρμόστε τη μακροεντολή σας, ώστε να ταιριάζει με το όνομα της φόρμας που δημιουργήσατε νωρίτερα. Θα πρέπει επίσης να κάνετε κλικ στην επιλογή Εμφάνιση όλων των ενεργειών στην καρτέλα Σχεδίαση, για να δείτε όλες τις ενέργειες μακροεντολών.
Αποθηκεύστε και κλείστε τη μακροεντολή. Δώστε ένα όνομα στη μακροεντολή, π.χ. Μακροεντολή περιοχής ημερομηνιών.
Βήμα 4: Προσθέστε τα κουμπιά εντολών OK και "Άκυρο" στη φόρμα
-
Ανοίξτε ξανά τη φόρμα παραμέτρου που δημιουργήσατε προηγουμένως σε προβολή σχεδίασης.
-
Βεβαιωθείτε ότι δεν έχει γίνει η επιλογή Χρήση οδηγών στοιχείων ελέγχου στην ομάδα Στοιχεία ελέγχου, στην καρτέλα Σχεδίαση.
-
Στην καρτέλα Σχεδίαση, στην ομάδα Στοιχεία ελέγχου, κάντε κλικ στην επιλογή Κουμπί.
-
Τοποθετήστε το δείκτη του ποντικιού κάτω από τα πλαίσια κειμένου στη φόρμα και, στη συνέχεια, σύρετε για να δημιουργήσετε ένα κουμπί εντολής OK.
-
Στην περίπτωση που το φύλλο ιδιοτήτων δεν είναι ορατό, πατήστε το πλήκτρο F4 για να το εμφανίσετε.
-
Ορίστε τις ιδιότητες για το κουμπί OK, όπως φαίνεται στον ακόλουθο πίνακα.
Ιδιότητα
Ρύθμιση
Επωνυμία
OK
Λεζάντα
OK
Προεπιλογή
Ναι
OnClick
Πληκτρολογήστε το όνομα της μακροεντολής, π.χ. Μακροεντολή περιοχής ημερομηνιών.OK.
-
Δημιουργήστε ένα κουμπί εντολής Άκυρο και ορίστε τις ιδιότητές του, όπως φαίνεται στον ακόλουθο πίνακα.
Ιδιότητα
Ρύθμιση
Επωνυμία
Άκυρο
Λεζάντα
Άκυρο
OnClick
Πληκτρολογήστε το όνομα της μακροεντολής, π.χ. Μακροεντολή περιοχής ημερομηνιών.Άκυρο.
-
Αποθηκεύστε και κλείστε τη φόρμα.
Βήμα 5: Χρησιμοποιήστε τα δεδομένα φόρμας ως κριτήρια ερωτήματος
-
Ανοίξτε το ερώτημα που δημιουργήσατε προηγουμένως σε προβολή σχεδίασης.
-
Εισαγάγετε τα κριτήρια για τα δεδομένα. Χρησιμοποιήστε το αντικείμενο Forms , το όνομα της φόρμας και το όνομα της στοιχείο ελέγχου:
-
Για παράδειγμα, σε μια βάση δεδομένων της Access (.accdb ή .mdb), για μια φόρμα με το όνομα frmCriteria, χρησιμοποιείτε την ακόλουθη παράσταση για να αναφερθείτε στα στοιχεία ελέγχου που ονομάζονται "Ημερομηνία έναρξης" και "Ημερομηνία λήξης" στο ερώτημα:
Between [Φόρμες]![frmCriteria]![Ημερομηνία έναρξης] And [Φόρμες]![frmCriteria]![Ημερομηνία λήξης]
-
Βήμα 6: Προσθέστε τις ενέργειες μακροεντολών στα συμβάντα έκθεσης
-
Ανοίξτε την έκθεση που θέλετε να χρησιμοποιηθεί σε προβολή σχεδίασης.
-
Στην περίπτωση που το φύλλο ιδιοτήτων δεν είναι ορατό, πατήστε το πλήκτρο F4 για να το εμφανίσετε.
-
Βεβαιωθείτε ότι η ιδιότητα Προέλευση εγγραφών της έκθεσης χρησιμοποιεί το ερώτημα παραμέτρων που ορίσατε προηγουμένως.
-
Ορίστε αυτές τις δύο πρόσθετες ιδιότητες έκθεσης, όπως φαίνεται στον ακόλουθο πίνακα.
Ιδιότητα
Ρύθμιση
OnOpen
Πληκτρολογήστε το όνομα της μακροεντολής, π.χ. Μακροεντολή περιοχής ημερομηνιών.Παράθυρο διαλόγου "Άνοιγμα".
OnClose
Πληκτρολογήστε το όνομα της μακροεντολής, π.χ. Μακροεντολή περιοχής ημερομηνιών.Παράθυρο διαλόγου "Κλείσιμο".
Στο συμβάν Open της έκθεσης, η Access θα εκτελέσει τις ενέργειες που ορίζονται στη δευτερεύουσα μακροεντολή Παράθυρο διαλόγου "Άνοιγμα" του αντικειμένου Μακροεντολή περιοχής ημερομηνιών. Ομοίως, όταν κλείσετε την έκθεση, η Access θα εκτελέσει τις ενέργειες που ορίζονται στη δευτερεύουσα μακροεντολή Παράθυρο διαλόγου "Κλείσιμο" του αντικειμένου Μακροεντολή περιοχής ημερομηνιών.
-
Αποθηκεύστε και κλείστε την έκθεση.
Βήμα 7: Δοκιμάστε τα
Τώρα που δημιουργήσατε όλα τα αντικείμενα της Access, καιρός να τα δοκιμάσετε. Ανοίξτε την έκθεση στην Προβολή έκθεσης ή σε Προεπισκόπηση εκτύπωσης και παρατηρήστε ότι πριν η Access εμφανίσει την έκθεση, η φόρμα παραμέτρων ανοίγει σε κατάσταση λειτουργίας παραθύρου διαλόγου. Πληκτρολογήστε τα κριτήρια που απαιτούνται στα πλαίσια κειμένου που δημιουργήσατε προηγουμένως και, στη συνέχεια, κάντε κλικ στο κουμπί εντολής OK στη φόρμα. Στη συνέχεια, η Access αποκρύπτει τη φόρμα (Oρατή = Όχι) και ανοίγει την έκθεση με μόνο τα δεδομένα που συμφωνούν με τα κριτήρια. Αυτό λειτουργεί επειδή το ερώτημα παραμέτρων στο οποίο βασίζεται η έκθεση, μπορεί να διαβάσει τις τιμές στα στοιχεία ελέγχου σε μια κρυφή φόρμα. Όταν κλείνετε την έκθεση, η Access θα κλείσει επίσης τη φόρμα παραμέτρων.