lock record
กระทู้เก่าบอร์ด อ.Yeadram

 3,179   1
URL.หัวข้อ / URL
lock record

ท่านผู้ใดมีความเข้าใจ เรื่อง Lock Record อย่างลึกซึ่งรบกวนอธิบายด้วยครับ
ปัญหามีอยู่ว่าในองค์กร มีเครื่องที่ลง Windows98 และ XPใช้ไปใช้มาพบว่า
เมื่อมีคนเปิดฐานข้อมูล อีกเครื่องเปิดไม่ได้ ไม่รู้จะหาจุดไหนก่อนว่าเกิดจากอะไร
ผมเข้าใจว่า การ Lock recode ไม่ได้ lock ทั้ง table แต่การเข้าไม่ได้เลยนี่ มันเหมือนlock ทั้งtable ค่า Defalt ของฐานข้อมูล ACCESS น่าจะไม่กำหนดให้ lock ทั้ง table
ยกตัวอย่างเช่น ถ้ามีคนอ่านตารางชื่อ สามาชิก ไป
ขณะที่ผมพยามจะเพิ่มชื่อสมาชิกใหม่เข้า ก็ทำไม่ได้แล้วมันก็ lock พร้อมแจ้งว่า เครื่องในเครือข่ายชื่อ xxx กำลังใช้อยู่(กรณี window98) ถ้าเป็น XP ยิ่งแล้วใหญ่ เปิดฐานข้อมูลไม่ได้เลย
หมายเหตุ ใช้ ACCESS97

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

1 @R00105
การล็อคทั้งฐานข้อมูลโดยไม่ได้เขียนโปรแกรม ทำได้อยู่ 3 วิธี คือ
1) เรียกเปิดฐานข้อมูลด้วย command-line ที่มีอ๊อปชั่น /excl อยู่ในคำสั่งของ command-line นั้นด้วย
2) เมนู File > Open > คลิกปุ่มลูกศรลงที่ Open button เลือก Open ที่มีคำว่า Exclusive
3) เมนู Tools > Options > Advanced เลือกตัวเลือก Exclusive
ส่วนล็อคโดยการเขียนโปรแกรมก็จะมีตัวเลือก Exclusive ในคำสั่งเปิดฐานข้อมูลเช่นกันครับ

ส่วนการล็อคเทเบิลโดยไม่เขียนโปรแกรมเลย ให้กำหนดที่ Record Locks property ของฟอร์มหรือของคิวรี่ที่นำมาเป็น RecordSource ของฟอร์มนั้นให้เป็น All Records แต่การล็อคจะเกิดเมื่ออยู่ระหว่างแก้ไขข้อมูลเท่านั้น (และเท่าที่ทราบ ไม่สามารถล็อคเทเบิลหรือเรคอร์ดโดยไม่แก้ไขข้อมูลอะไรเลยนั้น จะทำไม่ได้ครับ) ถ้าเกิดจากการเขียนโปรแกรมก็จะมีอ๊อปชั่นลักษณะเดียวกัน หรือแม้จะไม่ได้สั่งให้ล็อคเทเบิลแต่ถ้ามีการเขียนคำสั่งให้เกิดการล็อคเรคอร์ดด้วยจำนวนเรคอร์ดที่มากพอจนถึงระดับหนึ่ง (DAO จะเป็นตัวพิจารณาเอง) เทเบิลทั้งเทเบิลจะถูกล็อคไปแทน แต่ก็เกิดระหว่างที่มีการแก้ไขข้อมูลเท่านั้น

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