Συνάρτηση Seek

Ισχύει για
Access για Microsoft 365 Access 2021 Access 2019 Access 2016

Σημείωση

Η συνάρτηση, η μέθοδος, το αντικείμενο ή η ιδιότητα που περιγράφεται σε αυτό το θέμα είναι απενεργοποιημένη εάν η υπηρεσία παραστάσεων Microsoft Jet εκτελείται σε κατάσταση λειτουργίας φίλτρου, κάτι που αποτρέπει τον υπολογισμό πιθανώς μη ασφαλών παραστάσεων. Για περισσότερες πληροφορίες σχετικά με τη λειτουργία φίλτρου, κάντε αναζήτηση για "λειτουργία φίλτρου" στη Βοήθεια.

Επιστρέφει μια τιμή Long που καθορίζει την τρέχουσα θέση ανάγνωσης/εγγραφής μέσα σε ένα αρχείο που έχει ανοίξει χρησιμοποιώντας την πρόταση Open .

Σύνταξη

Seek(αριθμός αρχείου)

Το απαιτούμενο όρισμα αριθμός αρχείουείναι ένας Ακέραιος που περιέχει έγκυρο αριθμό αρχείου.

Παρατηρήσεις

Η συνάρτηση Seek επιστρέφει μια τιμή μεταξύ 1 και 2.147.483.647 (που ισοδυναμεί με 2^31 – 1).

Παρακάτω περιγράφονται οι τιμές που επιστρέφονται για κάθε λειτουργία πρόσβασης αρχείων.

Επικρατούσα τιμή Τιμή επιστροφής
Τυχαία Αριθμός της επόμενης εγγραφής που έχει αναγνωστεί ή συνταχθεί
Δυαδικό,
Έξοδος,
Προσάρτηση,
Είσοδος
Θέση byte στην οποία πραγματοποιείται η επόμενη λειτουργία. Το πρώτο byte σε ένα αρχείο βρίσκεται στη θέση 1, το δεύτερο byte είναι στη θέση 2 και ούτω καθεξής.

    

Παράδειγμα

Σημείωση

Παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε μια λειτουργική μονάδα Visual Basic for Applications (VBA). Για περισσότερες πληροφορίες σχετικά με την εργασία με τη VBA, επιλέξτε Αναφορά προγραμματιστών στην αναπτυσσόμενη λίστα δίπλα στην Αναζήτηση και πληκτρολογήστε έναν ή περισσότερους όρους στο πλαίσιο αναζήτησης.

Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση Seek για να επιστρέψει την τρέχουσα θέση αρχείου. Το παράδειγμα προϋποθέτει ότι TESTFILE είναι ένα αρχείο που περιέχει εγγραφές του τύπου Recordπου ορίζεται από το χρήστη.

Type Record    ' Define user-defined type.
    ID As Integer
    Name As String * 20
End Type

Για τα αρχεία που έχουν ανοίξει σε τυχαία λειτουργία, η αναζήτηση επιστρέφει τον αριθμό της επόμενης εγγραφής.

Dim MyRecord As Record    ' Declare variable.
Open "TESTFILE" For Random As #1 Len = Len(MyRecord)
Do While Not EOF(1)    ' Loop until end of file.
    Get #1, , MyRecord    ' Read next record.
    ' Print record number to the Immediate window.
    Debug.Print Seek(1)    
Loop
Close #1    ' Close file.

Για τα αρχεία που έχουν ανοιχτεί σε λειτουργίες εκτός της τυχαίας λειτουργίας, η αναζήτηση επιστρέφει τη θέση των byte στην οποία πραγματοποιείται η επόμενη λειτουργία. Ας υποθέσουμε ότι TESTFILE είναι ένα αρχείο που περιέχει μερικές γραμμές κειμένου.

Dim MyChar
Open "TESTFILE" For Input As #1 ' Open file for reading.
Do While Not EOF(1) ' Loop until end of file.
    MyChar = Input(1, #1) ' Read next character of data.
    ' Print byte position to the Immediate window. 
    Debug.Print Seek(1) 
Loop
Close #1    ' Close file.