ล็อคช่องให้ใส่ค่าได้กี่ช่องตามเงื่อนไข อยากได้ตัวอย่างCODEครับ



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

19 ส.ค. 63 , 13:04:09
อ่าน 159 ครั้ง
ผมมีช่องให้กรอกทั้งหมด 6 ช่อง แต่เมื่อผมใส่ค่าประเภทเป็น 1 ให้เปิดช่องสำหรับกรอกค่าแค่ 3 ช่องจาก6ช่อง อีก3 ช่องให่ประติเสธการใส่ค่า

แล้วพอ ผมใส่ค่าประเภทเป็น 2 ให้เปิดช่องสำหรับใส่ค่าทั้งหมด6 ช่อง
พอ ผมใส่ค่าประเภทเป็น 3 ให้เปิดช่องสำหรับใส่ค่าทั้งหมด2 ช่อง



พอมีวิธีทำไหมครับ

 

19 ส.ค. 63 , 13:38:57
ตอบกลับ #1

PNR

ผมมีช่องให้กรอกทั้งหมด 6 ช่อง แต่เมื่อผมใส่ค่าประเภทเป็น 1 ให้เปิดช่องสำหรับกรอกค่าแค่ 3 ช่องจาก6ช่อง อีก3 ช่องให่ประติเสธการใส่ค่า

แล้วพอ ผมใส่ค่าประเภทเป็น 2 ให้เปิดช่องสำหรับใส่ค่าทั้งหมด6 ช่อง
พอ ผมใส่ค่าประเภทเป็น 3 ให้เปิดช่องสำหรับใส่ค่าทั้งหมด2 ช่อง



พอมีวิธีทำไหมครับ

ใช้ Locked มาช่วยก็ได้ครับเช่น
โค๊ด: [Select]
Private Sub Combo0_AfterUpdate()
If Me.Combo0 = "1" Then
Me.Text1.Locked = False
Me.Text2.Locked = False
Me.Text3.Locked = False
Me.Text4.Locked = True
Me.Text5.Locked = True
Me.Text6.Locked = True
ElseIf Me.Combo0 = "2" Then
Me.Text1.Locked = False
Me.Text2.Locked = False
Me.Text3.Locked = False
Me.Text4.Locked = False
Me.Text5.Locked = False
Me.Text6.Locked = False
ElseIf Me.Combo0 = "3" Then
Me.Text1.Locked = False
Me.Text2.Locked = False
Me.Text3.Locked = True
Me.Text4.Locked = True
Me.Text5.Locked = True
Me.Text6.Locked = True
End If
End Sub

มี textbox 6 ตัว และ combobox 1 ตัว

combobox ชื่อ Combo0
มี textbox ชื่อ text1 ถึง 6

หรือใช้การซ่อน textbox ก็ได้เช่น
โค๊ด: [Select]
Private Sub Combo0_AfterUpdate()
If Me.Combo0 = "1" Then
Me.Text1.Visible = True
Me.Text2.Visible = True
Me.Text3.Visible = True
Me.Text4.Visible = False
Me.Text5.Visible = False
Me.Text6.Visible = False
ElseIf Me.Combo0 = "2" Then
Me.Text1.Visible = True
Me.Text2.Visible = True
Me.Text3.Visible = True
Me.Text4.Visible = True
Me.Text5.Visible = True
Me.Text6.Visible = True
ElseIf Me.Combo0 = "3" Then
Me.Text1.Visible = True
Me.Text2.Visible = True
Me.Text3.Visible = False
Me.Text4.Visible = False
Me.Text5.Visible = False
Me.Text6.Visible = False
Else
Me.Text1.Visible = False
Me.Text2.Visible = False
Me.Text3.Visible = False
Me.Text4.Visible = False
Me.Text5.Visible = False
Me.Text6.Visible = False
End If
End Sub
« แก้ไขครั้งสุดท้าย: 19 ส.ค. 63 , 13:51:00 โดย PNR »
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 
โพสต์นี้ได้รับคำขอบคุณจาก: ชุติพนธ์ มหาทรัพย์

19 ส.ค. 63 , 16:08:22
ตอบกลับ #2
ผมมีช่องให้กรอกทั้งหมด 6 ช่อง แต่เมื่อผมใส่ค่าประเภทเป็น 1 ให้เปิดช่องสำหรับกรอกค่าแค่ 3 ช่องจาก6ช่อง อีก3 ช่องให่ประติเสธการใส่ค่า

แล้วพอ ผมใส่ค่าประเภทเป็น 2 ให้เปิดช่องสำหรับใส่ค่าทั้งหมด6 ช่อง
พอ ผมใส่ค่าประเภทเป็น 3 ให้เปิดช่องสำหรับใส่ค่าทั้งหมด2 ช่อง



พอมีวิธีทำไหมครับ

