แสดงผล CheckBox
กระทู้เก่าบอร์ด อ.Yeadram

 4,783   5
URL.หัวข้อ / URL
แสดงผล CheckBox

ผมมีForm แบบ Continuous Form
และมี Checkbox ตัวนึง

เมื่อ แสดงผล จะมีทั้งค่าที่มีเครื่องหมายถูก และ Box เปล่า

ผมต้องเขียนคำสั่งยังไงคับให้ Box เปล่าๆหายไป โดยเหลือไว้แสดงผลแค่ Box ที่มีเครื่องหมายถูกเท่านั้นอ่ะคับ

-***ถ้ามีเครื่องหมายถูก ค่ามัน =-1
Box เปล่า = 0

แล้วใช้คำสั่ง Visible

5 Reply in this Topic. Dispaly 1 pages and you are on page number 1

1 @R01447
รุ้สึกว่าคำตอบจะไม่ขึ้นคับ
คุณ yeadram
2 @R01448
ผมลบมันออกครับ ตอนแรกตอบไปอย่างแล้วล่ะ
แต่พออ่านทวนโจทก์เหมือนจะไม่แน่ใจ ว่าคำตอบของผมตรง ความต้องการของโจกท์หรือเปล่า ก็เลยลบคำตอบออกไปก่อน

1 เรคคอร์ด มีหลายบ็อกซ์
หรือ มีเรคคอร์ดละ 1 บ็อกซ์
ชื่อฟิลด์ กับชื่อคอนโทรล เหมือนกันหรือเปล่าครับ
3 @R01449
ลองดูน่ะครับ
สมมติว่า Field ที่คุณต้องการตรวจสอบ ชื่อ XXX
สร้าง Query ขึ้นมาเพื่อเป็นข้อมูลอ้างอิง ในการนำมาแสดงผลบน Form ของคุณ
ตรง Field XXX ในส่วนของ Criteria ให้ใส่ -1
แล้วลอง Run Form ดู

ถ้ายังแสดงผลผิดพลาด ให้ใช้คำสั่ง Refresh ที่ Form ดังกล่าวอีกครั้งครับ

ขอบพระคุณมากๆ ครับ
4 @R01450
Checkbox เอา Source มาจากฟิลด์ใน Table อ่ะคับ

ใน Table จะมีทั้งค่า -1 และ 0

พอมามา show ใน continueous form

แต่ละ record ก้อจะโชว์ค่าของมันเองคับ

example

1=-1--> show checkboxที่มีเครื่องหมายถูก
2=-1--> show checkboxที่มีเครื่องหมายถูก
3=0--> show checkboxที่ไม่มีเครื่องหมายถูก

แต่ที่ผมต้องการคือ ในหน้าที่แสดงผม
อยากให้ ไอ้checkboxที่ไม่มีเครื่องหมายถูก แสดงอ่ะคับ(หมายถึง visible = False ไปทั้ง checkboxเลย)
อยากให้ checkbox ที่มีเครื่องหมายถูกแสดงอย่างเดียว

พอจะมีวิธีมั้ยคับ
5 @R01451
เอาใหม่

1. สมมติว่า Field ที่คุณต้องการตรวจสอบ ชื่อ XXX
สร้าง Query ขึ้นมาเพื่อเป็นข้อมูลอ้างอิง ในการนำมาแสดงผลบน Form ของคุณ
ตรง Field XXX ในส่วนของ Criteria ให้ใส่ค่า Forms![ชื่อ Form]![xxx]
2. สร้าง Option Group (หรือ Frame) สมมติชื่อ Frame11
3. สร้าง Check Box โดยการลากมาวางลงใน Option Group (Frame)
ตามจำนวนที่ต้องการ 3 Check Box
4. สร้าง Text Box (สมมติชื่อ Text19) ขึ้นมารับค่าที่เกิดจากการ Click ของ Frame
5. ที่คำสั่ง Frame11_AfterUpdate ให้ใส่คำสั่งดังนี้
If Me.Frame11 = 1 Then
    Me.Text19.Value = -1
    Me.Label16.Visible = False
    Me.Check15.Visible = False
    Me.Label18.Visible = False
    Me.Check17.Visible = False

Else
    If Me.Frame11 = 2 Then
        Me.Text19.Value = -1
        Me.Label14.Visible = False
        Me.Check13.Visible = False
        Me.Label18.Visible = False
        Me.Check17.Visible = False

    Else
        Me.Text19.Value = 0
        Me.Label14.Visible = False
        Me.Check13.Visible = False
        Me.Label16.Visible = False
        Me.Check15.Visible = False
    
    End If

End If

Me.Refresh
' หรือ Forms![ชื่อ Form].Refresh

End If
6. ระวัง น่ะครับ หาก Visible Check Box ตัวอื่นๆ หายไป
อย่าลืมทำปุ่ม Reset เพื่อเรียกกลับมาแสดงด้วยน่ะครับ ก็ให้ใช้วิธี
ที่ Event Frame11 Double Click ให้ใส่ Code
            Me.Label14.Visible = True
            Me.Check13.Visible = True
            Me.Label16.Visible = True
            Me.Check15.Visible = True
            Me.Label18.Visible = True
            Me.Check17.Visible = True

ลองดูครับว่าตรงตามความต้องการไหม
ขอบพระคุณมากๆ ครับ



@ ประกาศใช้งานเว็บบอร์ดใหม่ => บอร์ดเรียนรู้ Access สำหรับคนไทย
แล้วจะใส่ลิ้งอ้างอิงมาที่โพสต์เก่านี้หรือไม่ก็ตามสะดวกครับ
Time: 0.2688s