Μαθήματα στην Access (Μέρος 6)

από • 07/03/2014 • Access, EducationΣχόλια (0)4602

Μάθετε την 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 με Απλές Ερωτήσεις – Μέρος 6ο

Οι Πίνακες στην 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

 

Πατήστε εδώ για να διαβάσετε το 5ο μέρος

Πατήστε εδώ για να διαβάσετε το 7ο μέρος

Πηγή:

ΠΛΗ.ΝΕ.Τ

Αν βρήκατε το άρθρο μας χρήσιμο, θέλετε να μείνετε ενημερωμένοι για όλα τα νέα στο τομέα της τεχνολογίας καθώς και σε χρηστικά άρθρα, βοηθήστε μας κάνοντας like στην σελίδα μας στο Facebook πατώντας εδώ

Σχετικά Άρθρα