ใช้ Locked มาช่วยก็ได้ครับเช่น
โค๊ด: [Select]
Private Sub Combo0_AfterUpdate()
If Me.Combo0 = "1" Then
Me.Text1.Locked = False
Me.Text2.Locked = False
Me.Text3.Locked = False
Me.Text4.Locked = True
Me.Text5.Locked = True
Me.Text6.Locked = True
ElseIf Me.Combo0 = "2" Then
Me.Text1.Locked = False
Me.Text2.Locked = False
Me.Text3.Locked = False
Me.Text4.Locked = False
Me.Text5.Locked = False
Me.Text6.Locked = False
ElseIf Me.Combo0 = "3" Then
Me.Text1.Locked = False
Me.Text2.Locked = False
Me.Text3.Locked = True
Me.Text4.Locked = True
Me.Text5.Locked = True
Me.Text6.Locked = True
End If
End Sub

มี textbox 6 ตัว และ combobox 1 ตัว

combobox ชื่อ Combo0
มี textbox ชื่อ text1 ถึง 6

หรือใช้การซ่อน textbox ก็ได้เช่น
โค๊ด: [Select]
Private Sub Combo0_AfterUpdate()
If Me.Combo0 = "1" Then
Me.Text1.Visible = True
Me.Text2.Visible = True
Me.Text3.Visible = True
Me.Text4.Visible = False
Me.Text5.Visible = False
Me.Text6.Visible = False
ElseIf Me.Combo0 = "2" Then
Me.Text1.Visible = True
Me.Text2.Visible = True
Me.Text3.Visible = True
Me.Text4.Visible = True
Me.Text5.Visible = True
Me.Text6.Visible = True
ElseIf Me.Combo0 = "3" Then
Me.Text1.Visible = True
Me.Text2.Visible = True
Me.Text3.Visible = False
Me.Text4.Visible = False
Me.Text5.Visible = False
Me.Text6.Visible = False
Else
Me.Text1.Visible = False
Me.Text2.Visible = False
Me.Text3.Visible = False
Me.Text4.Visible = False
Me.Text5.Visible = False
Me.Text6.Visible = False
End If
End Sub

แล้วถ้าผมต้องการให้ เมื่อตรงเงื่อนไขแล้ว ให้เปลี่ยนเลขในtextbox ให้เป็นเลข 0 ทำยังไงดีครับ

 

20 ส.ค. 63 , 07:55:15
ตอบกลับ #3

PNR

เพิ่มเป็นแบบนี้ครับ
โค๊ด: [Select]
Private Sub Combo0_AfterUpdate()
If Me.Combo0 = "1" Then
Me.Text1.Locked = False
Me.Text1 = "0"
Me.Text2.Locked = False
Me.Text2 = "0"
Me.Text3.Locked = False
Me.Text3 = "0"
Me.Text4.Locked = True
Me.Text4 = Null
Me.Text5.Locked = True
Me.Text5 = Null
Me.Text6.Locked = True
Me.Text6 = Null
ElseIf Me.Combo0 = "2" Then
Me.Text1.Locked = False
Me.Text1 = "0"
Me.Text2.Locked = False
Me.Text2 = "0"
Me.Text3.Locked = False
Me.Text3 = "0"
Me.Text4.Locked = False
Me.Text4 = "0"
Me.Text5.Locked = False
Me.Text5 = "0"
Me.Text6.Locked = False
Me.Text6 = "0"
ElseIf Me.Combo0 = "3" Then
Me.Text1.Locked = False
Me.Text1 = "0"
Me.Text2.Locked = False
Me.Text2 = "0"
Me.Text3.Locked = True
Me.Text3 = Null
Me.Text4.Locked = True
Me.Text4 = Null
Me.Text5.Locked = True
Me.Text5 = Null
Me.Text6.Locked = True
Me.Text6 = Null
Else
Me.Text1.Locked = True
Me.Text1 = Null
Me.Text2.Locked = True
Me.Text2 = Null
Me.Text3.Locked = True
Me.Text3 = Null
Me.Text4.Locked = True
Me.Text4 = Null
Me.Text5.Locked = True
Me.Text5 = Null
Me.Text6.Locked = True
Me.Text6 = Null
End If
End Sub
เรียนเพื่อนสมาชิกและอาจารย์ทุกท่าน
ผมไม่ใช่อาจารย์และไม่ใช่ผู้ที่แตกฉานใน Access นะครับ
แค่ผู้หนึ่งที่แชร์ความรู้เท่าที่มี ถ้าหากอาจารย์ทุกท่านเห็นว่ายังไม่ถูกต้อง
กรุณาโพสตอบกระทู้ส่วนเนื้อหาที่น่าจะถูกต้องกว่าให้ด้วยเพื่อเป็นวิทยาทาน
 
โพสต์นี้ได้รับคำขอบคุณจาก: SakDa, ชุติพนธ์ มหาทรัพย์


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