yamakashi2003 > 01-10-20, 10:36 AM
(01-10-20, 12:35 AM)tranthanhan1962 Đã viết: 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:
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.
ongke0711 > 01-10-20, 11:55 AM
(01-10-20, 10:36 AM)yamakashi2003 Đã viết: Nhưng mà em thấy nếu không dùng access cùng phiên bản, cùng bít với access đã chuyển file accdb, thì không thể mở được file accde bác ạ.
Không biết bác và mọi người có cách nào giải quyết không ạ?
Mà tại sao MS lại phải giới hạn tính năng này của file accde bác nhỉ?
ongke0711 > 01-10-20, 04:42 PM
(01-10-20, 12:35 AM)tranthanhan1962 Đã viết: 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
ChangeProperty "AllowBypassKey", dbBoolean, locker
<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui" onLoad="OnRibbonLoad">
<ribbon startFromScratch="true">
....Menu tu tao...
</ribbon>
<backstage>
<button idMso="ApplicationOptionsDialog" visible="false"/>
<button idMso="FileExit" visible="true"/>
</backstage>
</customUI>
tranthanhan1962 > 01-10-20, 05:52 PM
(01-10-20, 10:36 AM)yamakashi2003 Đã viết: Nhưng mà em thấy nếu không dùng access cùng phiên bản, cùng bít với access đã chuyển file accdb, thì không thể mở được file accde bác ạ.Đầu tiên trả lời câu hỏi: Mà tại sao MS lại phải giới hạn tính năng này của file accde bác nhỉ? Đơn giản chỉ là kỹ thuật bán hàng của Microsoft. Tôi không nói ở Việt Nam một nơi đầy phần mềm cr@ck (Hỏi nhỏ bạn một câu, bạn có biết bản Office của bạn có giá bao nhiêu không? OK! Nếu ban không biết thì bạn đang xài bản office lậu. Bạn cứ yên tâm, 99% anh em trên forrum thủ thuật access cũng vậy, kể cả tôi. Kể cả mấy cái máy vi tính của Ủy ban nhan dân phường bạn đang ở cũng đang sử dụng office lậu nốt). Bỏ qua chuyêng đó! Ở nước ngoài, những người như bạn và tôi được gọi là master software writer. Họ có hiệp hội đàng hoàng. Khi họ viết phần mềm cho khách hàng họ phải trả tiền bản quyền office cho microsoft và khách hàng của họ cũng vậy. Và cái chiêu không tương thích là để cho họ bán được số lượng lớn bản quyền office.
Không biết bác và mọi người có cách nào giải quyết không ạ?
Mà tại sao MS lại phải giới hạn tính năng này của file accde bác nhỉ?
http2 > 07-08-21, 01:31 PM