Σελίδα 2 από 2 Πρώτη 12
Εμφάνιση αποτελεσμάτων : 16 έως 18 από 18

(TUTORIALS) Μάθετε την Access με Απλές Ερωτήσεις

Αυτή είναι μια συζήτηση με θέμα: (TUTORIALS) Μάθετε την Access με Απλές Ερωτήσεις στο forums Tutorials & Tricks, μέρος της κατηγορίας Supa Wikipedia (Βοηθήματα) : Συναρτήσεις και Υπορουτίνες Στη VBA υπάρχουν, όπως και στις άλλες γλώσσες προγραμματισμού, δύο είδη διαδικασιών : οι Συναρτήσεις (Functions) και .....

  1. #16

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

    Re: (TUTORIALS) Μάθετε την 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

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

  2. #17

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

    Re: (TUTORIALS) Μάθετε την 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

  3. #18

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

    Re: (TUTORIALS) Μάθετε την 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. 50 απλές συμβουλές για τη σωτηρία του πλανήτη
    By thiseas in forum Περιβάλλον - Οικολογία
    Απαντήσεις: 0
    Τελευταίο Μήνυμα: 25-06-2010, 16:48
  2. Απλές απορίες μέσου Έλληνα...
    By thiseas in forum Αστεία Κείμενα
    Απαντήσεις: 0
    Τελευταίο Μήνυμα: 07-06-2010, 23:28
  3. Απλές και όµορφες
    By Μαρακι in forum ΟΜΟΡΦΙΑ-ΜΑΚΙΓΙΑΖ
    Απαντήσεις: 0
    Τελευταίο Μήνυμα: 03-12-2009, 11:49
  4. Προγραμματισμός σε Access
    By Dr.Overflow in forum ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
    Απαντήσεις: 13
    Τελευταίο Μήνυμα: 13-10-2008, 17:53

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

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