Tìm thủ thuật nhanh hơn với chức năng tìm trong Blog

10/8/10

Hướng dẫn tạo form chỉ cho phép mở một số lần cố định

hướng dẫn này cho phép chúng ta tạo 1 form chỉ cho phép người dùng mở 5 lần.
Có thể dùng ràng buộc người dùng phải đăng ký để dùng tiếp.

----------------------------------------------------------
Tác giả và demo: Cafe Via He
Site: http://thuthuataccess.co.cc/forum
Vui lòng giữ tên tác giả và site nếu bạn dùng hoặc chia sẻ code này.
------------------------------------------------
Tạo 1 table tên là FormInfo(FormName,times)
Formname: Text
Times: number

1 Form tên là demo
Trong đó, vẽ 1 textbox tên là txtT để thể hiện số lần mở form. Các yếu tố màu mè khác. Form sẽ có dung nhan như sau
[Image: solanmoform.png]
Trong sự kiện Openform, bạn dùng code sau:
Code:
Private Sub Form_Open(Cancel As Integer)
DoCmd.SetWarnings False
Dim frm As String
Dim t As Integer

    frm = DCount("formname", "Forminfo", "formname='" & Me.Name & "'")
    t = Nz(DLookup("times", "Forminfo", "formname='" & Me.Name & "'"), 0)
  
If frm = 0 Then 'Neu form chua mo lan nao
    t = t + 1
    DoCmd.RunSQL "Insert into Forminfo(formname,times) values('" & Me.Name & "'," & t & ")"
    txtT = t  
ElseIf frm > 0 And t < 5 Then 'Cong don so lan mo form
    t = t + 1
    DoCmd.RunSQL "Update FormInfo set Times =" & t
    txtT = t
ElseIf frm > 0 And t = 5 Then ' Neu da mo form duoc 5lan
    MsgBox "This form was opened 5 times" & vbCrLf & vbCrLf & "Expired!!!"
    Cancel = True
End If

End Sub

Và nếu form này mở quá 5 lần thì chương trình sẽ không cho mở form nữa!
[Image: exspire5lan.png]


Demo Download

Nếu bạn muốn mở form quá 5 lần thì chương trình tự thoát ra, bạn thay dòng
Cancel=true
Bằng dòng
Docmd.quit
Chúc thành công!

DownLoad Demo
Để thảo luận thêm về chủ đề này, mời vào topic:
http://thuthuataccess.co.cc/forum/thread-273.html