Chủ đề: Không cho mở Database
-
09-22-2009, 06:06 AM #1Junior Member
- Ngày tham gia
- Dec 2015
- Bài viết
- 0
Không cho mở Database
Chuyện là thế này: Em lọ mọ trên net mãi tìm được cách chỉ vô 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 Property
Const conPropNotFoundError = 3270
Set dbs = CurrentDb
On Error GoTo Change_Err
dbs.Properties(strPropName) = varPropValue
ChangeProperty = True
Change_Bye:
Exit Function
Change_Err:
If Err = conPropNotFoundError Then ' Thuộc tính không thấy.
Set prp = dbs.CreateProperty(strPropName, varPropType, varPropValue)
dbs.Properties.Append prp
Resume Next
Else
' Không biết lỗi gì.
ChangeProperty = False
Resume Change_Bye
End If
End 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, False
ChangeProperty "StartupShowStatusBar", dbBoolean, False
ChangeProperty "AllowBuiltinToolbars", dbBoolean, False
ChangeProperty "AllowFullMenus", dbBoolean, False
ChangeProperty "AllowBreakIntoCode", dbBoolean, False
ChangeProperty "AllowSpecialKeys", dbBoolean, False
ChangeProperty "AllowBypassKey", dbBoolean, False
MsgBox "Database đã được khóa! Đóng database, rồi mở lại mới có ép-phê.", vbOKOnly, "eChip Security"
cmdExit.SetFocus
cmdUnlock.Visible = True
cmdLock.Visible = False
End Sub
' Xử lý tình huống chọn nút [Mở database]:
Private Sub cmdUnlock_Click()
ChangeProperty "StartupForm", dbText, ""
ChangeProperty "StartupShowDBWindow", dbBoolean, True
ChangeProperty "StartupShowStatusBar", dbBoolean, True
ChangeProperty "AllowBuiltinToolbars", dbBoolean, True
ChangeProperty "AllowFullMenus", dbBoolean, True
ChangeProperty "AllowBreakIntoCode", dbBoolean, True
ChangeProperty "AllowSpecialKeys", dbBoolean, True
ChangeProperty "AllowBypassKey", dbBoolean, True
MsgBox "Database đã được mở khóa! Đóng database, rồi mở lại mới có ép-phê.", vbOKOnly, "eChip Security"
cmdExit.SetFocus
txtPassword = ""
cmdLock.Visible = True
cmdUnlock.Visible = False
txtPassword.Visible = False
End Sub
' Xử lý tình huống khi mở biểu mẫu:
Private Sub Form_Open(Cancel As Integer)
Dim dbs As Database
Set dbs = CurrentDb
On Error GoTo KhongCoThuocTinh_Err
If dbs.Properties("AllowBypassKey") Then
cmdLock.Visible = True
txtPassword.Visible = False
Else
cmdLock.Visible = False
txtPassword.Visible = True
End If
Exit Sub
KhongCoThuocTinh_Err:
cmdLock.Visible = True
txtPassword.Visible = False
End Sub
' Khi người ta gõ mật khẩu và nhấn phím Enter:
Private Sub txtPassword_LostFocus()
If txtPassword = "echip" Then
cmdUnlock.Visible = True
End If
End Sub
Em 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 không 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 mã trên tạp chí mới hiểu ra rằng tạp chí hướng 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 đại khái là:...... không tìm thấy form Main....
Các anh ơi giờ có cách nào cứu vãn tình hình không ạ, 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.......View more random threads:
- Lỗi khi import dữ liệu vào table
- Vô hiệu hóa nút Close của ứng dụng Access
- Update thông tin 1 cầu thủ mới
- Vấn đề ngày tháng trong Access
- Import file .DBF thành table cua access
- Randomize số trong Access
- Xin code xử lý dữ liệu
- Đưa giá trị biến vào report
- Làm sao để tắt chế độ Read Only khi mở file Access qua mạng Lan ?
- File minh họa việc kết nối đến dữ liệu SQL Server từ MS. Access
-
09-22-2009, 03:30 PM #2Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Không cho mở Database
Bạn tạo 1 file mdb mới, tạo 1 form có 1 command và copy đoạn code sau vào để mở phím shift
Private Sub Command0_Click()
On Error GoTo ErrHandler
Dim db As Database
Dim ThuocTinh As Property
Set db = OpenDatabase("D:-/thumuc\tenfile.mdb") ' ghi rõ ổ đĩa + thư mục + tên file mdb của bạn
db.Properties("AllowBypassKey") = True
Set db = Nothing
Exit Sub
ErrHandler:
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 If
End Sub
lần sau có táy máy thì nhớ copy file gốc của mình lại nhé.
-
09-24-2009, 05:54 AM #3Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Không cho mở Database
Cảm ơn các anh, các anh nhiệt tình quá
Nhưng hình như Access2003 không chuyển sang .MDE được thì phải, có phải thế không các anh?
-
09-24-2009, 06:29 AM #4Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Không cho mở Database
Gửi bởi tienduyet
-
09-25-2009, 04:34 AM #5Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Không cho mở Database
Em hỏi thế thôi chứ em thử rồi, Access 2003 báo là phải Access 1997 cơ.
Thế anh Muontennguon có giải pháp gì chia sẻ cho thằng em với.
-
09-25-2009, 06:03 AM #6Silver member
- Ngày tham gia
- Nov 2015
- Bài viết
- 0
Ðề: Không cho mở Database
Gửi bởi tienduyet
Đang xài Access 2003 thì phải định dạng (convert) nó thành 2003 trước rồi mới biên dịch sang MDE bằng Access 2003 được.
-
09-30-2009, 06:11 AM #7Junior Member
- Ngày tham gia
- Nov 2015
- Bài viết
- 1
Ðề: Không cho mở Database
Gửi bởi muontennguoi
Dẫu sao em cũng xin cảm ơn các anh đã chi sẻ.
-
11-09-2009, 04:04 AM #8Junior Member
- Ngày tham gia
- Aug 2015
- Bài viết
- 0
Ðề: Không cho mở Database
Bác muontennguoi nói rất đúng. Khi cài office 2003 thì mặc định khi ta tạo một file .mdb mới nó sẽ format Access2000. Muốn chuyển sang .mde thì bạn phải convert sang file Access 2002-2003 (Tools/Database Utilities/Convert Database...)
Một điền lưu ý nữa là khi chuyển sang file mde bạn phải đảm bảo code VBA của mình không còn lỗi nữa thì với chuyển được (Ở cửa sổ code bạn vào menu Debug/Compile... thấy không báo lỗi nữa là được).
Các mẫu cột cổng đá đẹp nhất được làm từ đá xanh tự nhiên có độ bền coi như vĩnh cửu dù cột đá được đặt ngoài hiên có thể chịu mưa , chịu nắng. Mẫu mã đẹp nhất, chạm khắc hoa văn đẹp, tinh tế. ...
Mẫu mẫu cột cổng đá được làm bằng đá xanh tự nhiên đẹp nhất hiện nay