Tham khảo tài liệu 'manual programming experience handbook part 154', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả | biểu mẫu frmKhoiDong luôn được hiển thị trước tiên bằng cách xác định Display Form Page là frmKhoiDong. Để thay đổi thuộc tính AllowBypassKey bắt buộc phải mở CSDL gán trị mới cho thuộc tính này đóng CSDL lại thì lần mở sau mới có ép-phê. Bạn nhớ cần khóa làm sao để người ta không mở được mà mình mở được nghĩa là ta phải có chìa khóa để mở. Chìa ở đây chính là một biểu mẫu khác chẳng hạn có tên là frmChiaKhoa. Khi đã thay đổi thuộc tính AllowBypassKey được rồi chắc chắn biểu mẫu frmKhoiDong được hiển thị khi mở CSDL. Cho nên ta đặt chìa khóa thông qua biểu mẫu này bằng cách vẽ một ô điều khiển nào đấy miễn sao nó có thủ tục xử lý tình huống Click là được chẳng hạn nhãn lblChiaKhoa rồi đặt thuộc tính Visible là No và thêm dòng lệnh frmChiaKhoa vào thủ tục xử lý tình huống Click. Bạn phải nhớ vị trí nhãn lblChiaKhoa để lôi chìa khóa ra nhé. Như vậy vấn đề còn lại nằm ở biểu mẫu frmChiaKhoa. Bạn mở cửa sổ soạn thảo Microsoft Visual Basic chọn mục References. để bảo đảm Microsoft DAO Object Library trong đó phiên bản có thể là hoặc hoặc tùy theo phiên bản Access dĩ nhiên nên chọn phiên bản mới nhất đã được chọn trong danh sách Available References. Hình 1 Biểu mẫu cần thiết kế Hình 1 là biểu mẫu frmChiaKhoa cần thiết kế bao gồm một ô văn bản txtPassword để nhận mật khẩu mà người cần mở khóa phải gõ vào một nút lệnh cmdLock thực hiện việc khóa CSDL và một nút lệnh cmdUnlock thực hiện việc mở khóa CSDL. Xong bạn gõ các thủ tục xử lý như đoạn mã 1. Trước khi quậy chuyện này trên một CSDL bạn nên sao chép phòng hờ CSDL để tránh sự cố khóa được rồi nhưng không mở được do bạn gõ nhầm các dòng lệnh . Đoạn mã 1 Hàm ChangeProperty thay đổi các thuộc tính của CSDL Function ChangeProperty strPropName varPropType varPropValue Dim dbs As Database prp As Property Const conPropNotFoundError 3270 Set dbs CurrentDb On Error GoTo Change_XuLyLoi strPropName varPropValue ChangeProperty True Change_KetThuc Exit Function Change_XuLyLoi