ทดลองเอาไฟล์ของท่านไปตีโจทย์แล้วทำการแก้ไขดังนี้
1.เอา [Forms]![Sell]![criteria] ใน Query ออก
2.แก้ชื่อซัพฟอร์มจากเดิม ฟอร์มย่อย Sell Query เป็น Sell_Query 'ป้องกันปัญหาภาษาไทย+ช่องว่าง
3.แก้ VBA เป็น
Private Sub criteria_AfterUpdate()
If IsNull(Me.criteria) Then
Me.Sell_Query.Form.FilterOn = False
Me.Sell_Query.Form.Refresh
ElseIf Me.criteria = 0 Then
Me.Sell_Query.Form.Filter = "[Bal] = " & Me.criteria
Me.Sell_Query.Form.FilterOn = True
Me.Sell_Query.Form.Refresh
Else
Me.Sell_Query.Form.Filter = "[Bal] >= " & Me.criteria
Me.Sell_Query.Form.FilterOn = True
Me.Sell_Query.Form.Refresh
End If
End Sub
สิ่งที่ได้
- ไม่ใส่ค่าอะไรเลย = จะแสดงรายการทั้งหมด
- ใส่ค่า 0 = แสดงเฉพาะรายการที่มีค่า Bal เท่ากับ 0
- ใส่ค่า >0 เช่น
[1] แสดง 2,10
[2] แสดง 2,10
[10] แสดง 10
ขอบคุณมากครับ ใช้ได้แล้วครับ
ผมขอถามเพิ่มเติมนะครับ แล้วถ้าต้องการให้ค่าเริ่มต้นเป็น 1 ละครับ คือเริ่มต้นมาให้ Bal แสดงค่าที่ไม่ใช่ 0
ลักษณะการใช้งานจริงคือ โดยปกติแล้วจะให้โชว์รายการสินค้าที่มีของครับ
แต่มีบางครั้งที่ต้องการโชว์รายการสินค้าที่ไม่มีของ (0) หรือโชว์ทั้งหมด
ขอบคุณครับ