Εμφάνιση αποτελεσμάτων : 1 έως 14 από 14

Προγραμματισμός σε Access

Αυτή είναι μια συζήτηση με θέμα: Προγραμματισμός σε Access στο forums ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ, μέρος της κατηγορίας Supa Wikipedia (Βοηθήματα) : ΥΠΟΜΟΝΑΔΕΣ (Modules) Τι είναι οι Υπομονάδες της Access και ποια η χρησιμότητά τους; Οι υπομονάδες (modules) της Access είναι στην .....

  1. #1

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Προγραμματισμός σε Access

    ΥΠΟΜΟΝΑΔΕΣ (Modules)

    Τι είναι οι Υπομονάδες της Access και ποια η χρησιμότητά τους;

    Οι υπομονάδες (modules) της Access είναι στην ουσία η γλώσσα προγραμματισμού που έχει η Access. Επειδή οι μακροεντολές της Access είναι περιορισμένες σε κάποιες συγκεκριμένες εντολές, υπάρχουν και οι υπομονάδες που έχουν απεριόριστες δυνατότητες.

    Με τις υπομονάδες μπορούμε να δημιουργήσουμε όσες μεταβλητές και σταθερές θέλουμε και να ελέγξουμε και να τροποποιήσουμε όποια πεδία των πινάκων της Access θέλουμε. Μπορούμε, ακόμη, πολύ εύκολα, να δημιουργήσουμε συνθήκες, εντολές ροής, εντολές επανάληψης (βρόχους), συναρτήσεις (functions) και υπορουτίνες (subroutines).

    Η Visual Basic for Applications (VBA), η γλώσσα προγραμματισμού της Access, δεν διαφέρει και δεν υστερεί σε τίποτα από τις άλλες γλώσσες προγραμματισμού. Κάθε πρόγραμμα (κώδικας) της VBA αποθηκεύεται σε υπομονάδες (modules). Υπάρχουν δύο τρόποι δημιουργίας υπομονάδων : σαν αντικείμενο υπομονάδας ή σαν μέρος ενός αντικειμένου φόρμας ή αναφοράς.

    Oι χρήστες του Supa.gr χρησιμοποιούν το "Like" για να εκτιμήσουν τις δημοσιεύσεις

  2. #2

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Re: Προγραμματισμός σε Access

    Τι είναι το Αντικείμενο Υπομονάδας;

    Είναι ένας κώδικας προγράμματος που περιέχει διαδικασίες που θα μπορούν να χρησιμοποιηθούν από ένα ή περισσότερα ερωτήματα, φόρμες ή αναφορές. Μια διαδικασία που έχει οριστεί σ’ ένα αντικείμενο υπομονάδας, μπορεί να κληθεί από οποιοδήποτε σημείο της εφαρμογής μας.

    Μπορούμε να δούμε τα αντικείμενα υπομονάδων μιας βάσης δεδομένων πατώντας στην καρτέλα Modules (Υπομονάδες).

  3. #3

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Re: Προγραμματισμός σε Access

    Τι είναι οι Υπομονάδες Φορμών και Αναφορών;

    Είναι υπομονάδες που ανήκουν αποκλειστικά σε κάποια φόρμα ή αναφορά. Μπορούμε να διορθώσουμε την υπομονάδα μιας φόρμας ή αναφοράς ανοίγοντας τη φόρμα ή την αναφορά σε Άποψη Σχεδιασμού και πατώντας στο κουμπί Code (Eώδικας) της γραμμής εργαλείων ή επιλέγοντας την εντολή Code από το μενού View.

  4. #4

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Re: Προγραμματισμός σε Access

    Περιγράψτε το Παράθυρο Υπομονάδας

    Το παράθυρο υπομονάδας δημιουργείται όταν ανοίξουμε μια υπομονάδα σε Άποψη Σχεδιασμού. Η Access μάς τοποθετεί αυτόματα στο τμήμα Declarations (Δηλώσεις), όπου μπορούμε να ορίσουμε εκείνες τις μεταβλητές που θα τις μοιράζονται όλες οι διαδικασίες της υπομονάδας.

    Στη γραμμή τίτλου του παραθύρου βλέπουμε το όνομα της υπομονάδας και ακριβώς από κάτω υπάρχουν δύο πλαίσια πτυσσόμενου καταλόγου :

    Πλαίσιο Καταλόγου Αντικειμένων (Object)

    Όταν δουλεύουμε μ’ ένα αντικείμενο υπομονάδας, εδώ εμφανίζεται μόνο η επιλογή General. Όταν δουλεύουμε με μια υπομονάδα φόρμας ή αναφοράς, επιλέγουμε τη φόρμα ή την αναφορά από τον κατάλογο και τότε στο πλαίσιο καταλόγου διαδικασιών (Proc) εμφανίζονται οι διαθέσιμες διαδικασίες συμβάντων για το αντικείμενο που έχουμε επιλέξει.

    Πλαίσιο Καταλόγου Διαδικασιών (Proc)

    Όταν δουλεύουμε μ’ ένα αντικείμενο υπομονάδας, εδώ εμφανίζονται με αλφαβητική σειρά όλες οι διαδικασίες που έχει η υπομονάδα. Όταν δουλεύουμε με μια υπομονάδα φόρμας ή αναφοράς, εδώ εμφανίζονται οι διαθέσιμες διαδικασίες συμβάντων που ανήκουν στη φόρμα ή την αναφορά.

  5. #5

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Re: Προγραμματισμός σε Access

    Πώς δημιουργώ μια νέα Διαδικασία σε μια Υπομονάδα;

    Μέσα στο παράθυρο υπομονάδας, γράφουμε την εντολή Function (Συνάρτηση) ή Sub (Υπορουτίνα) και μετά πατάμε στο κουμπί Εισαγωγής Διαδικασίας (Insert Procedure) της γραμμής εργαλείων ή επιλέγουμε την εντολή Procedure από το μενού Insert. Η Access θα ξεκινήσει τότε αυτόματα μια νέα διαδικασία και θα βάλει στο τέλος την εντολή End Function ή End Sub αντίστοιχα.

  6. #6

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Re: Προγραμματισμός σε Access

    Τύποι Δεδομένων της VBA

    Οι τύποι δεδομένων της VBA είναι παρόμοιοι με τους τύπους δεδομένων των πεδίων μιας βάσης δεδομένων.

    Οι τύποι δεδομένων είναι : Byte, Integer (%), Long (&), Single (!), Double (#), Currency (@), String ($), Boolean, Date Object, Variant και User-defined. Τα σύμβολα μέσα στην παρένθεση είναι ο χαρακτήρας που τοποθετείται μετά το όνομα της μεταβλητής για να προσδιορίσει τον τύπο της.

  7. #7

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Re: Προγραμματισμός σε Access

    Εμβέλεια Μεταβλητών και Σταθερών

    Μια μεταβλητή ή μια σταθερά μπορεί να είναι “ορατή” σε μία μόνο διαδικασία (τοπική εμβέλεια), σ’ όλες τις διαδικασίες μιας υπομονάδας ή σ’ όλες τις διαδικασίες της βάσης δεδομένων μας (καθολική εμβέλεια).

    Για να δηλώσουμε μια καθολική μεταβλητή, χρησιμοποιούμε την εντολή Public στο τμήμα Declarations ενός αντικειμένου υπομονάδας. Για να δηλώσουμε μια καθολική σταθερά, χρησιμοποιούμε τη λέξη Public μαζί με μια εντολή Const στο τμήμα Declarations.

    Για να δηλώσουμε μια μεταβλητή ή σταθερά που θα μπορεί να χρησιμοποιηθεί απ’ όλες τις διαδικασίες μιας υπομονάδας, την ορίζουμε στο τμήμα Declarations της υπομονάδας.

    Για να δηλώσουμε μια μεταβλητή ή σταθερά που θα μπορεί να χρησιμοποιηθεί μόνο σε μια συγκεκριμένη διαδικασία, την ορίζουμε σαν μέρος της διαδικασίας.

    Σε μια βάση δεδομένων, μπορούμε να δώσουμε ίδια ονόματα σε μεταβλητές που ανήκουν σε διαφορετικές υπομονάδες καθώς και σε μεταβλητές που έχουν καθολική ή τοπική εμβέλεια. Στην πρώτη περίπτωση, για να ξεχωρίσουμε τις μεταβλητές, γράφουμε πριν απ’ το όνομά τους, το όνομα της υπομονάδας που ανήκουν. Π.χ., οι μεταβλητές module1.intx και module2.intx έχουν ίδιο όνομα (intx) αλλά ανήκουν σε διαφορετικές υπομονάδες.

    Στη δεύτερη περίπτωση, ισχύει ό,τι και σ’ άλλες γλώσσες προγραμματισμού, δηλ. μέσα σε μια διαδικασία υπερισχύουν οι τοπικές μεταβλητές και έξω από τη διαδικασία υπερισχύουν οι καθολικές μεταβλητές.

  8. #8

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Re: Προγραμματισμός σε Access

    [center:19kiuuzp]Εντολές της VBA[/center:19kiuuzp]

    Εντολές για Ορισμό Σταθερών και Μεταβλητών

    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’

  9. #9

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Re: Προγραμματισμός σε Access

    Οι Πίνακες στην Access

    Πίνακες μπορούμε να δηλώσουμε με τις εντολές Dim, ReDim και Static. Σ’ έναν πίνακα μπορούμε να έχουμε μέχρι και 60 διαστάσεις. Αν δεν ορίσουμε το κάτω όριο σε μια διάσταση ενός πίνακα, η προεπιλογή είναι το 0. Μπορούμε να αλλάξουμε την προεπιλεγμένη τιμή του κάτω ορίου με την εντολή Option Base στο τμήμα Declarations της υπομονάδας :

    Option Base 1

    Το κάτω όριο μιας διάστασης ενός πίνακα θα πρέπει να είναι μεγαλύτερο από τον αριθμό -32.768 και το πάνω όριο θα πρέπει να είναι μικρότερο από τον αριθμό 32.767.

  10. #10

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Re: Προγραμματισμός σε Access

    Η Εντολή 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 της τρέχουσας βάσης δεδομένων.

  11. #11

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Re: Προγραμματισμός σε Access

    Επεξεργασία των Εγγραφών μιας Βάσης Δεδομένων

    Η 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

  12. #12

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Re: Προγραμματισμός σε Access

    Συναρτήσεις και Υπορουτίνες

    Στη VBA υπάρχουν, όπως και στις άλλες γλώσσες προγραμματισμού, δύο είδη διαδικασιών : οι Συναρτήσεις (Functions) και οι Υπορουτίνες (Subroutines). Και οι τύποι διαδικασιών μπορούν να δεχθούν παραμέτρους. Οι συναρτήσεις μπορούν να επιστρέψουν μια τιμή δεδομένων, ενώ οι υπορουτίνες όχι.

    Function

    Μπορούμε να χρησιμοποιήσουμε μια εντολή Function για να δηλώσουμε μια νέα συνάρτηση, τις παραμέτρους που θα δέχεται, τον τύπο μεταβλητής που θα επιστρέφει και τον κώδικα που θα εκτελεί τη διαδικασία συνάρτησης.

    Θα πρέπει να δηλώσουμε τον τύπο δεδομένων όλων των ορισμάτων που μπορεί να δεχθεί η συνάρτηση στη λίστα παραμέτρων της. Αν χρησιμοποιήσουμε τη δεσμευμένη λέξη ByVal για να δηλώσουμε ένα όρισμα, τότε αυτή θα είναι κλήση με τιμή. Δηλαδή, οποιαδήποτε αλλαγή κάνουμε σ’ ένα όρισμα ByVal μέσα στη συνάρτηση, δεν θα αλλάξει την αρχική μεταβλητή.

    Αν χρησιμοποιήσουμε τη δεσμευμένη λέξη ByRef για να δηλώσουμε ένα όρισμα, τότε αυτή θα είναι κλήση με αναφορά. Δηλαδή, οποιαδήποτε αλλαγή κάνουμε σ’ ένα όρισμα ByRef μέσα στη συνάρτηση, θα αλλάξει και την αρχική μεταβλητή.

    Μπορούμε να χρησιμοποιήσουμε την εντολή Exit Function σε οποιοδήποτε σημείο της συνάρτησης, για να βγούμε από τη συνάρτηση ομαλά και να επιστρέψουμε στη διαδικασία κλήσης.

    Για παράδειγμα, για να δημιουργήσουμε μια συνάρτηση με όνομα MyFunction που θα δέχεται ένα ακέραιο και ένα αλφαριθμητικό όρισμα και θα επιστρέφει μια τιμή διπλής ακρίβειας, γράφουμε :

    Function MyFunction (intArg1 As Integer, strArg2 As String) As Double

    <εντολές συνάρτησης>

    End Function

    Sub

    Μπορούμε να χρησιμοποιήσουμε μια εντολή Sub για να δηλώσουμε μια νέα υπορουτίνα, τις παραμέτρους που θα δέχεται και τον κώδικά της.

    Μπορούμε να χρησιμοποιήσουμε την εντολή Exit Sub σε οποιοδήποτε σημείο της υπορουτίνας, για να βγούμε από την υπορουτίνα ομαλά και να επιστρέψουμε στη διαδικασία κλήσης.

    Για παράδειγμα, για να δημιουργήσουμε μια υπορουτίνα με όνομα MySub που θα δέχεται δύο αλφαριθμητικά ορίσματα, αλλά θα μπορεί να τροποποιήσει μόνο το δεύτερο, γράφουμε :

    Sub MySub (ByVal strArg1 As String, ByRef strArg2 As String)

    <εντολές υπορουτίνας>

    End Sub

  13. #13

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Re: Προγραμματισμός σε Access

    Έλεγχος της Ροής των Εντολών

    Call


    Μεταφέρει τον έλεγχο σε μια υπορουτίνα.

    Π.χ.

    Call MySub (intMyInteger, curPrice * intQty)



    Do ... Loop


    Εκτελεί ένα σύνολο εντολών πολλές φορές μέχρις ότου γίνει ψευδής ή αληθής μια συνθήκη. Δέχεται και τις δύο εκφράσεις While και Until, τις οποίες μπορούμε να βάλουμε στην αρχή ή στο τέλος του βρόχου.

    Π.χ.

    Do Until rcdClubs.EOF

    <εντολές διαδικασίας>

    rcdClubs.MoveNext

    Loop



    For ... Next

    Εκτελεί ένα σύνολο εντολών συγκεκριμένες φορές.

    Π.χ.

    For intI = 0 To 4

    Debug.Print dbEntSched.QueryDefs(intI).Name

    Next intI



    For Each ... Next


    Εκτελεί ένα σύνολο εντολών για κάθε στοιχείο μιας συλλογής ή μήτρας.

    Π.χ.

    For Each qdf In dbEntSched.QueryDefs

    Debug.Print qdf.Name

    Next qdf



    GoTo

    Πηγαίνει, χωρίς περιορισμό, σε κάποια άλλη εντολή.

    Π.χ.

    GoTo SkipOver



    If ... Then ... Else

    Εκτελεί κάποιες εντολές ανάλογα με την τιμή που επιστρέφει μια συνθήκη.

    Π.χ.

    Dim strMyString As String, strFirst As String, intVal As Integer

    strFirst = Ucase$(Mid$(strMyString, 1, 1))

    If strFirst >= ‘A’ And strFirst <= ‘F’ Then

    intVal = 1

    ElseIf strFirst >= ‘G’ And strFirst <= ‘N’ Then

    intVal = 2

    ElseIf strFirst >= ‘O’ And strFirst <= ‘Z’ Then

    intVal = 3

    Else

    intVal = 0

    End If



    Select Case

    Εκτελεί εντολές υπό συνθήκη, με βάση το αποτέλεσμα της σύγκρισης της τιμής μιας παράστασης μ’ έναν κατάλογο ή ένα εύρος τιμών.

    Π.χ.

    Dim strMyString As String, intVal As Integer

    Select Case Ucase$(Mid$(strMyString, 1, 1))

    Case ‘A’ To ‘F’

    intVal = 1

    Case ‘G’ To ‘N’

    intVal = 2

    Case ‘O’ To ‘Z’

    intVal = 3

    Case Else

    intVal = 0

    End Select



    Stop

    Αναστέλλει προσωρινά την εκτέλεση μιας διαδικασίας.



    While ... Wend

    Εκτελεί συνέχεια ένα σύνολο εντολών για όσο διάστημα είναι αληθής μια συνθήκη.

    Π.χ.

    While Not rcdClubs.EOF

    <εντολές διαδικασίας>

    rcdClubs.MoveNext

    Wend



    With

    Είναι παρόμοια με την εντολή With της Pascal.

    Π.χ.

    Dim rst As Recordset, db As Database

    Set db = CurentDb()

    Set rst = db.OpenRecordset(‘MyTable’, dbOpenDynaset, dbAppendOnly)

    With rst

    .Addnew

    ![FieldOne] = ‘1’

    ![FieldTwo] = ‘John’

    ![FieldThree] = ‘Viescas’

    .Update

    .Close

    End With

  14. #14

    Εγγραφή
    Jun 2008
    Περιοχή
    Athens
    Μηνύματα
    8.313
    Liked
    567 times
    Τα Στατιστικά μου στο Arcade
    Blog Entries
    3

    Re: Προγραμματισμός σε Access

    Εκτέλεση Ενεργειών Μακροεντολών

    Στη VBA μπορούμε να εκτελέσουμε τις περισσότερες από τις ενέργειες μακροεντολών. Για όσες, όμως, ενέργειες μακροεντολών δεν μπορούν να εκτελεστούν μέσα σε μια διαδικασία της VBA, υπάρχουν ισοδύναμες εντολές της VBA. Για να εκτελέσουμε μια ενέργεια μακροεντολής μέσα από τη VBA, χρησιμοποιούμε το αντικείμενο DoCmd.

    DoCmd

    Π.χ. για να ανοίξουμε τη φόρμα Customer στην Άποψη Φόρμας για να εισαγάγουμε δεδομένα, γράφουμε :

    DoCmd.OpenForm ‘Customer’, acNormal, , ,acAdd

    Για να κλείσουμε τη φόρμα Supplier, γράφουμε :

    DoCmd.Close acForm, ‘Supplier’

 

 

Πληροφορίες Θέματος

Users Browsing this Thread

Υπάρχουν 1 χρήστης/ες που πλοηγούνται σ' αυτό το θέμα. (0 μέλος/η και 1 επισκέπτης/ες)

Παρόμοια Θέματα

  1. Καισαρική τομή και προγραμματισμός κύησης
    By Μαρακι in forum ΕΓΚΥΜΟΣΥΝΗ - ΤΟΚΕΤΟΣ
    Απαντήσεις: 0
    Τελευταίο Μήνυμα: 24-06-2010, 12:30
  2. Απαντήσεις: 17
    Τελευταίο Μήνυμα: 06-08-2008, 15:19

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύετε νέα θέματα
  • Δεν μπορείτε να απαντάτε σε θέματα
  • Δεν μπορείτε να δημοσιεύετε συνημμένα
  • Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας
  •