MacIntosh

New Member
Chuyện là thế này: Em lọ mọ trên net mãi tìm được cách chỉ không hiệu hoá phím shift khi mở Database trên tạp chí Echip, cụ thể như sau:' Hàm ChangeProperty thay đổi các thuộc tính của database:Function ChangeProperty(strPropName, varPropType, varPropValue)Dim dbs As Database, prp As PropertyConst conPropNotFoundError = 3270Set dbs = CurrentDbOn Error GoTo Change_Errdbs.Properties(strPropName) = varPropValueChangeProperty = TrueChange_Bye:Exit FunctionChange_Err:If Err = conPropNotFoundError Then ' Thuộc tính bất thấy.Set prp = dbs.CreateProperty(strPropName, varPropType, varPropValue)dbs.Properties.Append prpResume NextElse' Không biết lỗi gì.ChangeProperty = FalseResume Change_ByeEnd IfEnd Function' Xử lý tình huống chọn nút [Khóa database]:private Sub cmdLock_Click()ChangeProperty "StartupForm", dbText, "Main"ChangeProperty "StartupShowDBWindow", dbBoolean, FalseChangeProperty "StartupShowStatusBar", dbBoolean, FalseChangeProperty "AllowBuiltinToolbars", dbBoolean, FalseChangeProperty "AllowFullMenus", dbBoolean, FalseChangeProperty "AllowBreakIntoCode", dbBoolean, FalseChangeProperty "AllowSpecialKeys", dbBoolean, FalseChangeProperty "AllowBypassKey", dbBoolean, FalseMsgBox "Database vừa được khóa! Đóng database, rồi mở lại mới có ép-phê.", vbOKOnly, "eChip Security"cmdExit.SetFocuscmdUnlock.Visible = TruecmdLock.Visible = FalseEnd Sub' Xử lý tình huống chọn nút [Mở database]:private Sub cmdUnlock_Click()ChangeProperty "StartupForm", dbText, ""ChangeProperty "StartupShowDBWindow", dbBoolean, TrueChangeProperty "StartupShowStatusBar", dbBoolean, TrueChangeProperty "AllowBuiltinToolbars", dbBoolean, TrueChangeProperty "AllowFullMenus", dbBoolean, TrueChangeProperty "AllowBreakIntoCode", dbBoolean, TrueChangeProperty "AllowSpecialKeys", dbBoolean, TrueChangeProperty "AllowBypassKey", dbBoolean, TrueMsgBox "Database vừa được mở khóa! Đóng database, rồi mở lại mới có ép-phê.", vbOKOnly, "eChip Security"cmdExit.SetFocustxtPassword = ""cmdLock.Visible = TruecmdUnlock.Visible = FalsetxtPassword.Visible = FalseEnd Sub' Xử lý tình huống khi mở biểu mẫu:private Sub Form_Open(Cancel As Integer)Dim dbs As DatabaseSet dbs = CurrentDbOn Error GoTo KhongCoThuocTinh_ErrIf dbs.Properties("AllowBypassKey") ThencmdLock.Visible = TruetxtPassword.Visible = FalseElsecmdLock.Visible = FalsetxtPassword.Visible = TrueEnd IfExit SubKhongCoThuocTinh_Err:cmdLock.Visible = TruetxtPassword.Visible = FalseEnd Sub' Khi người ta gõ mật (an ninh) khẩu và nhấn phím Enter:private Sub txtPassword_LostFocus()If txtPassword = "echip" ThencmdUnlock.Visible = TrueEnd IfEnd SubEm liều mạng thử copy vào và làm theo hướng dẫn, rồi mở form đó và bấm vào nút cmdLock, khởi động lại và thế là.....công sức của em mài dũa mấy tháng trời thành công cốc rồi -' + '-> giờ em bất mở được cửa sổ Database nữa, dù rằng em có bấm ngàn lần phím Shift thì cũng BóTay.com.Em đọc lại đoạn ngựa trên tạp chí mới hiểu ra rằng tạp chí chỉ dẫn form khởi động là Main nhưng em lại để form khởi động là frmWelcome, giờ mỗi lần mở Access xuất hiện một thông báo có nội dung lớn khái là:...... bất tìm thấy form Main....Các anh ơi giờ có cách nào cứu vãn tình hình bất ạ, em tội lớn quá. Các anh xem và cho em xin ý kiến khắc phục nhé, em xin cảm ơn!*** Ghi chú: Em trích đoạn code trên từ tạp chí Echip
-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-' + '-
Nghuy quá nghuy quá các anh ơi.......
 

