Συνάρτηση InStr

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

Επιστρέφει μια Μεταβλητή (Εκτεταμένης ακρίβειας) που καθορίζει τη θέση της πρώτης εμφάνισης μιας συμβολοσειράς μέσα σε μια άλλη.

Δείτε μερικά παραδείγματα

Σύνταξη

InStr([έναρξη, ] συμβολοσειρά1; συμβολοσειρά2 [, σύγκριση ] )

Η σύνταξη της συνάρτησης InStr περιλαμβάνει τα παρακάτω ορίσματα:

Όρισμα Περιγραφή
έναρξη Προαιρετικό. Αριθμητική παράσταση που ορίζει την αρχική θέση για κάθε αναζήτηση. Εάν παραλειφθεί, η αναζήτηση ξεκινά στη θέση του πρώτου χαρακτήρα. Εάν η έναρξη περιέχει την τιμή Null, προκύπτει σφάλμα. Το όρισμα έναρξη είναι υποχρεωτικό, εάν έχει καθοριστεί το όρισμα σύγκριση.
συμβολοσειρά1 Υποχρεωτικό. Παράσταση συμβολοσειράς στην οποία εκτελείται η αναζήτηση.
συμβολοσειρά2 Υποχρεωτικό. Η παράσταση συμβολοσειράς που αναζητείται.
σύγκριση Προαιρετικό. Καθορίζει τον τύπο σύγκρισης συμβολοσειρών. Εάν το όρισμα σύγκριση είναι Null, προκύπτει σφάλμα. Εάν παραλειφθεί η σύγκριση, η ρύθμιση OptionCompare καθορίζει τον τύπο της σύγκρισης. Καθορίστε ένα έγκυρο LCID (Αναγνωριστικό τοπικών ρυθμίσεων) για να χρησιμοποιήσετε κανόνες για συγκεκριμένες τοπικές ρυθμίσεις στη σύγκριση.

Συμβουλή

Η Δόμηση παραστάσεων διαθέτει IntelliSense, ώστε να μπορείτε να δείτε ποια ορίσματα απαιτεί η παράστασή σας.

Ρυθμίσεις

Οι ρυθμίσεις σύγκρισης ορισμάτων είναι:

Σταθερός Τιμή Περιγραφή
vbUseCompareOption -1 Πραγματοποιεί μια σύγκριση χρησιμοποιώντας τη ρύθμιση της δήλωσης Option Compare .
vbBinaryCompare 0 Εκτελεί δυαδική σύγκριση.
vbTextCompare 1 Πραγματοποιεί μια σύγκριση κειμένου.

Επιστρεφόμενες τιμές

Εάν Το InStr επιστρέφει
Το όρισμα συμβολοσειρά1 είναι μηδενικού μήκους 0
Το όρισμα συμβολοσειρά1 είναι Null Null
Το όρισμα συμβολοσειρά2 έχει μηδενικό μήκος Έναρξη
Το όρισμα συμβολοσειρά2 είναι Null Null
Δεν βρέθηκε το όρισμα συμβολοσειρά2 0
Η συμβολοσειρά2 βρίσκεται μέσα στη συμβολοσειρά1 Θέση στην οποία βρίσκεται η αντιστοιχία
Έναρξη > συμβολοσειράς2 0

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

Η συνάρτηση InStrB χρησιμοποιείται με δεδομένα byte που περιέχονται σε μια συμβολοσειρά. Αντί να επιστρέψει τη θέση χαρακτήρα της πρώτης εμφάνισης μιας συμβολοσειράς μέσα σε μια άλλη, η συνάρτηση InStrB επιστρέφει τη θέση των byte.

Παραδείγματα

Χρήση της συνάρτησης InStr σε παράσταση Μπορείτε να χρησιμοποιήσετε το InStr όπου μπορείτε να χρησιμοποιήσετε παραστάσεις. Για παράδειγμα, εάν θέλετε να βρείτε τη θέση της πρώτης περιόδου (.) σε ένα πεδίο που περιέχει διευθύνσεις IP (με όνομα IPAddress), μπορείτε να χρησιμοποιήσετε τη συνάρτηση InStr για να την βρείτε, ως εξής:

InStr(1,[IPAddress],".")

Η συνάρτηση InStr εξετάζει κάθε τιμή του πεδίου IPAddress και επιστρέφει τη θέση της πρώτης περιόδου. Επομένως, εάν το πρώτο τμήμα της διεύθυνσης IP είναι 10., η συνάρτηση επιστρέφει την τιμή 3.

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

Left([IPAddress],(InStr(1,[IPAddress],".")-1))

Σε αυτό το παράδειγμα, ο τύπος InStr(1,[IPAddress],".") Επιστρέφει τη θέση της πρώτης περιόδου. Η αφαίρεση του 1 καθορίζει πόσοι χαρακτήρες προηγούνται της πρώτης τελείας, σε αυτήν την περίπτωση του 2. Στη συνέχεια, η συνάρτηση Left εξάγει τόσους πολλούς χαρακτήρες από το αριστερό τμήμα του πεδίου IPAddress, επιστρέφοντας την τιμή 10.

Χρήση του InStr σε κώδικα VBA 

Σημείωση

Τα παραδείγματα που ακολουθούν δείχνουν τη χρήση αυτής της συνάρτησης σε μια λειτουργική μονάδα Visual Basic for Applications (VBA).

Αυτό το παράδειγμα χρησιμοποιεί τη συνάρτηση InStr για να επιστρέψει τη θέση της πρώτης εμφάνισης μιας συμβολοσειράς μέσα σε μια άλλη.


Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP"    ' String to search in.
SearchChar = "P"    ' Search for "P".
' A textual comparison starting at position 4. Returns 6.
MyPos = Instr(4, SearchString, SearchChar, 1)    
' A binary comparison starting at position 1. Returns 9.
MyPos = Instr(1, SearchString, SearchChar, 0)
' Comparison is binary by default
' (last argument is omitted).
MyPos = Instr(SearchString, SearchChar)    ' Returns 9.
MyPos = Instr(1, SearchString, "W")    ' Returns 0.

Δείτε επίσης

Συναρτήσεις συμβολοσειράς και πώς χρησιμοποιούνται