-
RE: Đóng gói ứng dụng access
yamakashi2003 > 29-09-20, 11:46 AM
(23-09-20, 12:52 PM)AnNguyen Đã viết: Đây bạn ơi, mình có đoạn code này trước anh Bảo cho nay vẫn dùng,
Bác ơi code này copy vào module xong rồi tiếp theo dùng như thế nào ạ
Trong ứng dụng mình viết thì mình có điều kiện là file ACCDE thì mới áp dụng cái này còn file ACCDB là designer thì không cần vì khóa mà quên không mở cùng khổ
Mã:Public Sub SercurityDB(locker As Boolean)
'SecurityDB True ( False)
' Doi ten ung dung
'ChangeProperty "Apptitle", dbText, "QUAN LY NHAN SU"
' Dat lai form khoi dong cua ung dung
'ChangeProperty "StartupForm", dbText, "frmLogin"
' Cho nhìn thay Khung Database hay không
ChangeProperty "StartupShowDBWindow", dbBoolean, locker
' Cho nhìn thay thanh Status hay không
ChangeProperty "StartupShowStatusBar", dbBoolean, locker
' Cho phép hien thanh design hay không
ChangeProperty "AllowBuiltinToolbars", dbBoolean, locker
' Cho phép thêm bot 1 item vào các thanh công cu hay không
ChangeProperty "AllowToolbarChanges", dbBoolean, locker
' Cho phép hien thanh menu con khi click chuot phai hay không
ChangeProperty "AllowShortcutMenus", dbBoolean, locker
' Cho phép hien toan bo thanh menu hay không
ChangeProperty "AllowFullMenus", dbBoolean, locker
'Cho phép ngung chuong trình bang phím Ctrl+ Break khi dang chay hay không
ChangeProperty "AllowBreakIntoCode", dbBoolean, locker
' Vô hieu hoa phím dac biet nhu: F11
ChangeProperty "AllowSpecialKeys", dbBoolean, locker
' Vô hieu hoa phím shift
ChangeProperty "AllowBypassKey", dbBoolean, locker
'Cho phep design/ sua thuoc tính form/ report khi ðang mo hay không.
ChangeProperty "AllowDesignChanges", dbBoolean, locker
'ChangeProperty "AppIcon", dbText, Access.CurrentProject.Path & "\HinhAnh\Icons\ongke0711.ico"
Application.SetOption "ShowWindowsInTaskbar", locker
End Sub
Còn Ẩn Navigation Pane mình từng thử dù ẩn hết nhưng khi vào chọn thanh tiêu đề chọn "Customize the Ribo" thì sau đó tìm mấy cái tab kia vẫn hiện nó lên được và vào được các FORM mà không theo lộ trình hoặc bị khóa,
Nên mình thêm 1 bước là khi lưu thành file accde rồi thì hiện Navigation ra rồi ẩn từng nhóm đối tượng là Form, table, report..
Cá nhân mình là thấy như vậy -
RE: Đóng gói ứng dụng access
AnNguyen > 29-09-20, 12:27 PM
(29-09-20, 11:46 AM)yamakashi2003 Đã viết:
(23-09-20, 12:52 PM)AnNguyen Đã viết: Đây bạn ơi, mình có đoạn code này trước anh Bảo cho nay vẫn dùng,
Bác ơi code này copy vào module xong rồi tiếp theo dùng như thế nào ạ
Trong ứng dụng mình viết thì mình có điều kiện là file ACCDE thì mới áp dụng cái này còn file ACCDB là designer thì không cần vì khóa mà quên không mở cùng khổ
Mã:Public Sub SercurityDB(locker As Boolean)
'SecurityDB True ( False)
' Doi ten ung dung
'ChangeProperty "Apptitle", dbText, "QUAN LY NHAN SU"
' Dat lai form khoi dong cua ung dung
'ChangeProperty "StartupForm", dbText, "frmLogin"
' Cho nhìn thay Khung Database hay không
ChangeProperty "StartupShowDBWindow", dbBoolean, locker
' Cho nhìn thay thanh Status hay không
ChangeProperty "StartupShowStatusBar", dbBoolean, locker
' Cho phép hien thanh design hay không
ChangeProperty "AllowBuiltinToolbars", dbBoolean, locker
' Cho phép thêm bot 1 item vào các thanh công cu hay không
ChangeProperty "AllowToolbarChanges", dbBoolean, locker
' Cho phép hien thanh menu con khi click chuot phai hay không
ChangeProperty "AllowShortcutMenus", dbBoolean, locker
' Cho phép hien toan bo thanh menu hay không
ChangeProperty "AllowFullMenus", dbBoolean, locker
'Cho phép ngung chuong trình bang phím Ctrl+ Break khi dang chay hay không
ChangeProperty "AllowBreakIntoCode", dbBoolean, locker
' Vô hieu hoa phím dac biet nhu: F11
ChangeProperty "AllowSpecialKeys", dbBoolean, locker
' Vô hieu hoa phím shift
ChangeProperty "AllowBypassKey", dbBoolean, locker
'Cho phep design/ sua thuoc tính form/ report khi ðang mo hay không.
ChangeProperty "AllowDesignChanges", dbBoolean, locker
'ChangeProperty "AppIcon", dbText, Access.CurrentProject.Path & "\HinhAnh\Icons\ongke0711.ico"
Application.SetOption "ShowWindowsInTaskbar", locker
End Sub
Còn Ẩn Navigation Pane mình từng thử dù ẩn hết nhưng khi vào chọn thanh tiêu đề chọn "Customize the Ribo" thì sau đó tìm mấy cái tab kia vẫn hiện nó lên được và vào được các FORM mà không theo lộ trình hoặc bị khóa,
Nên mình thêm 1 bước là khi lưu thành file accde rồi thì hiện Navigation ra rồi ẩn từng nhóm đối tượng là Form, table, report..
Cá nhân mình là thấy như vậy
Bạn vào 1 form nào đó có 1 sự kiện nào đó gọi nó ra và dùng thôi bạnMã:Private Sub btnKhoa_Click()
SercurityDB( False) ' khóa lại
End Sub
Private Sub btnMoKhoa_Click()
SercurityDB( True) ' mở khóa
End Sub -
RE: Đóng gói ứng dụng access
yamakashi2003 > 29-09-20, 06:02 PM
(29-09-20, 12:27 PM)AnNguyen Đã viết:
khi em tạo 2 button và dùng code như trên, ấn vào nó thì nó báo lỗi code trong module:(29-09-20, 11:46 AM)yamakashi2003 Đã viết:
(23-09-20, 12:52 PM)AnNguyen Đã viết: Đây bạn ơi, mình có đoạn code này trước anh Bảo cho nay vẫn dùng,
Bác ơi code này copy vào module xong rồi tiếp theo dùng như thế nào ạ
Trong ứng dụng mình viết thì mình có điều kiện là file ACCDE thì mới áp dụng cái này còn file ACCDB là designer thì không cần vì khóa mà quên không mở cùng khổ
Mã:Public Sub SercurityDB(locker As Boolean)
'SecurityDB True ( False)
' Doi ten ung dung
'ChangeProperty "Apptitle", dbText, "QUAN LY NHAN SU"
' Dat lai form khoi dong cua ung dung
'ChangeProperty "StartupForm", dbText, "frmLogin"
' Cho nhìn thay Khung Database hay không
ChangeProperty "StartupShowDBWindow", dbBoolean, locker
' Cho nhìn thay thanh Status hay không
ChangeProperty "StartupShowStatusBar", dbBoolean, locker
' Cho phép hien thanh design hay không
ChangeProperty "AllowBuiltinToolbars", dbBoolean, locker
' Cho phép thêm bot 1 item vào các thanh công cu hay không
ChangeProperty "AllowToolbarChanges", dbBoolean, locker
' Cho phép hien thanh menu con khi click chuot phai hay không
ChangeProperty "AllowShortcutMenus", dbBoolean, locker
' Cho phép hien toan bo thanh menu hay không
ChangeProperty "AllowFullMenus", dbBoolean, locker
'Cho phép ngung chuong trình bang phím Ctrl+ Break khi dang chay hay không
ChangeProperty "AllowBreakIntoCode", dbBoolean, locker
' Vô hieu hoa phím dac biet nhu: F11
ChangeProperty "AllowSpecialKeys", dbBoolean, locker
' Vô hieu hoa phím shift
ChangeProperty "AllowBypassKey", dbBoolean, locker
'Cho phep design/ sua thuoc tính form/ report khi ðang mo hay không.
ChangeProperty "AllowDesignChanges", dbBoolean, locker
'ChangeProperty "AppIcon", dbText, Access.CurrentProject.Path & "\HinhAnh\Icons\ongke0711.ico"
Application.SetOption "ShowWindowsInTaskbar", locker
End Sub
Còn Ẩn Navigation Pane mình từng thử dù ẩn hết nhưng khi vào chọn thanh tiêu đề chọn "Customize the Ribo" thì sau đó tìm mấy cái tab kia vẫn hiện nó lên được và vào được các FORM mà không theo lộ trình hoặc bị khóa,
Nên mình thêm 1 bước là khi lưu thành file accde rồi thì hiện Navigation ra rồi ẩn từng nhóm đối tượng là Form, table, report..
Cá nhân mình là thấy như vậy
Bạn vào 1 form nào đó có 1 sự kiện nào đó gọi nó ra và dùng thôi bạnMã:Private Sub btnKhoa_Click()
SercurityDB( False) ' khóa lại
End Sub
Private Sub btnMoKhoa_Click()
SercurityDB( True) ' mở khóa
End Sub- dòng này bị bôi vàng: Public Sub SercurityDB(locker As Boolean)
- dòng này bị bôi đen, nếu xóa đi thì dòng như thế ở dưới sẽ bị bôi đen tiếp: ChangeProperty
Compile error
sub or function not dèined
Bác chỉ em cách sửa với - dòng này bị bôi vàng: Public Sub SercurityDB(locker As Boolean)
-
RE: Đóng gói ứng dụng access
AnNguyen > 29-09-20, 06:15 PM
Bạn chụp hình lỗi và cái đoạn bạn áp dụng xem nào -
RE: Đóng gói ứng dụng access
ongke0711 > 29-09-20, 07:38 PM
Copy còn thiếu cái hàm ChangeProperty. -
RE: Đóng gói ứng dụng access
yamakashi2003 > 29-09-20, 11:46 PM
(29-09-20, 06:15 PM)AnNguyen Đã viết: Bạn chụp hình lỗi và cái đoạn bạn áp dụng xem nào
em gửi bác file bác xem giúp em với, hình như thiếu hàm như bác ongke chỉ ấy ạ
Bác mở file lên ấn nút khóa ở form đang nhập là thấy ạ
http://www.mediafire.com/file/gfcnep76cj...accdb/file -
RE: Đóng gói ứng dụng access
ongke0711 > 30-09-20, 12:13 AM
(29-09-20, 11:46 PM)yamakashi2003 Đã viết: em gửi bác file bác xem giúp em với, hình như thiếu hàm như bác ongke chỉ ấy ạ
Bác mở file lên ấn nút khóa ở form đang nhập là thấy ạ
Copy thêm hàm này vào module là hết lỗi.
Mã PHP:Function ChangeProperty(strPropName, varPropType, varPropValue)
Dim dbs As Database, prp As Property
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_XuLyLoi
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_KetThuc:
Exit Function
Change_XuLyLoi:
'Thuôòc tính không thâìy
If Err = conPropNotFoundError Then
Set prp = dbs.CreateProperty(strPropName, _
varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
'Không coì thuôòc tiình ðoì
ChangeProperty = False
Resume Change_KetThuc
End If
End Function -
RE: Đóng gói ứng dụng access
yamakashi2003 > 30-09-20, 09:03 PM
[/quote]
Ngại quá, copy thiếu anh ạ,
[/quote]
' Cho phép hien thanh design hay không
ChangeProperty "AllowBuiltinToolbars", dbBoolean, locker
' Cho phép thêm bot 1 item vào các thanh công cu hay không
ChangeProperty "AllowToolbarChanges", dbBoolean, locker
'Cho phep design/ sua thuoc tính form/ report khi ðang mo hay không.
ChangeProperty "AllowDesignChanges", dbBoolean, locker
Em có test thử trên access 2010 tháy 3 lênhj này không có tác dụng gì. chắc chỉ chạy ở bản cũ à bác -
RE: Đóng gói ứng dụng access
tranthanhan1962 > 01-10-20, 12:35 AM
Mình thấy các bạn xử lý vấn đề bảo mật cho accdb quá nhiều code. Thực ra với access 2007 trở đi thì nếu xử lý bảo mật OK. Thì nếu đã chuyển sang accde bảo mật cũng tương đối dễ dàng:
1/ ẨnNavigation bar: Chỉ cần bỏ check Display Navigation là ẩn ngay chứ đâu cần viết code gì
2/Khi đã chuyển sang accde thì làm sao design được mà phải viết code ẩn thanh design. Còn đã là một chương trình hoàn chỉnh thì phải có Custom Ribbon, Các thanh Custom Ribon hoàn toàn thay thế System Ribbon, muốn có công cụ nào thì phải tự tạo. Đâu cần đến code ẩn hiện thanh công cụ hệ thống.
3/Vấn đề cuối là khóa shift tránh người ta vào được Option để thay đổi thiết đặt để có thể mở những phần bị ẩn thì tôi thấy đoạn mã dưới đây OK cho tất cả các ver access kể cả các phiên bản 32 và 64 bit:
Khóa shift:
Public Function Disable_ShiftKey()
Dim db As Database
Dim prp, prptest As Property
On Error GoTo Err_Handler
Set db = CurrentDb
For Each prptest In db.Properties
If prptest.Name = "AllowBypassKey" Then
db.Properties.Delete "AllowBypassKey"
Exit For
End If
Next prptest
Set prp = db.CreateProperty("AllowBypassKey", dbBoolean, False, True)
db.Properties.Append prp
db.Properties.Refresh
msgBox "Disable Shift Key succeeded!", vbInformation
Set db = Nothing
Set prp = Nothing
Err_Exit:
Exit Function
Err_Handler:
msgBox "Error " & Err.Number & " ! " & Err.Description, vbCritical
Resume Err_Exit
End Function
Bỏ khóa shift:
Public Function Enable_ShiftKey()
Dim db As Database
Dim prp, prptest As Property
On Error GoTo Err_Handler
Set db = CurrentDb
For Each prptest In db.Properties
If prptest.Name = "AllowBypassKey" Then
db.Properties.Delete "AllowBypassKey"
Exit For
End If
Next prptest
Set prp = db.CreateProperty("AllowBypassKey", dbBoolean, True, True)
db.Properties.Append prp
db.Properties.Refresh
msgBox "Enable Shift Key succeeded!", vbInformation
Set db = Nothing
Set prp = Nothing
Err_Exit:
Exit Function
Err_Handler:
msgBox "Error " & Err.Number & " ! " & Err.Description, vbCritical
Resume Err_Exit
End Function
Phần khó nhất trong vấn đề bảo mật, tôi nghĩ rằng rắc rối nhất là ẩn nút Option, bởi vì tùy theo ver access cách xử lý phần này khác nhau nên muốn access tương thích với nhiều version phải viết nhiều thanh ribbon cho phù hợp