ฟังก์ชัน InStr

ส่งกลับ ตัวแปร (ยาว) ที่ระบุตำแหน่งของการปรากฎครั้งแรกของสตริงหนึ่งภายในสตริงอื่น

ดูตัวอย่างบางส่วน

ไวยากรณ์

InStr ([เริ่ม, ]สตริง 1, string2 [, เปรียบเทียบ] )

ไวยากรณ์ของฟังก์ชันInStrมีอาร์กิวเมนต์ดังนี้

อาร์กิวเมนต์

คำอธิบาย

เริ่ม

ไม่จำเป็น นิพจน์ตัวเลขที่ตั้งค่าตำแหน่งเริ่มต้นสำหรับการค้นหาแต่ละรายการ ถ้าละเว้นการค้นหาจะเริ่มต้นที่ตำแหน่งอักขระแรก ถ้าเริ่มมีค่า Null ข้อผิดพลาดจะเกิดขึ้น จำเป็นต้องมีอาร์กิวเมนต์เริ่มต้นถ้ามีการระบุการเปรียบเทียบ

สตริง1

จำเป็น นิพจน์สตริงที่กำลังค้นหา

string2

จำเป็น นิพจน์สตริงที่ต้องการ

เทียบ

ไม่จำเป็น ระบุชนิดของ การเปรียบเทียบสตริง ถ้าเปรียบเทียบเป็น Null ข้อผิดพลาดจะเกิดขึ้น ถ้าการเปรียบเทียบถูกละเว้นตัวเลือกการตั้งค่าเปรียบเทียบจะกำหนดชนิดของการเปรียบเทียบ ระบุ LCID ที่ถูกต้อง (LocaleID) เพื่อใช้กฎเฉพาะของตำแหน่งกระทำการในการเปรียบเทียบ

เคล็ดลับ: ใน Access ๒๐๑๐ตัวสร้างนิพจน์มี IntelliSense ดังนั้นคุณจึงสามารถดูอาร์กิวเมนต์ที่นิพจน์ของคุณจำเป็นต้องใช้ได้ 

การตั้งค่า

การตั้งค่าการเปรียบเทียบอาร์กิวเมนต์ได้แก่

ค่าคงที่

ค่า

คำอธิบาย

vbUseCompareOption

-1

ดำเนินการเปรียบเทียบโดยใช้การตั้งค่าของคำสั่งเปรียบเทียบตัวเลือก

vbBinaryCompare

0

ดำเนินการเปรียบเทียบแบบไบนารี

vbTextCompare

1

ดำเนินการเปรียบเทียบแบบเป็นการเปรียบเทียบ

vbDatabaseCompare

2

Microsoft Office Access 2007 เท่านั้น ดำเนินการเปรียบเทียบโดยยึดตามข้อมูลในฐานข้อมูลของคุณ


ค่าส่งกลับ

If

InStr จะส่งกลับ

สตริง1คือความยาวเป็นศูนย์

0

สตริง1เป็น Null

Null

string2 คือความยาวเป็นศูนย์

เริ่ม

string2 เป็น Null

Null

ไม่พบ string2

0

string2 จะพบภายในสตริง1

ตำแหน่งที่พบรายการที่ตรงกัน

เริ่ม > string2

0


ข้อสังเกต

ฟังก์ชันInStrBถูกใช้กับข้อมูลไบต์ที่มีอยู่ในสตริงที่ แทนที่จะส่งกลับตำแหน่งอักขระของการเกิดขึ้นครั้งแรกของสตริงที่หนึ่งที่อยู่ภายในอีกหนึ่งInStrBจะส่งกลับตำแหน่งไบต์

ตัวอย่าง

ใช้ฟังก์ชัน InStr ในนิพจน์    คุณสามารถใช้InStrได้จากทุกที่ที่คุณสามารถใช้นิพจน์ได้ ตัวอย่างเช่นถ้าคุณต้องการค้นหาตำแหน่งของรอบระยะเวลาแรก() ในเขตข้อมูลที่มีที่อยู่ IP (ชื่อ IPAddress) คุณสามารถใช้InStrเพื่อค้นหาได้ดังนี้

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

ฟังก์ชันInStrจะตรวจสอบความถูกต้องของค่าแต่ละค่าในเขตข้อมูล IPAddress และส่งกลับตำแหน่งของรอบระยะเวลาแรก ดังนั้นถ้าส่วนแรกของที่อยู่ IP คือ10ฟังก์ชันจะส่งกลับค่า3

จากนั้นคุณสามารถใช้ฟังก์ชั่นอื่นๆทำงานบนผลลัพธ์ของฟังก์ชันInStrเพื่อแยกส่วนของที่อยู่ IP ที่อยู่ก่อนหน้าช่วงแรกดังนั้น:

ซ้าย ([IPAddress], (InStr (1, [IPAddress], ") -1))

ในตัวอย่างนี้InStr (1, [IPAddress], "") ส่งกลับตำแหน่งของรอบระยะเวลาแรก การลบ1จะกำหนดจำนวนอักขระที่นำหน้ารอบระยะเวลาแรกในกรณีนี้2 ฟังก์ชันซ้ายแล้วแยกอักขระจากส่วนซ้ายของเขตข้อมูล IPAddress ส่งกลับค่า10

ใช้InStrในโค้ด VBA    

หมายเหตุ: ตัวอย่างที่ทำตามสาธิตการใช้ฟังก์ชันนี้ในโมดูลของแอปพลิเคชัน Visual Basic for Applications (VBA) สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับ 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.

หมายเหตุ:  หน้านี้ได้รับการแปลด้วยระบบอัตโนมัติ และอาจมีข้อผิดพลาดทางไวยากรณ์หรือความไม่ถูกต้อง จุดประสงค์ของเราคือเพื่อให้เนื้อหานี้มีประโยชน์กับคุณ คุณสามารถแจ้งให้เราทราบว่าข้อมูลมีประโยชน์หรือไม่ นี่คือบทความภาษาอังกฤษเพื่อให้คุณใช้อ้างอิง

ดูเพิ่มเติม

ฟังก์ชันสตริงและวิธีใช้

ขยายทักษะ Office ของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×