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
Trong sự kiện Openform, bạn dùng code sau:
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
Trong sự kiện Openform, bạn dùng code sau:
Mã:
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 < 100 Then 'Cong don so lan mo form
t = t + 1
DoCmd.RunSQL "Update FormInfo set Times =" & t
txtT = t
ElseIf frm > 0 And t = 100 Then ' Neu da mo form duoc 5lan
MsgBox "BAN DA HET THOI GIAN DUNG THU- HAY DANG KY BAN QUYEN VOI TAC GIA" & vbCrLf & vbCrLf
Cancel = True
End If
End Sub
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 < 100 Then 'Cong don so lan mo form
t = t + 1
DoCmd.RunSQL "Update FormInfo set Times =" & t
txtT = t
ElseIf frm > 0 And t = 100 Then ' Neu da mo form duoc 5lan
MsgBox "BAN DA HET THOI GIAN DUNG THU- HAY DANG KY BAN QUYEN VOI TAC GIA" & vbCrLf & vbCrLf
Cancel = True
End If
End Sub
( Lưu ý: không cần tạo form nào cả mà muốn khóa form nào chỉ cần copy code dán vào form đó là được,và tạo một textbox có tên là txtT trên form đó là xong)
Và nếu form này mở quá 5 lần thì chương trình sẽ không cho mở form nữa!