ขอโค้ดแสดง MsgBox เืมื่่อคิวรี่ไม่มีข้อมูลค่ะ
กระทู้เก่าบอร์ด อ.Yeadram

 1,940   3
URL.หัวข้อ / URL
ขอโค้ดแสดง MsgBox เืมื่่อคิวรี่ไม่มีข้อมูลค่ะ

ขอเรียนถามอาจารย์ดังนี้นะคะ

ก่อนหน้านี้ หนูได้ขอความช่วยเหลือเรื่องการทำคิวรี่ เพื่อหาข้อมูลที่ไม่ซ้ำได้เรียบร้อยแล้วค่ะ
หนูต้องการขยายผลต่ออีกนิดนึงค่ะอาจารย์ คือว่า

เมื่อรันคิวรี่นี้แล้วไม่พบข้อมูลตามเงื่อนไขที่กำหนด อยากให้มี MsgBox รายงานผลสักหน่อยว่า "ไม่มีข้อมูล" อะไรทำนองนี้แหละค่ะ

อยากทราบว่าเราต้องเขียนโค้ดเพื่อดักจับคิวรี่นี้อย่างไรคะ ขอรบกวนอาจารย์อีกครั้งค่ะ

3 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R05226
Dim recCNT As Long
    recCNT = DCount(ตัวแปร, คิวรี่)
    If recCNT <> 0 Then
    
    Else

    Msgbox
     
    End if
2 @R05227
- ถ้าเป็นกรณี SELECT statement ก็ตรวจจาก .RecordCount property ของ Recordset object ที่เป็นตัวเก็บเรคอร์ดเหล่านั้น หรือจะตรวจจาก .EOF property ก็ได้เช่นกัน ตย.เช่น

Dim RS As DAO.Recordset
Set RS = CurrentDB.OpenRecordset("SELECT ...")
If RS.RecordCount = 0 Then ' ไม่มีข้อมูล
หรือ
If RS.EOF Then ... ' ไม่มีข้อมูล

- ถ้าเป็นกรณี INSERT, UPDATE, DELETE statement ก็ให้เช็คจาก RecordsAffected property ของ Database object หรือ QueryDef object แล้วแต่ว่าอ๊อปเจ็คไหนที่เป็นตัวสั่ง .Execute method เพื่อรัน SQL นั้นๆ ค่าที่ได้จะเป็นจำนวนเรคอร์ดที่เป็นผลจากคำสั่ง SQL นั้น ตย.เช่น

Dim DB As DAO.Database
Set DB = CurrentDB
DB.Execute "UPDATE ..."
If DB.RecordsAffected = 0 Then ' ไม่มีข้อมูล
3 @R05228
ขอขอบคุณ อาจารย์ทั้งสองท่านค่ะ

หนูจะนำไปทดลองเดี๋ยวนี้เลยค่ะ หากยังติดขัดประการใด หนูจะขอรบกวนเข้ามาถามเพิ่มเติมอีกนะคะ

ขอบคุณค่ะ
@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2806s