ใช้ MsgBox กับ Sub ที่เรียกมา ไม่ทราบว่าต้องเขียนไปทางไหนครับ



0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้

21 ก.ค. 64 , 13:29:25
อ่าน 189 ครั้ง

001Jetnipit

ผมต้องการให้ ถ้าหากค้นหาไม่เจอในตารางหรือจากข้อมูลที่กรอง ให้ MsgBox ว่า Not found this name ครับ แต่ไม่ทราบว่าโค้ดที่ผมเขียนมันผิดพลาดตรงไหนครับ


อันนี้ Sub ครับ






อันนี้ผลจารการค้นหาชื่อที่ไม่ตรง ก่อนใส่โค้ด MsgBox ครับ
« แก้ไขครั้งสุดท้าย: 21 ก.ค. 64 , 13:35:01 โดย 001Jetnipit »

 

21 ก.ค. 64 , 14:21:24
ตอบกลับ #1

PNR

แก้โค้ดเป็น
โค๊ด: [Select]
Private Sub Searchcriteria()
Dim sql As String
Dim FindRecordCount  As Long
Dim rstRecords As Recordset
sql = "SELECT * FROM Ptt WHERE [Name] like '*" & Nz(Me.TextSearch, "*") & "*' and [Sex] like '" & Nz(Me.Combo1, "*") & "' and [Dep] like '" & Nz(Me.Combo2, "*") & "' and [Age]  like '" & Nz(Me.Combo3, "*") & "'"
Set rstRecords = CurrentDb.OpenRecordset(sql)
forms!.....................recordsource = sql
forms!.....................Requery

        If rstRecords.EOF Then
            FindRecordCount = 0
        Else
            rstRecords.MoveLast
            FindRecordCount = rstRecords.RecordCount
        End If
   If FindRecordCount = 0 Then
   MsgBox "Not Found !!", vbCritical, "Status"
   End If
End Sub
« แก้ไขครั้งสุดท้าย: 22 ก.ค. 64 , 08:13:33 โดย PNR »
Time to stop for me  :dizzy:
 
โพสต์นี้ได้รับคำขอบคุณจาก: 001Jetnipit

21 ก.ค. 64 , 14:37:20
ตอบกลับ #2

001Jetnipit

แก้โค้ดเป็น
โค๊ด: [Select]
Private Sub Searchcriteria()
Dim sql As String
Dim rstRecords As Recordset
sql = "SELECT * FROM Ptt WHERE [Name] like '*" & Nz(Me.TextSearch, "*") & "*' and [Sex] like '" & Nz(Me.Combo1, "*") & "' and [Dep] like '" & Nz(Me.Combo2, "*") & "' and [Age]  like '" & Nz(Me.Combo3, "*") & "'"
Set rstRecords = CurrentDb.OpenRecordset(sql)
forms!.....................recordsource = sql
forms!.....................Requery

        If rstRecords.EOF Then
            FindRecordCount = 0
        Else
            rstRecords.MoveLast
            FindRecordCount = rstRecords.RecordCount
        End If
   If FindRecordCount = 0 Then
   MsgBox "Not Found This Name!!", vbCritical, "Status"
   End If
End Sub

ขอบคุณครับผม

 


บอร์ดเรียนรู้ Access สำหรับคนไทย