Lock ข้อมูลใน Form



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

14 พ.ค. 61 , 10:20:32
อ่าน 766 ครั้ง

tHizoNe

Lock ข้อมูลใน Form
« เมื่อ: 14 พ.ค. 61 , 10:20:32 »
สวัสดีครับ ผมต้องการล็อคข้อมูลใน Form โดยล็อคเป็นแถวๆ โดยผมใช้เมนู การจัดรูปแบบมีเงื่อน ล็อค แต่ไม่สามารถล็อคได้ทั้งหมด

ซึ่งผมอยากรู้ว่าต้องแก้ยังไง หรือมีวิธีอื่นแนะนำหรือเปล่าครับ




 

14 พ.ค. 61 , 11:15:19
ตอบกลับ #1

OddyWriter

> Lock ข้อมูลใน Form
« ตอบกลับ #1 เมื่อ: 14 พ.ค. 61 , 11:15:19 »
คือต้องล็อคเป็นบางฟิลด์ หรือบางเรคอร์ดครับ งงกับคำถาม

ถ้าต้องการล็อคบางฟิลด์ ให้กำหนด Properties Lock ของฟิลด์นั้นเป็น Yes ครับ
กินร้อน ช้อนตัวเอง จานใครจานมัน ออกนอกบ้านใส่หน้ากากอนามัยหรือหน้ากากผ้า
 

14 พ.ค. 61 , 11:48:24
ตอบกลับ #2

tHizoNe

> Lock ข้อมูลใน Form
« ตอบกลับ #2 เมื่อ: 14 พ.ค. 61 , 11:48:24 »
ล็อกบางเรคอร์ดครับ โดยการติ๊ก Cancel แล้วจะทำการล็อค ถ้าไม่ติ๊กก็จะไม่ล็อค

 

16 พ.ค. 61 , 13:52:06
ตอบกลับ #3

OddyWriter

: Lock ข้อมูลใน Form
« ตอบกลับ #3 เมื่อ: 16 พ.ค. 61 , 13:52:06 »
ที่ On Current ของฟอร์ม ให้ใส่ Code นี้เข้าไปครับ
Private Sub Form_Current()
    If ชื่อCheckBox Then
        ชื่อคอนโทรล.Locked = True
    Else
        ชื่อคอนโทรล.Locked = False
    End If
End Sub

ที่ AfterUpdate ของ CheckBox ให้ใส่ Code นี้เข้าไป
Private Sub chkStatus_AfterUpdate()
    DoCmd.Requery
End Sub
กินร้อน ช้อนตัวเอง จานใครจานมัน ออกนอกบ้านใส่หน้ากากอนามัยหรือหน้ากากผ้า
 

16 พ.ค. 61 , 16:03:56
ตอบกลับ #4

TTT

: Lock ข้อมูลใน Form
« ตอบกลับ #4 เมื่อ: 16 พ.ค. 61 , 16:03:56 »
อื่ม! จริงๆ ถ้าเป็น Text Box ก็สามารถใส่เงื่อนไข Conditional Format ได้หมดนะครับ ทำไมถึงใช้ไม่ได้บางอัน?

ลองอย่างนี้ดูครับ หากคอนโทรลทุกตัวที่คุณต้องการ Disable เป็น Text Box
เท่าที่ดูรูป ฟอร์มชื่อ frm_ราคากระดาษ, ตัว Check Box ชื่อ Cancel (หากไม่ใช่ให้แก้ให้ถูกในโค้ดด้านล่าง)
ใส่โค้ดนี้ที่ Event > On Load ของฟอร์มเลยครับ แล้วลองเรียกใช้ดูครับ

โค๊ด: [Select]
    Dim objFrc As FormatCondition
    Dim txtCtrl As Access.Control
    For Each txtCtrl In Forms("frm_ราคากระดาษ").Controls 'สำหรับอ้างซับฟอร์ม For Each wCtrl In Forms("ชื่อฟอร์มหลัก")!ชื่อซับฟอร์ม.Form.Controls
        If txtCtrl.ControlType = acTextBox Then ' หาคอนโทรลทั้งหมดบนฟอร์ม หากเป็น Text box ก็สร้าง Conditional Formatting
            Me(txtCtrl.Name).FormatConditions.Delete ' ลบเงื่อนไขเก่า หากมีการสร้างเงื่อนไขไว้ในตัว Text Box
            Set objFrc = Me(txtCtrl.Name).FormatConditions.Add(acExpression, acEqual, "[Cancel]=True") 'หากคอนโทรล checkbox มีค่าเป็น True
            Me(txtCtrl.Name).FormatConditions(0).Enabled = False ' ให้ Disable
            Set objFrc = Nothing
        End If
    Next txtCtrl
ฐานข้อมูลเป็นเรื่องใกล้ตัว ใครๆก็ทำฐานข้อมูลเองได้นะครับhttp://www.youtube.com/c/AccessCreator link
 

16 พ.ค. 61 , 17:03:52
ตอบกลับ #5

tHizoNe

: Lock ข้อมูลใน Form
« ตอบกลับ #5 เมื่อ: 16 พ.ค. 61 , 17:03:52 »
ขอบคุณอาจารย์ทุกคนครับ เดี๋ยวลองทำดู

 


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