Όταν δημιουργείτε μια νέα βάση δεδομένων, συνήθως ξεκινάτε δημιουργώντας διάφορα αντικείμενα βάσης δεδομένων, όπως πίνακες, φόρμες και αναφορές. Τελικά, φτάνετε σε ένα σημείο όπου πρέπει να γράψετε κώδικα προγραμματισμού για να αυτοματοποιήσετε ορισμένες διαδικασίες και να συνδέσετε τα αντικείμενα της βάσης δεδομένων σας. Αυτό το άρθρο σάς βοηθά να προσανατολιστείτε στα εργαλεία προγραμματισμού του Access.
Σε αυτό το άρθρο
Τι είναι ο προγραμματισμός;
Στο Access, ο προγραμματισμός είναι η διαδικασία προσθήκης λειτουργικότητας στη βάση δεδομένων σας, χρησιμοποιώντας Access μακροεντολές ή κώδικα της Visual Basic for Applications (VBA). Για παράδειγμα, έστω ότι έχετε δημιουργήσει μια φόρμα και μια αναφορά και θέλετε να προσθέσετε ένα κουμπί εντολής στη φόρμα, στο οποίο όταν κάνετε κλικ ανοίγει η αναφορά. Προγραμματισμός, σε αυτή την περίπτωση, είναι η διαδικασία δημιουργίας μιας μακροεντολής ή διαδικασίας VBA και, στη συνέχεια, ο ορισμός του συμβάντος OnClick στο κουμπί εντολής έτσι ώστε με το κλικ στο κουμπί εντολής να εκτελείται η μακροεντολή ή η διαδικασία. Για μια απλή λειτουργία, όπως το άνοιγμα μιας αναφοράς, μπορείτε να χρησιμοποιήσετε τον Οδηγό κουμπιού εντολής που θα κάνει τα πάντα, μπορείτε όμως και να απενεργοποιήσετε τον οδηγό και να κάνετε τον προγραμματισμό μόνοι σας.
Σημείωση: Πολλά προγράμματα του Microsoft Office, χρησιμοποιούν τον όρο "μακροεντολή" όταν αναφέρονται σε κώδικα VBA. Αυτό μπορεί να προκαλέσει σύγχυση στους χρήστες Access επειδή, στην Access, ο όρος "μακροεντολή" αναφέρεται σε μια καθορισμένη συλλογή ενεργειών μακροεντολών που μπορείτε να συγκεντρώσετε χρησιμοποιώντας τη Λειτουργία δόμησης μακροεντολών. Access ενέργειες μακροεντολών αντιπροσωπεύουν μόνο ένα υποσύνολο των εντολών που είναι διαθέσιμες στη VBA. Η Λειτουργία δόμησης μακροεντολών σάς παρέχει ένα πιο δομημένο περιβάλλον από ότι η Επεξεργασία της Visual Basic, δίνοντάς σας τη δυνατότητα να προσθέτετε στοιχεία προγραμματισμού σε στοιχεία ελέγχου και αντικείμενα χωρίς να χρειάζεται να μάθετε να γράφετε κώδικα VBA. Θα πρέπει να θυμάστε ότι σε Access άρθρα της Βοήθειας, Access μακροεντολές αναφέρονται ως μακροεντολές. Αντίθετα, ο κώδικας VBA αναφέρεται ως VBA, κώδικας, συνάρτηση ή διαδικασία. Ο κώδικας VBA περιέχεται σε λειτουργικές μονάδες κλάσης (που περιλαμβάνονται σε μεμονωμένες φόρμες ή αναφορές και συνήθως περιέχουν κώδικα μόνο για αυτά τα αντικείμενα), καθώς και σε λειτουργικές μονάδες (που δεν είναι συνδεδεμένες με συγκεκριμένα αντικείμενα και συνήθως περιέχουν κώδικα "γενικής χρήσης" που μπορεί να χρησιμοποιηθεί σε ολόκληρη τη βάση δεδομένων).
Τα αντικείμενα (όπως οι φόρμες και οι αναφορές) και τα στοιχεία ελέγχου (όπως τα κουμπιά εντολών και τα πλαίσια κειμένου) έχουν διάφορες ιδιότητες συμβάντων στις οποίες μπορείτε να προσαρτήσετε μακροεντολές ή διαδικασίες. Κάθε ιδιότητα συμβάντος σχετίζεται με ένα συγκεκριμένο συμβάν, όπως το κλικ με το ποντίκι, το άνοιγμα μιας φόρμας ή η τροποποίηση των δεδομένων σε ένα πλαίσιο κειμένου. Τα συμβάντα μπορούν επίσης να ενεργοποιηθούν από παράγοντες εκτός των Access, όπως τα συμβάντα συστήματος ή από μακροεντολές ή διαδικασίες που είναι προσαρτημένες σε άλλα συμβάντα. Η βάση δεδομένων σας μπορεί να γίνει περίπλοκη εάν προσθέσετε πολλές μακροεντολές ή διαδικασίες σε πολλές ιδιότητες συμβάντων πολλών αντικειμένων, αλλά, στις περισσότερες περιπτώσεις, μπορείτε να επιτύχετε τα αποτελέσματα που θέλετε χρησιμοποιώντας ελάχιστο προγραμματισμό.
Πρέπει να χρησιμοποιήσω μακροεντολές ή κώδικα VBA;
Η απόφαση για τη χρήση μακροεντολών, VBA ή και των δύο εξαρτάται κυρίως από τον τρόπο που σκοπεύετε να αναπτύξετε ή να διανείμετε τη βάση δεδομένων. Για παράδειγμα, εάν η βάση δεδομένων είναι αποθηκευμένη στον υπολογιστή σας και είστε ο μοναδικός χρήστης και είστε εξοικειωμένοι με τη χρήση κώδικα VBA, μάλλον θα αποφασίσετε να χρησιμοποιήσετε τη VBA για την εκτέλεση των περισσότερων εργασιών προγραμματισμού. Ωστόσο, εάν σκοπεύετε να κάνετε κοινή χρήση της βάσης δεδομένων με άλλα άτομα, τοποθετώντας την σε έναν διακομιστή αρχείων, μπορείτε να αποφύγετε τη χρήση VBA για λόγους ασφαλείας.
Η απόφασή σας για τη χρήση μακροεντολών ή κώδικα VBA θα πρέπει να λάβει υπόψη δύο ζητήματα: την ασφάλεια και τις λειτουργίες που θέλετε. Η ασφάλεια είναι ένα ζήτημα καθώς η VBA μπορεί να χρησιμοποιηθεί για τη δημιουργία κώδικα που μπορεί να υποβαθμίσει την ασφάλεια των δεδομένων σας ή να καταστρέψει αρχεία στον υπολογιστή σας. Όταν χρησιμοποιείτε μια βάση δεδομένων που δημιουργήθηκε από κάποιον άλλον, θα πρέπει να ενεργοποιήσετε τον κώδικα VBA μόνο αν γνωρίζετε ότι η βάση δεδομένων προέρχεται από μια αξιόπιστη προέλευση. Όταν δημιουργείτε μια βάση δεδομένων που θα χρησιμοποιηθεί από άλλα άτομα, θα πρέπει να προσπαθήσετε να αποφύγετε να συμπεριλάβετε εργαλεία προγραμματισμού που απαιτούν από τον χρήστη να ορίσει τη συγκεκριμένη βάση δεδομένων ως αξιόπιστη. Οι γενικές τεχνικές για να μην απαιτείται από τους χρήστες ο ορισμός της βάσης δεδομένων σας ως αξιόπιστης παρατίθενται παρακάτω σε αυτή την ενότητα.
Προκειμένου να ενισχύσετε την ασφάλεια της βάσης δεδομένων σας, καλό είναι να προσπαθείτε να χρησιμοποιείτε μακροεντολές όποτε μπορείτε και να χρησιμοποιείτε κώδικα VBA μόνο για τις εργασίες που δεν είναι δυνατό να εκτελεστούν με τη χρήση ενεργειών μακροεντολών. Επιπλέον, καλό είναι να δοκιμάσετε να χρησιμοποιείτε μόνο ενέργειες μακροεντολών που δεν απαιτούν να θεωρείται μια βάση δεδομένων ως αξιόπιστη προκειμένου να εκτελεστεί. Ο περιορισμός της χρήσης των ενεργειών μακροεντολών με αυτόν τον τρόπο επιτρέπει στους χρήστες να είναι βέβαιοι ότι η βάση δεδομένων δεν διαθέτει κώδικα προγραμματισμού που θα μπορούσε να βλάψει τα δεδομένα ή άλλα αρχεία στον υπολογιστή τους.
Σημεία προσοχής για τις μακροεντολές
Access περιέχει πολλές νέες ενέργειες μακροεντολών που σας επιτρέπουν να δημιουργείτε πιο ισχυρές μακροεντολές από αυτές που μπορείτε να δημιουργήσετε χρησιμοποιώντας παλαιότερες εκδόσεις του Access. Για παράδειγμα, μπορείτε πλέον να δημιουργείτε και να χρησιμοποιείτε καθολικές προσωρινές μεταβλητές χρησιμοποιώντας ενέργειες μακροεντολών καθώς και να χειρίζεστε τα σφάλματα πιο ομαλά χρησιμοποιώντας νέες ενέργειες μακροεντολών χειρισμού σφαλμάτων. Σε παλαιότερες εκδόσεις του Access, αυτά τα είδη δυνατοτήτων είναι διαθέσιμα μόνο με τη χρήση VBA. Επίσης, μπορείτε να ενσωματώσετε μια μακροεντολή απευθείας στην ιδιότητα συμβάντος ενός αντικειμένου ή στοιχείου ελέγχου. Η ενσωματωμένη μακροεντολή γίνεται μέρος του αντικειμένου ή του στοιχείου ελέγχου και παραμένει μαζί με το αντικείμενο ή το στοιχείο ελέγχου, εάν αυτό μετακινηθεί ή αντιγραφεί.
Οι μακροεντολές παρέχουν έναν εύκολο τρόπο για το χειρισμό πολλών εργασιών προγραμματισμού, όπως το άνοιγμα και το κλείσιμο φορμών και η εκτέλεση αναφορών. Μπορείτε γρήγορα και εύκολα να συνδέσετε τα αντικείμενα βάσης δεδομένων (φόρμες, αναφορές και ούτω καθεξής) που έχετε δημιουργήσει, καθώς η σύνταξη που πρέπει να θυμάστε είναι περιορισμένη. Τα ορίσματα για κάθε ενέργεια εμφανίζονται στη Λειτουργία δόμησης μακροεντολών.
Εκτός από την αυξημένη ασφάλεια και την ευκολία χρήσης που παρέχουν οι μακροεντολές, πρέπει οπωσδήποτε να χρησιμοποιείτε μακροεντολές για την εκτέλεση των ακόλουθων εργασιών:
-
Αντιστοίχιση ενέργειας ή συνόλου ενεργειών σε ένα πλήκτρο. Αυτό απαιτεί τη δημιουργία μιας ομάδας μακροεντολών με το όνομα AutoKeys.
-
Εκτέλεση μιας ενέργειας ή μιας σειράς ενεργειών όταν ανοίγει για πρώτη φορά μια βάση δεδομένων. Αυτό απαιτεί τη δημιουργία μιας ομάδας μακροεντολών με το όνομα AutoExec.
Σημείωση: Η μακροεντολή AutoExec εκτελείται πριν από οποιεσδήποτε άλλες μακροεντολές ή κώδικα VBA, ακόμη και αν έχετε ορίσει μια φόρμα εκκίνησης στο παράθυρο διαλόγου Επιλογές της Access και έχετε προσαρτήσει μια μακροεντολή ή κώδικα VBA στο συμβάν OnOpen ή OnLoad της συγκεκριμένης φόρμας.
Για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας μακροεντολών, ανατρέξτε στην ενότητα Κατανόηση των μακροεντολών.
Σημεία προσοχής για τη VBA
Θα πρέπει να χρησιμοποιήσετε προγραμματισμό σε VBA αντί για μακροεντολές αν θέλετε να κάνετε οποιοδήποτε από τα εξής:
-
Χρησιμοποιήστε ενσωματωμένες συναρτήσεις ή δημιουργήστε τις δικές σας συναρτήσεις Access περιλαμβάνει πολλές ενσωματωμένες συναρτήσεις, όπως η συνάρτηση IPmt , η οποία υπολογίζει την πληρωμή τόκων. Μπορείτε να χρησιμοποιήσετε αυτές τις ενσωματωμένες συναρτήσεις για την εκτέλεση υπολογισμών χωρίς να χρειάζεται να δημιουργήσετε πολύπλοκες παραστάσεις. Με τη χρήση κώδικα VBA, μπορείτε επίσης να δημιουργήσετε τις δικές σας συναρτήσεις για να πραγματοποιήσετε υπολογισμούς που υπερβαίνουν τις δυνατότητες μιας παράστασης ή για να αντικαταστήσετε σύνθετες παραστάσεις. Επίσης, μπορείτε να χρησιμοποιήσετε τις συναρτήσεις που δημιουργείτε σε παραστάσεις για να εφαρμόσετε μια κοινή λειτουργία σε περισσότερα από ένα αντικείμενα.
-
Δημιουργία ή χειρισμός αντικειμένων Στις περισσότερες περιπτώσεις, θα διαπιστώσετε ότι είναι ευκολότερο να δημιουργήσετε και να τροποποιήσετε ένα αντικείμενο στην προβολή σχεδίασης του συγκεκριμένου αντικειμένου. Σε ορισμένες περιπτώσεις, ωστόσο, μπορεί να θέλετε να διαχειριστείτε τον ορισμό ενός αντικειμένου με κώδικα. Με τη χρήση VBA, μπορείτε να χειριστείτε όλα τα αντικείμενα σε μια βάση δεδομένων, επιπλέον της ίδιας της βάσης δεδομένων.
-
Εκτέλεση ενεργειών επιπέδου συστήματος Μπορείτε να εκτελέσετε την ενέργεια RunApp σε μια μακροεντολή για να εκτελέσετε ένα άλλο πρόγραμμα (όπως το Microsoft Excel) μέσα από Access, αλλά δεν μπορείτε να χρησιμοποιήσετε μια μακροεντολή για να κάνετε πολλά άλλα εκτός του Access. Με τη χρήση VBA, μπορείτε να ελέγξετε για να δείτε εάν υπάρχει ένα αρχείο στον υπολογιστή, να χρησιμοποιήσετε αυτοματισμό ή δυναμική ανταλλαγή δεδομένων (DDE) για την επικοινωνία με άλλα προγράμματα που βασίζονται σε Microsoft Windows, όπως το Excel και να καλέσετε συναρτήσεις σε βιβλιοθήκες δυναμικής σύνδεσης (DLL) των Windows.
-
Χειρισμός εγγραφών μία προς μία Μπορείτε να χρησιμοποιήσετε VBA για να μετακινηθείτε μέσα σε ένα σύνολο εγγραφών, κατά μία εγγραφή κάθε φορά και να εκτελέσετε μια λειτουργία σε κάθε εγγραφή. Αντίθετα, οι μακροεντολές λειτουργούν με ολόκληρα σύνολα εγγραφών κάθε φορά.
Χρήση του Οδηγού κουμπιών εντολής για την εκτέλεση κοινών εργασιών προγραμματισμού
Εάν θέλετε να προσθέσετε ένα κουμπί εντολής σε μια φόρμα, ο Οδηγός κουμπιών εντολής μπορεί να σας βοηθήσει να ξεκινήσετε με τον προγραμματισμό. Ο οδηγός σάς βοηθά να δημιουργήσετε ένα κουμπί εντολής που εκτελεί μια συγκεκριμένη εργασία. Σε ένα αρχείο Access (.accdb), ο οδηγός δημιουργεί μια μακροεντολή που είναι ενσωματωμένη στην ιδιότητα OnClick του κουμπιού εντολής. Σε ένα αρχείο .mdb ή .adp, ο οδηγός δημιουργεί κώδικα VBA, επειδή οι ενσωματωμένες μακροεντολές δεν είναι διαθέσιμες σε αυτές τις μορφές αρχείων. Και στις δύο περιπτώσεις, μπορείτε, στη συνέχεια, να τροποποιήσετε ή να βελτιώσετε τη μακροεντολή ή τον κώδικα VBA σύμφωνα με τις ανάγκες σας.
-
Στο Παράθυρο περιήγησης, κάντε δεξί κλικ στη φόρμα στην οποία θέλετε να προσθέσετε το κουμπί εντολής και, στη συνέχεια, κάντε κλικ στην επιλογή Προβολή σχεδίασης.
-
Στην καρτέλα Σχεδίαση φόρμας , κάντε κλικ στο κάτω βέλος για να εμφανίσετε τη συλλογή Στοιχεία ελέγχου και, στη συνέχεια, βεβαιωθείτε ότι είναι ενεργοποιημένη η επιλογή Χρήση οδηγών στοιχείων ελέγχου .
-
Στην καρτέλα Σχεδίαση φόρμας , στη συλλογή Στοιχεία ελέγχου , κάντε κλικ στην επιλογή Κουμπί.
-
Στο πλέγμα σχεδίασης φόρμας, κάντε κλικ στο σημείο όπου θέλετε να τοποθετηθεί το κουμπί εντολής.
Ξεκινά ο Οδηγός κουμπιών εντολής.
-
Στην πρώτη σελίδα του οδηγού, κάντε κλικ σε κάθε κατηγορία στη λίστα Κατηγορίες για να δείτε τις ενέργειες που μπορεί να προγραμματίσει ο οδηγός να εκτελούνται. Στη λίστα Ενέργειες, επιλέξτε την ενέργεια που θέλετε και, στη συνέχεια, κάντε κλικ στο κουμπί Επόμενο.
-
Κάντε κλικ είτε στην επιλογή Κείμενο είτε στην επιλογή Εικόνα, ανάλογα με το αν θέλετε να εμφανίζεται κείμενο ή μια εικόνα στο κουμπί εντολής.
-
Εάν θέλετε να εμφανίζεται κείμενο, μπορείτε να επεξεργαστείτε το κείμενο στο πλαίσιο δίπλα στην επιλογή Κείμενο.
-
Εάν θέλετε να εμφανίζεται μια εικόνα, ο οδηγός προτείνει μια εικόνα από τη λίστα. Εάν θέλετε να επιλέξετε μια διαφορετική εικόνα, επιλέξτε το πλαίσιο ελέγχου Εμφάνιση όλων των εικόνων για να εμφανίσετε μια λίστα με όλες τις εικόνες κουμπιών εντολής που Access παρέχει ή κάντε κλικ στο κουμπί Αναζήτηση για να επιλέξετε μια εικόνα που είναι αποθηκευμένη σε άλλο σημείο.
Κάντε κλικ στο κουμπί Επόμενο.
-
-
Πληκτρολογήστε ένα χαρακτηριστικό όνομα για το κουμπί εντολής. Αυτό το βήμα είναι προαιρετικό και αυτό το όνομα δεν εμφανίζεται στο κουμπί εντολής. Ωστόσο, είναι καλή ιδέα να προσθέσετε ένα χαρακτηριστικό όνομα, έτσι ώστε όταν θέλετε να κάνετε αναφορά στο κουμπί εντολής αργότερα (για παράδειγμα, εάν ορίζετε τη σειρά tab για τα στοιχεία ελέγχου στη φόρμα σας), θα είναι πολύ πιο εύκολο να ξεχωρίσετε τα κουμπιά εντολών. Εάν το κουμπί εντολής κλείνει τη φόρμα, για παράδειγμα, μπορείτε να το ονομάσετε cmdClose ή CommandClose.
-
Κάντε κλικ στο κουμπί Τέλος.
Access τοποθετεί το κουμπί εντολής στη φόρμα.
-
Εάν θέλετε να δείτε τι "προγραμμάτισε" ο οδηγός για εσάς, ακολουθήστε τα παρακάτω προαιρετικά βήματα:
-
Εάν το φύλλο ιδιοτήτων δεν εμφανίζεται ήδη, πατήστε F4 για να το εμφανίσετε.
-
Στο φύλλο ιδιοτήτων, κάντε κλικ στην καρτέλα Συμβάντα.
-
Στο πλαίσιο ιδιότητας Με το κλικ , κάντε κλικ στο κουμπί Δόμηση .
Access εκκινεί τη Λειτουργία δόμησης μακροεντολών και εμφανίζει τη μακροεντολή που δημιούργησε ο οδηγός. Μπορείτε να επεξεργαστείτε τη μακροεντολή εάν θέλετε (για περισσότερες πληροφορίες σχετικά με τον τρόπο για να επεξεργαστείτε μια μακροεντολή, ανατρέξτε στην ενότητα Κατανόηση των μακροεντολών). Όταν τελειώσετε, στην καρτέλα Σχεδίαση μακροεντολής , στην ομάδα Κλείσιμο , κάντε κλικ στην επιλογή Κλείσιμο για να κλείσετε τη Λειτουργία δόμησης μακροεντολών. Εάν Access σάς ζητήσει να αποθηκεύσετε τις αλλαγές και να ενημερώσετε την ιδιότητα, κάντε κλικ στο κουμπί Ναι για να αποθηκεύσετε τις αλλαγές ή στο κουμπί Όχι για να απορρίψετε τις αλλαγές.
-
-
Στην καρτέλα Σχεδίαση φόρμας , στην ομάδα Προβολές , κάντε κλικ στην επιλογή Προβολή και, στη συνέχεια, κάντε κλικ στην επιλογή Προβολή φόρμας. Κάντε κλικ στο νέο κουμπί εντολής για να επιβεβαιώσετε ότι λειτουργεί σύμφωνα με τα αναμενόμενα.
Κατανόηση των μακροεντολών
Μια μακροεντολή είναι ένα εργαλείο που σας επιτρέπει να αυτοματοποιήσετε εργασίες και να προσθέσετε λειτουργικότητα σε φόρμες, αναφορές και στοιχεία ελέγχου. Για παράδειγμα, εάν προσθέσετε ένα κουμπί εντολής σε μια φόρμα, συσχετίζετε την ιδιότητα συμβάντος OnClick του κουμπιού με μια μακροεντολή που περιέχει τις εντολές που θέλετε να εκτελεί το κουμπί κάθε φορά που το πατάτε.
Είναι χρήσιμο να θεωρήσετε Access μακροεντολές ως μια απλοποιημένη γλώσσα προγραμματισμού στην οποία δημιουργείτε κώδικα δημιουργώντας μια λίστα ενεργειών προς εκτέλεση. Όταν δημιουργείτε μια μακροεντολή, επιλέγετε κάθε ενέργεια από μια αναπτυσσόμενη λίστα και, στη συνέχεια, συμπληρώνετε τις απαιτούμενες πληροφορίες για κάθε ενέργεια. Οι μακροεντολές σάς επιτρέπουν να προσθέσετε λειτουργικότητα σε φόρμες, αναφορές και στοιχεία ελέγχου χωρίς τη σύνταξη κώδικα σε μια λειτουργική μονάδα VBA. Οι μακροεντολές παρέχουν ένα υποσύνολο των εντολών που είναι διαθέσιμες στη VBA και για τους περισσότερους χρήστες είναι ευκολότερο να δημιουργήσουν μια μακροεντολή από το να συντάξουν κώδικα VBA.
Μπορείτε να δημιουργήσετε μια μακροεντολή χρησιμοποιώντας τη Λειτουργία δόμησης μακροεντολών, που εμφανίζεται στην παρακάτω εικόνα.
Για να εμφανίσετε τη Λειτουργία δόμησης μακροεντολών:
-
Στην καρτέλα Δημιουργία, στην ομάδα Μακροεντολές & Κώδικας, κάντε κλικ στην επιλογή Μακροεντολή.
Κατανόηση του κώδικα VBA
Όπως και οι μακροεντολές, η VBA σάς επιτρέπει να προσθέτετε αυτοματοποίηση και άλλες λειτουργίες στην εφαρμογή Access. Μπορείτε να επεκτείνετε τη VBA χρησιμοποιώντας στοιχεία ελέγχου τρίτων, καθώς και να συντάξετε τις δικές σας συναρτήσεις και διαδικασίες για τις δικές σας ανάγκες.
Ένας γρήγορος τρόπος για να ξεκινήσετε με τον προγραμματισμό VBA είναι να δημιουργήσετε πρώτα μια μακροεντολή Access και, στη συνέχεια, να τη μετατρέψετε σε κώδικα VBA. Μπορείτε να βρείτε οδηγίες για αυτό στην ενότητα Μετατροπή μακροεντολών σε κώδικα VBA. Αυτή η δυνατότητα δημιουργεί μια νέα λειτουργική μονάδα VBA που εκτελεί τις ισοδύναμες πράξεις με τη μακροεντολή. Ανοίγει επίσης την Επεξεργασία της Visual Basic, για να μπορείτε να αρχίσετε να τροποποιείτε τη διαδικασία. Όταν εργάζεστε στην Επεξεργασία της Visual Basic, μπορείτε να κάνετε κλικ σε λέξεις-κλειδιά και να πατήσετε το πλήκτρο F1 για να ξεκινήσετε Access Βοήθεια για προγραμματιστές και να μάθετε περισσότερα σχετικά με κάθε λέξη-κλειδί. Στη συνέχεια, μπορείτε να εξερευνήσετε Access Βοήθεια για προγραμματιστές και να ανακαλύψετε νέες εντολές που θα σας βοηθήσουν να εκτελέσετε τις εργασίες προγραμματισμού που θέλετε.
Μετατροπή μακροεντολών σε κώδικα VBA
Μπορείτε να χρησιμοποιήσετε Access για την αυτόματη μετατροπή μακροεντολών σε λειτουργικές μονάδες VBA ή λειτουργικές μονάδες κλάσης. Μπορείτε να μετατρέψετε μακροεντολές που είναι προσαρτημένες σε μια φόρμα ή αναφορά, ανεξάρτητα από το αν υπάρχουν ως ξεχωριστά αντικείμενα ή ως ενσωματωμένες μακροεντολές. Μπορείτε επίσης να μετατρέψετε καθολικές μακροεντολές που δεν είναι προσαρτημένες σε μια συγκεκριμένη φόρμα ή αναφορά.
Μετατροπή μακροεντολών που είναι προσαρτημένες σε μια φόρμα ή αναφορά
Αυτή η διαδικασία μετατρέπει σε VBA οποιεσδήποτε μακροεντολές στις οποίες γίνονται αναφορές από (ή είναι ενσωματωμένες σε) μια φόρμα ή αναφορά (ή σε οποιοδήποτε από τα στοιχεία ελέγχου της) και προσθέτει τον κώδικα VBA στη λειτουργική μονάδα κλάσης της φόρμας ή της αναφοράς. Η λειτουργική μονάδα κλάσης γίνεται μέρος της φόρμας ή της αναφοράς και μετακινείται μαζί με τη φόρμα ή την αναφορά, σε περίπτωση μετακίνησης ή αντιγραφής.
-
Στο Παράθυρο περιήγησης, κάντε δεξί κλικ στη φόρμα ή την αναφορά και, στη συνέχεια, κάντε κλικ στην επιλογή Προβολή σχεδίασης.
-
Στην καρτέλα Σχεδίαση φόρμας , στην ομάδα Εργαλεία , κάντε κλικ στην επιλογή Μετατροπή μακροεντολών φόρμας σε Visual Basic ή Μετατροπή μακροεντολών αναφοράς σε Visual Basic.
-
Στο παράθυρο διαλόγου Μετατροπή μακροεντολών φόρμας ή Μετατροπή μακροεντολών αναφοράς , επιλέξτε εάν θέλετε Access για να προσθέσετε κώδικα χειρισμού σφαλμάτων στις συναρτήσεις που δημιουργεί. Επίσης, εάν έχετε σχόλια στις μακροεντολές σας, επιλέξτε εάν θέλετε να συμπεριληφθούν ως σχόλια στις συναρτήσεις. Κάντε κλικ στην επιλογή Μετατροπή για να συνεχίσετε.
Εάν δεν υπάρχει λειτουργική μονάδα κλάσης για τη φόρμα ή την αναφορά, Access δημιουργεί μία και προσθέτει μια διαδικασία στη λειτουργική μονάδα για κάθε μακροεντολή που συσχετίστηκε με τη φόρμα ή την αναφορά. Access αλλάζει επίσης τις ιδιότητες συμβάντος της φόρμας ή της αναφοράς, έτσι ώστε να εκτελούν τις νέες διαδικασίες VBA αντί για τις μακροεντολές.
-
Για να δείτε και να επεξεργαστείτε τον κώδικα VBA:
-
Με τη φόρμα ή την αναφορά ανοιχτή σε προβολή σχεδίασης, εάν το φύλλο ιδιοτήτων δεν εμφανίζεται ήδη, πατήστε F4 για να το εμφανίσετε.
-
Στην καρτέλα Συμβάν του φύλλου ιδιοτήτων, κάντε κλικ σε οποιοδήποτε πλαίσιο ιδιότητας που εμφανίζει την ένδειξη [Διαδικασία συμβάντος] και, στη συνέχεια, κάντε κλικ στο κουμπί δόμησης . Για να δείτε τις ιδιότητες συμβάντων για ένα συγκεκριμένο στοιχείο ελέγχου, κάντε κλικ στο στοιχείο ελέγχου για να το επιλέξετε. Για να δείτε τις ιδιότητες συμβάντων για ολόκληρη τη φόρμα ή την αναφορά, επιλέξτε Φόρμα ή Αναφορά από την αναπτυσσόμενη λίστα στο επάνω μέρος του φύλλου ιδιοτήτων.
Access ανοίγει την Επεξεργασία της Visual Basic και εμφανίζει τη διαδικασία συμβάντος στη λειτουργική μονάδα κλάσης της. Μπορείτε να κάνετε κύλιση προς τα επάνω ή προς τα κάτω για να δείτε οποιαδήποτε άλλη διαδικασία που βρίσκεται στην ίδια λειτουργική μονάδα κλάσης.
-
Μετατροπή καθολικών μακροεντολών
-
Στο παράθυρο περιήγησης, κάντε δεξί κλικ στη μακροεντολή που θέλετε να μετατρέψετε και, στη συνέχεια, επιλέξτε Προβολή σχεδίασης.
-
Στην καρτέλα Σχεδίαση μακροεντολής , στην ομάδα Εργαλεία , κάντε κλικ στην επιλογή Μετατροπή μακροεντολών σε Visual Basic.
-
Στο παράθυρο διαλόγου Μετατροπή μακροεντολής, επιλέξτε τα στοιχεία που θέλετε και, στη συνέχεια, κάντε κλικ στην επιλογή Μετατροπή.
Access μετατρέπει τη μακροεντολή και ανοίγει την Επεξεργασία της Visual Basic.
-
Για να δείτε και να επεξεργαστείτε τον κώδικα VBA:
-
Στην Επεξεργασία της Visual Basic, εάν το παράθυρο "Εξερεύνηση έργου" δεν εμφανίζεται, στο μενού Προβολή, κάντε κλικ στην επιλογή Εξερεύνηση έργου.
-
Αναπτύξτε τη δεντρική δομή κάτω από το όνομα της βάσης δεδομένων στην οποία εργάζεστε.
-
Στην περιοχή Λειτουργικές μονάδες, κάντε διπλό κλικ στη λειτουργική μονάδα Μακροεντολή που μετατράπηκε- όνομα μακροεντολής.
Η Επεξεργασία της Visual Basic ανοίγει τη λειτουργική μονάδα.
-
Προσάρτηση μιας συνάρτησης VBA σε μια ιδιότητα συμβάντος
Όταν μετατρέπετε μια καθολική μακροεντολή σε VBA, ο κώδικας VBA τοποθετείται σε μια τυπική λειτουργική μονάδα. Σε αντίθεση με μια λειτουργική μονάδα κλάσης, μια τυπική λειτουργική μονάδα δεν αποτελεί μέρος μιας φόρμας ή αναφοράς. Πιθανότατα θα θέλετε να συσχετίσετε τη συνάρτηση με μια ιδιότητα συμβάντος σε μια φόρμα, αναφορά ή στοιχείο ελέγχου έτσι ώστε ο κώδικας να εκτελείται ακριβώς όποτε όπου θέλετε. Για να το κάνετε αυτό, μπορείτε να αντιγράψετε τον κώδικα VBA σε μια λειτουργική μονάδα κλάσης και, στη συνέχεια, να τη συσχετίσετε με μια ιδιότητα συμβάντος ή να κάνετε μια ειδική κλήση από την ιδιότητα συμβάντος στην τυπική λειτουργική μονάδα, χρησιμοποιώντας την παρακάτω διαδικασία.
-
Στην Επεξεργασία της Visual Basic, σημειώστε το όνομα της συνάρτησης. Για παράδειγμα, εάν μετατρέψετε μια μακροεντολή με το όνομα MyMacro, το όνομα της συνάρτησης θα είναι MyMacro().
-
Κλείστε την Επεξεργασία της Visual Basic.
-
Στο παράθυρο περιήγησης, κάντε δεξί κλικ στη φόρμα ή την αναφορά με την οποία θέλετε να συσχετίσετε τη συνάρτηση και, στη συνέχεια, κάντε κλικ στην επιλογή Προβολή σχεδίασης.
-
Κάντε κλικ στο στοιχείο ελέγχου ή στην ενότητα με τα οποία θέλετε να συσχετίσετε τη συνάρτηση.
-
Εάν το φύλλο ιδιοτήτων δεν εμφανίζεται ήδη, πατήστε F4 για να το εμφανίσετε.
-
Στην καρτέλα Συμβάν του φύλλου ιδιοτήτων, κάντε κλικ στο πλαίσιο ιδιότητας του συμβάντος με το οποίο θέλετε να συσχετίσετε τη συνάρτηση.
-
Στο πλαίσιο ιδιότητας, πληκτρολογήστε ένα σύμβολο ίσον (=) ακολουθούμενο από το όνομα της συνάρτησης, για παράδειγμα, =MyMacro(). Μην παραλείψετε να συμπεριλάβετε τις παρενθέσεις.
-
Αποθηκεύστε τη φόρμα ή την έκθεση κάνοντας κλικ στο κουμπί Αποθήκευση στη γραμμή εργαλείων γρήγορης πρόσβασης.
-
Στο παράθυρο περιήγησης, κάντε διπλό κλικ στη φόρμα ή την αναφορά και ελέγξτε τη για να δείτε εάν ο κώδικας εκτελείται με τον αναμενόμενο τρόπο.
Τώρα γνωρίζετε τα βασικά βήματα για να προσθέσετε κώδικα VBA στη βάση δεδομένων σας. Αυτό το άρθρο περιγράφει μόνο τα βασικά στοιχεία για να ξεκινήσετε. υπάρχουν πολλά εξαιρετικά βιβλία αναφοράς και online πόροι που μπορούν να σας βοηθήσουν να αναπτύξετε τις δεξιότητες προγραμματισμού σας.
Δείτε επίσης
Δημιουργία μακροεντολής περιβάλλοντος εργασίας χρήστη (UI)
Εκτέλεση μιας μακροεντολής της Access χρησιμοποιώντας μια συντόμευση πληκτρολογίου
Αυτοματοποίηση συμβάντων εκκίνησης με μια μακροεντολή
Δημιουργία μακροεντολής που εκτελείται όταν ανοίγετε μια βάση δεδομένων