ฟังก์ชัน InStr

สิ่งสำคัญ:  บทความนี้เป็นการแปลด้วยเครื่อง โปรดดู ข้อจำกัดความรับผิดชอบ โปรดดูบทความฉบับภาษาอังกฤษ ที่นี่ เพื่อใช้อ้างอิง

ส่งกลับค่าตัวแปร(เป็นเวลานาน) ซึ่งระบุตำแหน่งของเหตุการณ์แรกของสตริงที่หนึ่งในอีก

ดูตัวอย่าง

ไวยากรณ์

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

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

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

คำอธิบาย

เริ่ม

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

string1

ต้องระบุ นิพจน์สตริงที่มีการค้นหา

สตริง 2

ต้องระบุ นิพจน์ที่ค้นหา

เปรียบเทียบ

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

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

การตั้งค่า

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

ค่าคงที่

ค่า

คำอธิบาย

vbUseCompareOption

-1

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

vbBinaryCompare

0

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

vbTextCompare

1

ดำเนินการเปรียบเทียบเป็นข้อความ

vbDatabaseCompare

2

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


ส่งกลับค่า

ถ้า

ส่งกลับค่า InStr

string1 มีความยาวเป็นศูนย์

0

string1 เป็น Null

Null

สตริง 2 จะมีความยาวเป็นศูนย์

เริ่มต้น

สตริง 2 เป็น Null

Null

ไม่พบสตริง 2

0

พบ string1 ภายในสตริง 2

ตำแหน่งที่ตรงกัน

เริ่มต้น > สตริง 2

0


ข้อสังเกต

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

ตัวอย่าง

ใช้ฟังก์ชัน 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 ฟังก์ชันซ้ายแยกอักขระที่จากด้านซ้ายของเขตข้อมูล 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.

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

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

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

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

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

×