|
Đây trả lời: Trong VB6, để mở một database Access được bảo vệ bằng mật khẩu, bạn dùng hành vi OpenDatabase với tham số Connect chứa mật khẩu. Cú pháp hành vi OpenDatabase như sau:
Set db = ws.OpenDatabase(dbname, options, read-only, connect)
Trong đó: db là đối tượng database, ws là đối tượng workspace. Mặc dù hai tham số options và read-only là tùy ý, nhưng khi dùng tham số Connect (ngay cả với mật khẩu đúng) thì bạn bắt buộc phải dùng kèm hai tham số này, nếu không, bạn sẽ luôn nhận được thông báo lỗi: run-time error 3031: Not a valid password.
Tham số Connect phải theo cú pháp sau:
MS Access;pwd=password
Trong đó password là mật khẩu dùng để mở database.
Để thử nghiệm, bạn chỉ cần làm thử ví dụ sau. Trong Access tạo một database có tên DB1.MDB, tạo một table có tên Table1 với hai field MaSo và Ten (nhập vào một vài mẩu tin). Trên trình đơn Tools, chọn mục Security > Set Database Password, gõ mật khẩu abc vào mục Password và Verify, bấm OK để hoàn tất việc đặt mật khẩu cho database.
Trong VB6, tạo một project mới có kiểu Standard EXE, chọn mục References trên trình đơn Project. Trong hộp thoại References, chọn mục Microsoft DAO 3.6 Object Library (hoặc phiên bản mới nhất).
Trên form Form1 mặc định, bạn gõ đoạn mã 1 vào thủ tục xử lý tình huống Load để thử mở database DB1.MDB. Bạn chú ý: DB1.MDB phải được ghi trong cùng thư mục với project.
|
|
Private Sub Form_Load()
Dim db As DAO.Database
Dim ws As DAO.Workspace
Dim rs As DAO.Recordset
Set ws = DBEngine.Workspaces(0)
Set db = ws.OpenDatabase (App.Path & "DB1.mdb", False, False, _
"MS Access;PWD=abc") ‘ Nhớ lưu project trước khi chạy
Set rs = db.OpenRecordset("Table1", dbOpenDynaset)
If rs.RecordCount > 0 Then
rs.MoveFirst
MsgBox "Ma so: " & rs!MaSo & " - Ten: " & rs!Ten
End If
rs.Close
db.Close
End Sub
|
1 Góp ý:
Gởi góp ý mới
<< Trở về