Murrough

New Member
Bạn làm ra (tạo) 1 file mdb mới, làm ra (tạo) 1 form có 1 command và copy đoạn code sau vào để mở phím shiftPrivate Sub Command0_Click()On Error GoTo ErrHandlerDim db As DatabaseDim ThuocTinh As Property Set db = OpenDatabase("D:\\thumuc\\tenfile.mdb") ' ghi rõ ổ đĩa + thư mục + tên file mdb của bạndb.Properties("AllowBypassKey") = TrueSet db = NothingExit SubErrHandler: MsgBox Err.Number If Err.Number = 3270 Then ' Property not found. Set ThuocTinh = db.CreateProperty("AllowBypassKey", dbBoolean, True) db.Properties.Append ThuocTinh Resume Next Else MsgBox Err.Description End IfEnd Sublần sau có táy máy thì nhớ copy file gốc của mình lại nhé.
 

Culbart

New Member
Thank anh.Đó là cách khắc phục khi em mắc lỗi.Giờ khi em vừa có ý làm như thế để người khác bất thể xem đượ code và xem tất cả thứ bên trong bằng cách khoá lại như em nói ở phần đầu. Vậy có cách nào bất cho người khác làm điều như anh chỉ dẫn em không?Xin anh cùng các anh khác cho lời tư vấn và nếu có ví dụ thì thật là tốt các anh ạ.
 
Trích: Nguyên văn bởi tienduyet Thank anh.

Đó là cách khắc phục khi em mắc lỗi.

Giờ khi em vừa có ý làm như thế để người khác bất thể xem đượ code và xem tất cả thứ bên trong bằng cách khoá lại như em nói ở phần đầu. Vậy có cách nào bất cho người khác làm điều như anh chỉ dẫn em không?

Xin anh cùng các anh khác cho lời tư vấn và nếu có ví dụ thì thật là tốt các anh ạ. Làm như quochoi_05, mấy cái Lock, Unlock làm ở mdb riêng. Chạy cái Lock để khóa mdb chính. Khi nào cần mở lại thì chạy cái Unlock.

Không bao giờ chơi mấy cái procedure trong mdb chính cả.
 

Calbex

New Member
Trích: Nguyên văn bởi tienduyet Thank anh.Đó là cách khắc phục khi em mắc lỗi.Giờ khi em vừa có ý làm như thế để người khác bất thể xem đượ code và xem tất cả thứ bên trong bằng cách khoá lại như em nói ở phần đầu. Vậy có cách nào bất cho người khác làm điều như anh chỉ dẫn em không?Xin anh cùng các anh khác cho lời tư vấn và nếu có ví dụ thì thật là tốt các anh ạ. Ngòai cách chỉ dẫn như của quochoi_05 và cùa phatnq2002, có thể làm ngay trong database bằng cách đặt cac Lock và Unlock trong một form gọi là frmChiaKhoa và chỉ có người thiết kế mới biết cách mở form này mà thôi. Khi đó muốn Lock hay Unlock cái Database này là tùy bạn.Thân
 
Trích: Nguyên văn bởi tienduyet Thank anh.Đó là cách khắc phục khi em mắc lỗi.Giờ khi em vừa có ý làm như thế để người khác bất thể xem đượ code và xem tất cả thứ bên trong bằng cách khoá lại như em nói ở phần đầu. Vậy có cách nào bất cho người khác làm điều như anh chỉ dẫn em không?Xin anh cùng các anh khác cho lời tư vấn và nếu có ví dụ thì thật là tốt các anh ạ. Khi vừa viết xong chương trình thì bạn có thể dịch ra file .mde kết hợp với khóa phím shift như trên để hạn chế người khác xem code
 

Các chủ đề có liên quan khác

Top