รบกวนสอบถาม code การ filter ข้อมูลครับ



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

30 ม.ค. 61 , 11:32:47
อ่าน 857 ครั้ง

prajak

รบกวนสอบถาม code การ filter ข้อมูลครับ ตามรูป ในส่วนของค้นหาข้อมูลตัด หากผมต้องการเลือก Style No แล้วก็เลือก OD# กด ค้นหา ให้โปรแกรมดึงข้อมูล Style No และ OD# นั้นๆออกมาให้เรา ต้องทำยังไงครับ ปกติถ้าค้นหาแค่ Style No หรือ OD# อย่างใดอย่างหนึ่งผมทำได้ครับ โดยการใช้ Macro builder Apply filter แล้วกำหนดใน Where condition เอาครับ แต่พอเป็น2เงื่อนไขให้มันเช็คทั้ง Style No และ OD# ไปไม่เป็นเลยครับ



อันนี้เป็นคำสั่งที่ให้ค้นหาแค่อย่างใดอย่างหนึ่งครับ

 

30 ม.ค. 61 , 16:21:59
ตอบกลับ #1

Kxess

> รบกวนสอบถาม code การ filter ข้อมูลครับ
« ตอบกลับ #1 เมื่อ: 30 ม.ค. 61 , 16:21:59 »
ถ้าหมายถึงการ filter หลาย filter มากกว่า 2 ขึ้นไป

ผมเขียนโค้ด

โค๊ด: [Select]
Function FilterCheck()
    Dim strWhere As String

    If Not IsNull(ชื่อคอมโบ1) Then
            strWhere = strWhere & "[ฟิลด์ที่1] = " & ชื่อคอมโบ1 & " AND "
    End If
               
    If Not IsNull(ชื่อคอมโบ2) Then
            strWhere = strWhere & "[ฟิลด์ที่2] = '" & ชื่อคอมโบ2 & "' AND "
               
    End If
   
    If Not IsNull(strWhere) Then
            strWhere = Left(strWhere, Len(strWhere) - 5)
            Me.Filter = strWhere
            Me.FilterOn = True
            Me.Requery
    Else
            Me.FilterOn = False
    End If
   
   
End Function

เวลาใช้ เรียก Call FilterCheck ในเหตุการณ์ on change ของ combo box

 
โพสต์นี้ได้รับคำขอบคุณจาก: prajak

31 ม.ค. 61 , 08:23:52
ตอบกลับ #2

prajak

> > รบกวนสอบถาม code การ filter ข้อมูลครับ
« ตอบกลับ #2 เมื่อ: 31 ม.ค. 61 , 08:23:52 »
ถ้าหมายถึงการ filter หลาย filter มากกว่า 2 ขึ้นไป

ผมเขียนโค้ด

โค๊ด: [Select]
Function FilterCheck()
    Dim strWhere As String

    If Not IsNull(ชื่อคอมโบ1) Then
            strWhere = strWhere & "[ฟิลด์ที่1] = " & ชื่อคอมโบ1 & " AND "
    End If
               
    If Not IsNull(ชื่อคอมโบ2) Then
            strWhere = strWhere & "[ฟิลด์ที่2] = '" & ชื่อคอมโบ2 & "' AND "
               
    End If
   
    If Not IsNull(strWhere) Then
            strWhere = Left(strWhere, Len(strWhere) - 5)
            Me.Filter = strWhere
            Me.FilterOn = True
            Me.Requery
    Else
            Me.FilterOn = False
    End If
   
   
End Function

เวลาใช้ เรียก Call FilterCheck ในเหตุการณ์ on change ของ combo box
Code ที่แนะนำ ต้องเอาไปวางไว้ตรงไหน ถ้าวางไว้ใน on change เป็น on change ของ combo ตัวไหนอะครับ แล้ว code ในปุ่มค้นหาต้องเป็น code ไหนครับ พอดีเพิ่งหัดทำครับ

 

31 ม.ค. 61 , 15:05:45
ตอบกลับ #3

Kxess

> รบกวนสอบถาม code การ filter ข้อมูลครับ
« ตอบกลับ #3 เมื่อ: 31 ม.ค. 61 , 15:05:45 »
ใน combo box ฟิลที่ต้องการ filter ครับ เช่น combo ของ style no , ลูกค้า ,  OD#
ส่วนปุ่มค้นหา ใช้ select from ปกติเลยครับ

แต่เท่าที่ผมดูกระทู้อื่น ๆ ของคุณ วิธีผมไม่น่าจะใช้กับโปรแกรมของคุณ เพราะผมทำใน continue form แต่ของคุณ ผลการค้นหามันอยู่ใน sub form และยังมีเงื่อนไขดึงรูปของ style อีก

 

31 ม.ค. 61 , 15:37:15
ตอบกลับ #4

prajak

> รบกวนสอบถาม code การ filter ข้อมูลครับ
« ตอบกลับ #4 เมื่อ: 31 ม.ค. 61 , 15:37:15 »
สมมติเราไม่มองถึง sub form และการดึงรูปมาแสดงนะครับ ตามรูป

วงกลมจะเป็น data ของ main form ผมแค่ต้องการ dropdown เลือกตามเลข1,2 แล้วก็กดค้นหา ให้ข้อมูลมาแสดงที่ในวงกลมด้านบนเท่านั้นอะครับ

 


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