Written by: Education Access

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

This entry is part 6 of 7 in the series Μαθήματα στην Access

Μάθετε την 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

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

Series Navigation<< Μαθήματα στην Access (Μέρος 5)Μαθήματα στην Access (Μέρος 7) >>
(Visited 351 times, 1 visits today)
Ετικέτες: Last modified: 18/10/2019