Applies ToAccess cho Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Trả về một Biến_thể (Dài) xác định vị trí của một chuỗi xuất hiện lần đầu tiên trong một chuỗi khác.

Xem một số ví dụ

Cú pháp

InStr ([start, ] string1, string2 [, compare ] )

pháp hàm InStr có các đối số sau đây:

Đối số

Mô tả

bắt đầu

Không bắt buộc. Biểu thức số đặt vị trí bắt đầu cho mỗi tìm kiếm. Nếu bị bỏ qua, tìm kiếm sẽ bắt đầu từ vị trí ký tự đầu tiên. Nếu bắt đầu chứa Null, sẽ xảy ra lỗi. Bắt buộc phải có đối số bắt_đầu nếu so_sánh được xác định.

chuỗi_1

Bắt buộc. Biểu thức chuỗi đang được tìm kiếm.

chuỗi_2

Bắt buộc. Biểu thức chuỗi tìm kiếm.

so_sánh

Không bắt buộc. Xác định loại so sánh chuỗi. Nếu so_sánh chứa Null, sẽ xuất hiện lỗi. Nếu so _sánh bị bỏ qua, cài đặt Sosánh Tùy chọn sẽ xác định loại so sánh. Xác định LCID hợp lệ (LocaleID) để sử dụng các quy tắc dành riêng cho ngôn ngữ trong so sánh.

Mẹo: Bộ dựng Biểu thức có IntelliSense, vì vậy bạn có thể xem các tham đối mà biểu thức yêu cầu.

Cài đặt

Các thiết đặt đối số so sánh là:

Hằng số

Giá trị

Mô tả

vbUseCompareOption

-1

Thực hiện so sánh bằng cách sử dụng cài đặt của câu lệnh So sánh Tùy chọn.

vbBinaryCompare

0

Thực hiện so sánh nhị phân.

vbTextCompare

1

Thực hiện so sánh văn bản.

Giá trị Trả về

If

Trả về InStr

string1 có độ dài bằng 0

0

string1 là Null

Null

string2 có độ dài bằng 0

bắt đầu

string2 là Null

Null

không tìm thấy string2

0

string2 được tìm thấy trong string1

Vị trí khớp được tìm thấy

bắt > chuỗi 2

0

Chú thích

Hàm InStrB được sử dụng với dữ liệu byte chứa trong một chuỗi. Thay vì trả về vị trí ký tự của lần xuất hiện đầu tiên của một chuỗi trong một chuỗi khác, InStrB trả về vị trí byte.

Ví dụ

Sử dụng hàm InStr trong một biểu thức    Bạn có thể sử dụng InStr ở bất cứ nơi nào bạn có thể sử dụng biểu thức. Ví dụ: nếu bạn muốn tìm vị trí của kỳ thứ nhất (.) trong trường có chứa địa chỉ IP (có tên là IPAddress), bạn có thể sử dụng InStr để tìm địa chỉ đó, như thế này:

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

Hàm InStr kiểm tra từng giá trị trong trường IPAddress và trả về vị trí của dấu chấm đầu tiên. Do đó, nếu phần đầu tiên của địa chỉ IP là 10., hàm trả về giá trị 3.

Sau đó, bạn có thể sử dụng các hàm khác, thao tác trên đầu ra của hàm InStr , để trích xuất phần địa chỉ IP trước dấu chấm đầu tiên, như thế này:

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

Trong ví dụ này, InStr(1,[IPAddress],".") trả về vị trí của kỳ thứ nhất. Trừ 1 xác định số ký tự trước dấu chấm đầu tiên, trong trường hợp này là 2. Hàm Left sau đó trích xuất nhiều ký tự từ phần bên trái của trường IPAddress, trả về giá trị 10.

Sử dụng InStr trong mã VBA    

Lưu ý: Các ví dụ sau thể hiện cách sử dụng hàm này trong mô-đun Visual Basic for Applications (VBA).

Ví dụ này sử dụng hàm InStr để trả về vị trí xuất hiện đầu tiên của một chuỗi trong một chuỗi khác.

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.

Xem thêm

Hàm chuỗi và cách sử dụng

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.