Μάθετε την Access με Απλές Ερωτήσεις – Μέρος 6ο
Εντολές της VBA
Εντολές για Ορισμό Σταθερών και Μεταβλητών
Const
Με την εντολή αυτή ορίζουμε σταθερές.
Π.χ.
Public Const PI = 3.14159
Dim
Δηλώνουμε μια μεταβλητή ή έναν πίνακα μεταβλητών στο τμήμα Declarations μιας υπομονάδας που θα μπορεί να χρησιμοποιηθεί σ’ όλες τις διαδικασίες της υπομονάδας. Μπορούμε, ακόμη, να χρησιμοποιήσουμε την εντολή Dim μέσα σε μια διαδικασία για να δηλώσουμε μια τοπική μεταβλητή στη διαδικασία αυτή.
Π.χ.
Dim intMyInteger As Integer Dim dbMyDatabase As Database Dim strMyString (51 To 100) As String * 20
Public
Με την εντολή αυτή δηλώνουμε καθολικές μεταβλητές στο τμήμα Declarations μιας υπομονάδας.
Π.χ.
Public lngMyNumber As Long
Υπάρχει και η εντολή Private, με την οποία δηλώνουμε μια μεταβλητή ή σταθερή που θα είναι διαθέσιμη μόνο μέσα στην υπομονάδα όπου γίνεται η δήλωση. Η δήλωση Private είναι default.
ReDim
Δηλώνουμε δυναμικά έναν πίνακα μέσα σε μια διαδικασία ή αλλάζουμε τις διαστάσεις ενός δηλωμένου πίνακα μέσα σε μια διαδικασία κατά το χρόνο εκτέλεσης.
Π.χ.
ReDim strProductNames(20) As String * 25
Static
Δηλώνουμε μια μεταβλητή που θα χρησιμοποιηθεί μόνο μέσα σε μια διαδικασία και στην οποία η Access δεν θα επαναφέρει την αρχική της τιμής για όσο διάστημα θα είναι ανοιχτή η υπομονάδα που περιέχει τη διαδικασία αυτή.
Π.χ.
Static intMyInteger As Integer Static strMyString (51 To 100) As String * 20
Type
Την χρησιμοποιούμε σ’ ένα τμήμα Declarations για να δημιουργήσουμε μια δομή δεδομένων ορισμένη από το χρήστη που θα περιέχει μία ή περισσότερες μεταβλητές. Μπορούμε επίσης να χρησιμοποιήσουμε την εντολή Type για να δηλώσουμε μια δομή εγγραφής.
Αφού δηλώσουμε μια δομή δεδομένων ορισμένη από το χρήστη, θα μπορούμε να χρησιμοποιήσουμε το όνομα τύπου σε οποιαδήποτε επόμενη εντολή Dim, Public ή Static για να δημιουργήσουμε μια μεταβλητή αυτού του τύπου.
Μπορούμε να αναφερόμαστε στις μεταβλητές μιας τέτοιας δομής δεδομένων, εισάγοντας το όνομα της μεταβλητής, μια τελεία και το όνομα της μεταβλητής που είναι μέσα στη δομή.
Π.χ.
Type MyRecord lngID As Long strLast As String strFirst As String strMid As String End Type ... Dim usrContacts As MyRecord usrContacts.strLast = ‘Jones’
Οι Πίνακες στην Access
Πίνακες μπορούμε να δηλώσουμε με τις εντολές Dim, ReDim και Static. Σ’ έναν πίνακα μπορούμε να έχουμε μέχρι και 60 διαστάσεις. Αν δεν ορίσουμε το κάτω όριο σε μια διάσταση ενός πίνακα, η προεπιλογή είναι το 0. Μπορούμε να αλλάξουμε την προεπιλεγμένη τιμή του κάτω ορίου με την εντολή Option Base στο τμήμα Declarations της υπομονάδας :
Option Base 1
Το κάτω όριο μιας διάστασης ενός πίνακα θα πρέπει να είναι μεγαλύτερο από τον αριθμό -32.768 και το πάνω όριο θα πρέπει να είναι μικρότερο από τον αριθμό 32.767.
Η Εντολή Set
Με την εντολή αυτή μπορούμε να αντιστοιχίσουμε μεταβλητές αντικειμένου σε ονόματα βάσεων δεδομένων, πινάκων και πεδίων για να κάνουμε ευκολότερα τη δουλειά μας. Δείτε τα παρακάτω παραδείγματα :
Dim dbMyDB As Database Set dbMyDB = CurrentDb() Η μεταβλητή dbMyDB αναφέρεται στην τρέχουσα βάση δεδομένων. Dim tblMyTable As TableDef Set tblMyTable = dbMyDB.TableDefs![tblClubs]
Η μεταβλητή tblMyTable αναφέρεται στον πίνακα tblClubs της τρέχουσας βάσης δεδομένων.
Dim fldMyField As Field Set fldMyField = tblMyTable![Notes]
Η μεταβλητή fldMyField αναφέρεται στο πεδίο Notes του πίνακα tblClubs της τρέχουσας βάσης δεδομένων.
Επεξεργασία των Εγγραφών μιας Βάσης Δεδομένων
Η Access χρησιμοποιεί πολλές εντολές με πολλές επιλογές για να επεξεργαστεί τις εγγραφές ενός πίνακα μιας βάσης δεδομένων. Εδώ θα δούμε με απλά παραδείγματα το πώς μπορούμε να επεξεργαστούμε τις εγγραφές ενός πίνακα.
Dim dbEntSched As Database Dim rcdClubs As RecordSet Set dbEntSched = CurrentDb() Set rcdClubs = dbEntSched.OpenRecordSet(‘tblClubs’, dbOpenTable)
Μπορούμε να χρησιμοποιήσουμε μια από τις μεθόδους Move για να μετακινηθούμε σε μια συγκεκριμένη εγγραφή. Π.χ. recordset.MoveFirst για να μετακινηθούμε στην πρώτη εγγραφή. Άλλες επιλογές είναι οι MoveLast, MoveNext και MovePrevious.
Για να μετακινηθούμε σε μια άλλη εγγραφή, πρέπει να χρησιμοποιήσουμε τη μέθοδο Find με κάποια κριτήρια. Για παράδειγμα, για να βρούμε το πρώτο στοιχείο ενός συνόλου εγγραφών του οποίου η τιμή AmountOwed είναι μικρότερη από 100$, δίνουμε :
Dim dbEntSched As Database Dim rcdAPContracts As RecordSet Set dbEntSched = CurrentDb() rcdAPContracts.FindFirst ‘AmountOwed > 100’
Για να διαγράψουμε μια εγγραφή, πρώτα μετακινούμαστε στην εγγραφή αυτή και μετά χρησιμοποιούμε τη μέθοδο Delete. Για παράδειγμα, για να διαγράψουμε το πρώτο στοιχείο ενός συνόλου εγγραφών του οποίου η τιμή AmountOwed είναι ίση με 0, δίνουμε :
rcdAPContracts.FindFirst ‘AmountOwed = 0’ If Not rcdAPContracts.NoMatch Then rcdAPContracts.Delete End If
Για να ενημερώσουμε κάποιες εγγραφές, πρώτα πηγαίνουμε στην πρώτη εγγραφή που θέλουμε να ενημερώσουμε και μετά χρησιμοποιούμε τη μέθοδο Edit. Τέλος, θα πρέπει να χρησιμοποιήσουμε και τη μέθοδο Update για να ισχύσουν οι αλλαγές. Για παράδειγμα, για να αυξήσουμε κατά 10% την καταχώριση AmountOwed της πρώτης εγγραφής με τιμή μεγαλύτερη από 100, δίνουμε :
rcdAPContracts.FindFirst ‘AmountOwed > 100’ If Not rcdAPContracts.NoMatch Then rcdAPContracts.Edit rcdAPContracts![AmountOwed] = rcdAPContracts![AmountOwed] * 1.1 rcdAPContracts.Update End If
Για να εισάγουμε μια νέα εγγραφή σ’ ένα σύνολο εγγραφών, πρέπει να χρησιμοποιήσουμε τη μέθοδο AddNew. Δίνουμε όλες τις τιμές που θέλουμε στα πεδία και τέλος χρησιμοποιούμε και τη μέθοδο Update για να γίνει η αποθήκευση.
rcdClubs.AddNew rcdClubs![ClubName] = ‘Winthrop Brewing Co.’ rcdClubs![StreetAddress] = ‘155 Riverside ave.’ rcdClubs![City] = ‘Winthrop’ rcdClubs![State] = ‘WA’ rcdClubs![ZipCode] = ‘98862’ rcdClubs![PhoneNumber] = ‘(509) 996-3183’ rcdClubs.Update
Αν βρήκατε το άρθρο μας χρήσιμο, θέλετε να μείνετε ενημερωμένοι για όλα τα νέα στο τομέα της τεχνολογίας καθώς και σε χρηστικά άρθρα, βοηθήστε μας κάνοντας like στην σελίδα μας στο Facebook πατώντας εδώ