กระทู้เก่าบอร์ด อ.Yeadram
6,611 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
http://www.thai-access.com/yeadram_view.php?topic_id=474
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 ไม่ทราบว่าต้องใส่ตรงไหนครับ ไม่เข้าใจ
สร้างฟอร์มมา 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 เข้าโปรแกรมได้อยู่ครับ ไม่รู้ว่าทำผิดขั้นตอนตรงไหน แนะนำหน่อยครับ
สร้างปุ่มคำสั่ง 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 ครับ แล้วค่อยกดปุ่มคำสั่ง
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
ขอบคุณค่ะ
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 ได้
ใน textbox ให้พิมพ์ ไดร์\โฟลเดอร์\ชื่อไฟล์.นามสกุล
อันนี้ของผม
d:\test.accdb เป็น db ที่เป็นเป้าหมาย ไม่ได้เปิดใช้งาน
แล้วกดปุ่มคำสั่ง
ก็ใช้งานได้นะครับ ไม่สามารถกด shift ได้
12 @R07903
ผมได้ส่งไฟล์ ต.ย. โปรแกรม ไปให้แล้วครับ ชื่อหัวข้อ โปรแกรมป้องกันการกดปุ่ม Shift ครับ เพื่อนๆ สามารถ ดาวน์โหลดไปทดลองใช้กันได้เลยครับ ผม .....
13 @R07905
เรียนคุณ kid
ไฟล์ปลายทางของคุณ (d:\db1) ได้ถูกคอมไพล์ ไปเป็น mde แล้ว
ผมเข้าใจว่า น่าจะใช้คำสั่ง changeproperty กับมันไม่ได้แล้วครับ หรืออย่างไร อันนี้ก็ไม่เคยลองครับ
ถ้าเป็นอย่างที่ผมเข้าใจ คุณ kid เอง อาจต้องหาวิธีอื่นครับ หรือทดลอง ไปเอาต้นฉบับ mdb มา change ก่อนแล้วค่อยแปลงไปเป็น mde อาจจะได้ผลนะครับ อันนี้ต้องลองเอาเองนะครับ
ไฟล์ปลายทางของคุณ (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 สามารถเปิดได้
มีท่านทดลองแล้วเป็นเหมือนผมบ้างครับ
ผมก็ทำตามขั้นตอนทุกอย่างแล้วที่อยู่ของไฟล์ป้องกันคือ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 จึงไม่เห็นความแตกต่างค่ะ
แต่อาจยังไม่เห็นผล เนื่องจากไฟล์ db1.mdb ของคุณ คงยังไม่ได้สร้างเมนูของตนเองขึ้นมาใช้แทนของ Access โดยซ่อนเมนูของ Access เอาไว้
การกดปุ่ม Shift ก็คือการให้แสดงเมนูของ access ที่ถูกซ่อนอยู่ค่ะ ดังนั้นหากไฟล์ db1.mdb ไม่มีการซ่อนเมนู การกดหรือไม่กด Shift จึงไม่เห็นความแตกต่างค่ะ
19 @R07911
ผมลองแล้วไม่ได้จริงๆนะครับ มีรูปตัวอย่างเปรียบเทียบให้ดูไหมครับ
20 @R07914
เซ็ทค่าเริ่มต้นของไฟล์เป้าหมายตามรูป แล้วทดลองใช้โปรแกรมของคุณ Sak ล็อกและปลดล็อก Shift ไฟล์เป้าหมายดู จะได้ดังรูปตัวอย่างนะคะ
Time: 0.2371s