Jetnipit1 wrote: Fri Nov 19, 2021 3:02 pm
ผมทำ Elseif จับในกรณีที่ ไม่มีคำว่า Expire เลย

ค่อย ๆ ถามตอบกันไปครับ
การที่จะทราบได้ว่าไม่มีคำว่า Expire เลยตามที่แจ้งมานั้น ต้อง Loop ไปครบทุก Field ใน Record นั้นใช่หรือไม่ หากไม่ใช่ควรเขียนให้เช็คที่ Field นั้น ๆ โดยตรง จะได้ลดการ Loop เพราะรู้ชัดเจนอยู่แล้วว่าให้ตรวจสอบที่ Field ไหน
ถ้าหากต้อง Loop ให้ครบทุก Field ใน Record นั้นก่อน จะต้องมีตัวนับในการ Loop ไปแต่ละครั้ง เมื่อเจอคำว่า "Expire" ให้ทำการบวกตัวนับไปครั้งละ 1 และ
ก่อนจะเข้า Record ลำดับถัดไปด้วย
rsLive.MoveNext ให้ตรวจสอบตัวนับว่ามีค่า > 0 หรือไม่ ถ้าใช่แสดงว่าเจอคำว่า Expire จึงค่อยสั่งให้ทำงานตามที่ต้องการ จากนั้นถึงจะ
rsLive.MoveNext เช่นนี้เป็นต้น
สำหรับ Field ใน RecordSet ลำดับคอลัมน์แรกคือ Fileds(0) หากต้องการตรวจสอบค่าใน Field แรก (คอลัมน์แรก) ว่ามีคำว่า "Expire" หรือไม่ หากมีให้เพิ่มค่าตัวแปร count ครั้งละ 1 สามารถใช้ Statement เป็น
if rsLive.Fields(0).value = "Expire" then count = count + 1
ซึ่งจะลดการ Loop ทุก Field ใน Record ด้วย For...Next ลงไปได้ครับ