มีวิธีการป้องกันการกด Shift ไหมครับ
กระทู้เก่าบอร์ด อ.Yeadram

 6,610   23
URL.หัวข้อ / URL
มีวิธีการป้องกันการกด Shift ไหมครับ

อยากทราบว่า Access มีวิธีการป้องกันการกด Shift ไหมครับ ผมเคยเห็นบางโปรแกรมที่พัฒนาโดย Access เขาสามารถป้องกันการกด Shift ได้ ไม่รู้ว่าทำยังไง ครับ

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

1 @R07884
2 @R07885
สร้าง mdb มาอีกตัวก็ได้ครับ เอาฟังก์ชั่นไปวางในโมดูล (อย่าลืม add library DAO 3.6)

สร้างฟอร์มมา 1ตัว มี textbox
ใส่พาธของไฟล์ที่ต้องการล็อกใน textbox
มีปุ่มคำสั่ง
เมื่อคลิ๊กที่ปุ่มคำสั่ง
Dim MyDb As Database       
Set MyDb = OpenDatabase(Text0)       
MsgBox ("disable set, result = " & ChangeProperty("AllowBypassKey", dbBoolean, False, MyDb))

ตัวที่จะถูกล็อกไม่ใช่ตัวที่ทำงานอยู่ ณ ปัจจุบันนะครับ แต่เป็นตัวที่ ชื่อมันอยู่ใน textbox และ... ขณะที่ตัวนี้กำลังทำงาน mdb ตัวเป้าหมายต้องไม่รันอยู่ในขณะนั้น

************************************
อ. สันติสุข ครับ ไม่ทราบว่าตรงที่บอกให้ใส่ Path ของไฟล์ที่ต้องการล็อกใน textbox ไม่ทราบว่าต้องใส่ตรงไหนครับ ไม่เข้าใจ
3 @R07887
อ่อ ... ได้แล้วครับ โทษทีครับผมอ่านคำตอบไม่เคลียร์เอง
4 @R07888
นำไปใช้ยังไงครับช่วยแนะนำให้ละเอียดหน่อยได้ไหมครับ ผมลองแล้วไม่ทำงานเลยครับ ผมสร้างฐานข้อมูลใหม่ชื่อ db2 แล้วสร้าง Text0 ที่ Control Sourec พิมพ์ ="D:\db1"
สร้างปุ่มคำสั่ง 1 อันแล้วคีย์
Private Sub Command2_Click()
Dim MyDb As Database
Set MyDb = OpenDatabase(Text0)
MsgBox ("disable set, result = " & ChangeProperty("AllowBypassKey", dbBoolean, False, MyDb))     
End Sub

เมื่อคลิกที่ปุ่มคำสั่ง มันจะขึ้น
disable set,result = -1 จากนั้นก็คลิก OK เพื่อปิดข้อความที่ขึ้นมาเตือน
จากนั้นก็ลองไปเปิดไฟล์ db1 โดยกด shift ปรากฏว่ายังสามารถกด shift เข้าโปรแกรมได้อยู่ครับ ไม่รู้ว่าทำผิดขั้นตอนตรงไหน แนะนำหน่อยครับ
5 @R07889
คุณ kid ครับ
control source ของ text0 (มุมมองออกแบบ) ไม่ต้องเขียนอะไรลงไปครับ

รันฟอร์มมาเลยครับ ในมุมมองฟอร์ม
กรอก d:\db1 ลงไปใน text0 ครับ แล้วค่อยกดปุ่มคำสั่ง
6 @R07891
ทำตามที่แนะนำแล้ว โดยเปิดฟอร์มแล้วกรอกd:\db1 ลงไปใน text0 แล้วค่อยกดปุ่มคำสั่ง ลองแล้วครับยังกด shift เข้าได้เหมือนเดิมครับ
7 @R07895
ผมทำเสร็จแล้วทำเป็นโปรแกรมเลยสามารถเลือก Browse ได้ด้วย ครับ แต่ไม่รู้จะเอาลงยังไงเพื่อให้เพื่อนๆ ทุกคนได้ใช้กัน
8 @R07897
กรุณาส่งไฟล์ไปที่ e-mail ประจำบอร์ดนี้ ซึ่งอาจารย์ท่านได้ทำไว้ให้ คือ

     accboard@gmail.com

เสร็จแล้วก็กลับมาแจ้งที่บอร์ดนี้ด้วย ว่าได้ส่งไฟล์แล้วชื่อหัวข้ออะไร
เพื่อนสมาชิกที่สนใจก็จะตามไปโหลดไฟล์กันเองค่ะ (รวมทั้งหนูด้วยล่ะ)

     ชื่อผู้ใช้   : accboard@gmail.com
     รหัสผ่าน : accgmail


ขอบคุณค่ะ

9 @R07898
คุณ kid เผลอละเลยประเด็นสำคัญนี้ไปหรือเปล่าคะ

