145
ห้อง MS Access / : เอาวันที่ขึ้น Form แล้วแสดงผลแปลกๆ
« เมื่อ: 27 ก.ค. 64 , 09:58:53 »
ได้แล้วครับ ปรับ Input mask กับ Format ใน Query ครับ
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
ตัวนี้ as long ก็ได้คับ
ถ้าน้าย้อนกลับไปดูโพสดีๆ ผมแก้ให้แล้วนะครับ
https://www.thai-access.com/index.php?topic=1722.msg7425#msg7425
เพิ่มโค้ดแบบนี้ จากเดิมมีอันเดียวคือ Dim sql As String ใส่ Dim rstRecords As Recordset เพิ่มเข้าไป
Dim sql As String
Dim rstRecords As Recordset
แก้โค้ดเป็นโค๊ด: [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
จากโค้ดที่ให้ไป แก้ชื่อตารางจาก mytable เป็น ptt ก้อนครับผมลืมแก้ให้
แก้ใน private sub SearchCriteria ครับ
อ่อเดียวแก้ให้ใหม่ครับ ชื่อถ้าพิมพ์ไม่เหมือนทุกตัวมันจะไม่ขึ้น ถ้าจะให้พิมพ์แค่บางตัวแล้วขึ้น ต้องใบ้ Like เข้ามาเพิ่ม เดี่ยวแก้ให้
แก้เป็นแบบนี้ครับโค๊ด: [Select]sql = "SELECT * FROM Mytable WHERE [Name] like '*" & Nz(Me.TextSearch, "*") & "*' and [Sex] like '" & Nz(Me.Combo1, "*") & "' and [Dep] like '" & Nz(Me.Combo2, "*") & "' and [Age] like '" & Nz(Me.Combo3, "*") & "'"
Msgbox กรณีไหนครับ ?
เหมือนมันทำงานซ้ำซ้อนกันอยู่
สามารถใช้ ApplyFilter หรือ Filter ก็ได้ครับ
หรือใช้การค้นหาแบบ multiple Criteria ก็ได้ครับผมว่ามันสะดวกดีนะเช่น
โดยสร้าง Sub ไว้เรียกใช้เช่น
Sub SearchCriteria