แสดงกระทู้

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.


Messages - อนุพงศ์ ปาปะแพ

หน้า: [1]
1
เพิ่ม VBA ให้เมื่อเปิดฟอร์ม criteria = 1 แล้วทำการกรองข้อมูล
โค๊ด: [Select]
Private Sub Form_Load()
        Me.criteria = 1
        Me.Sell_Query.Form.Filter = "[Bal] >= " & Me.criteria
        Me.Sell_Query.Form.FilterOn = True
        Me.Sell_Query.Form.Refresh
End Sub

ขอบคุณมากนะครับ ผมจะจดและจำและนำไปใช้ครับ รวมถึงการพัฒนาความรู้เพื่อนำไปต่อยอดด้วยครับ

2
ทดลองเอาไฟล์ของท่านไปตีโจทย์แล้วทำการแก้ไขดังนี้
1.เอา [Forms]![Sell]![criteria] ใน Query ออก
2.แก้ชื่อซัพฟอร์มจากเดิม ฟอร์มย่อย Sell Query เป็น Sell_Query 'ป้องกันปัญหาภาษาไทย+ช่องว่าง
3.แก้ VBA เป็น
โค๊ด: [Select]
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) หรือโชว์ทั้งหมด
ขอบคุณครับ

3
จนถึงตอนนี้ อ่านแล้วก็ไม่เข้าใจว่าต้องการอะไร

เดาว่าน่าจะต้องใช้ Validation Rule และ Validation Text มีทั้งใน Text Box และในตาราง เลือกเอาว่าจะใช้ที่ไหน
แต่กำหนดอย่างไร ทำให้ไม่ได้ เพราะไม่รู้ว่าต้องการอย่างไร



ขอโทษด้วยที่ทำให้อ่านไม่เข้าใจนะครับ เลยทำตัวอย่างมาให้ครับ

4
สวัสดีครับเทพ Access ทุกท่าน ผมมือใหม่เพิ่งหัดเขียน Acces ครับ พอดีติดปัญหาเรื่อง criteria รับค่าจาก Textbox ครับ
ชื่อฟอร์ม = Sell
ชื่อ Textbox = criteria
ใน Query ที่ต้องการใส่ค่าใน criteria ผมให้ไปรับค่า ดังนี้
[Forms]![Sell]![criteria]

ค่าที่ต้องการใส่ใน criteria คือ ค่าว่าง กับ >0
จากการที่ได้ลองใส่ค่าใน Textbox ในฟอร์ม ผลที่ได้คือ
1. ไม่ใส่ค่าอะไรเลย = ไม่มีรายการอะไรแสดงขึ้นมา (ทำงานไม่ถูกต้อง) ถ้าเอาค่าไปใส่ใน criteria ตรงๆ จะแสดงรายการทั้งหมด
2. ใส่ค่า >0 = ไม่มีรายการอะไรแสดงขึ้นมา (ทำงานไม่ถูกต้อง) ถ้าเอาค่าไปใส่ใน criteria ตรงๆ จะแสดงรายการที่มากกว่า 0
3. ใส่ค่า 0 = มีรายการที่เป็น 0 แสดงขึ้นมา (ทำงานถูกต้อง) ถ้าเอาค่าไปใส่ใน criteria ตรงๆ จะแสดงรายเฉพาะที่เป็น 0
แบบนี้ผมควรต้องแกไขตรงไหนครับ
และถ้าผมอยากใช้ปุ่ม ToggleButton
ให้เวลาสถานะกดแล้ว ไปใส่ค่าใน criteria เป็นค่าว่างที่ไม่ใส่อะไรเลย
กับให้เวลาสถานะไม่ได้กด แล้วไปใส่ค่าใน criteria ให้เป็น >0
พอจะเป็นไปได้หรือเปล่าครับ

ต้องรบกวนด้วยนะครับ พยายามหาข้อมูลวิธีแก้ปัญหานี้แล้ว แต่ไม่เจอ จึงต้องมาขอสอนถามในเว็บครับ
ขอบคุณครับ

หน้า: [1]