ตัวที่จะถูกล็อกไม่ใช่ตัวที่ทำงานอยู่ ณ ปัจจุบัน แต่เป็นตัวที่ ชื่อมันอยู่ใน textbox และ... ขณะที่ตัวนี้กำลังทำงาน mdb ตัวเป้าหมาย ต้องไม่รันอยู่ในขณะนั้น


10 @R07901
ตัวที่ Textbox ยังไม่เปิดใช้งานครับ ผมกดปุ่มคำสั่งก่อนแล้วจึงลองไปกด shift เปิด mde ตัวเป้าหมายก็ยังเปิดได้ครับ
11 @R07902
ของผมใช้งานได้นะครับ access 2007

ใน textbox ให้พิมพ์ ไดร์\โฟลเดอร์\ชื่อไฟล์.นามสกุล
อันนี้ของผม
d:\test.accdb     เป็น db ที่เป็นเป้าหมาย ไม่ได้เปิดใช้งาน

แล้วกดปุ่มคำสั่ง


ก็ใช้งานได้นะครับ ไม่สามารถกด shift ได้
12 @R07903
ผมได้ส่งไฟล์ ต.ย. โปรแกรม ไปให้แล้วครับ ชื่อหัวข้อ โปรแกรมป้องกันการกดปุ่ม Shift ครับ เพื่อนๆ สามารถ ดาวน์โหลดไปทดลองใช้กันได้เลยครับ ผม .....
13 @R07905
เรียนคุณ kid
ไฟล์ปลายทางของคุณ (d:\db1) ได้ถูกคอมไพล์ ไปเป็น mde แล้ว
ผมเข้าใจว่า น่าจะใช้คำสั่ง changeproperty กับมันไม่ได้แล้วครับ หรืออย่างไร อันนี้ก็ไม่เคยลองครับ
ถ้าเป็นอย่างที่ผมเข้าใจ คุณ kid เอง อาจต้องหาวิธีอื่นครับ หรือทดลอง ไปเอาต้นฉบับ mdb มา change ก่อนแล้วค่อยแปลงไปเป็น mde อาจจะได้ผลนะครับ อันนี้ต้องลองเอาเองนะครับ
14 @R07906
ผมโหลดมาลองดูแล้วครับ ทำไมยังกด Shift เข้าเปิดโปรแกรมได้อยู่ครับ ใช้ access2000 ครับ...
15 @R07907
ขอบคุณอาจารย์ Sak อย่างยิ่ง หนูไปโหลดมาแล้ว มีประโยชน์มากเลยค่ะ มีทั้ง ล็อค/ปลดล็อค/Browse ให้เรียบร้อยเลย

เพื่อนสมาชิกลองไปโหลดดูนะคะ
16 @R07908
ผมเอามาดัดแปลงใช้เป็นโปรแกรมเพื่อให้ใช้ได้ง่ายขึ้นนะครับ ขอบคุณครับ ที่มีประโยชน์กับทุกๆ ท่าน ....
17 @R07909
ของผมป้องกันไม่ได้แล้วทำไมของท่านอื่นๆจึงป้องกันได้....งงครับ!
ผมก็ทำตามขั้นตอนทุกอย่างแล้วที่อยู่ของไฟล์ป้องกันคือD:\db1.mdb กดปุ่มป้องกัน Shift แล้วก็มีข้อความแจ้งเตือน
"ไฟล์ D:\db1.mdb ของคุณถูกป้องกันการกด Shift แล้ว" พอกดปุ่ม OK เสร็จก็ไปทดลองเปิดไฟล์ db1 โดยกด Shift ค้างแล้วดับเบิ้ลคลิกไฟล์ db1 สามารถเปิดได้
มีท่านทดลองแล้วเป็นเหมือนผมบ้างครับ
18 @R07910
กรณีของคุณคิดนั้น เมื่อมีข้อความขึ้นมาว่า "ไฟล์ D:\db1.mdb ของคุณถูกป้องกันการกด Shift แล้ว" ก็แสดงว่ามันทำงานแล้วล่ะ

แต่อาจยังไม่เห็นผล เนื่องจากไฟล์ db1.mdb ของคุณ คงยังไม่ได้สร้างเมนูของตนเองขึ้นมาใช้แทนของ Access โดยซ่อนเมนูของ Access เอาไว้

การกดปุ่ม Shift ก็คือการให้แสดงเมนูของ access ที่ถูกซ่อนอยู่ค่ะ ดังนั้นหากไฟล์ db1.mdb ไม่มีการซ่อนเมนู การกดหรือไม่กด Shift จึงไม่เห็นความแตกต่างค่ะ


19 @R07911
ผมลองแล้วไม่ได้จริงๆนะครับ มีรูปตัวอย่างเปรียบเทียบให้ดูไหมครับ
20 @R07914
เซ็ทค่าเริ่มต้นของไฟล์เป้าหมายตามรูป แล้วทดลองใช้โปรแกรมของคุณ Sak ล็อกและปลดล็อก Shift ไฟล์เป้าหมายดู จะได้ดังรูปตัวอย่างนะคะ



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