Đánh giá chủ đề:
  • 3 Votes - 1.67 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Hướng dẫn tạo form chỉ cho phép mở một số lần cố định
#1
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.com/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
[Hình: solanmoform.png]
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 < 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!
[Hình: 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!

Để thảo luận thêm về chủ đề này, mời vào topic:
http://thuthuataccess.co.cc/forum/thread-273.html
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn haquocquan , ZUNGNN , hieuvn , danhxetnghiem
#2
Bài này rất hay.
Mình sẽ vận dụng vào form LOGIN để chỉ cho sử dụng (dùng thử) một số lần nếu chưa được cấp phép. Cám ơn Noname và Cafe
Chữ ký của haquocquan Guest, you are welcome!
ღღღღღTài sản của haquocquan (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#3
sao down file demo.rar về ko thấy j hết vậy
đề nghị mấy huynh fix nha
Chữ ký của no1blue Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn
#4
Bạn đọc hướng dẫn khắc phục trên phần chú ý á! happy
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#5
Bạn viết code cho dùng thử 30 ngày như các phần mềm của Microsoft có được không? sorry mình hay hỏi cắc cớ ):
Chữ ký của hieuvn Xin chào! Mình là hieuvn, thành viên của Thủ Thuật Access tham gia ngày Oct 2010.
Reply
Những người đã cảm ơn
#6
Mình sẽ trình bày trong một dịp khác! Việc đó cũng khá đơn giản!
gợi ý trong khi chờ đợi. Bạn lưu kết quả đăng nhập vào registry (trong này có đó) hoặc 1 table. Lưu ngày đăng nhập.
Sau đó lấy ngày hiện hành trừ đi, <30 thì tiếp, <30 thì tính tới license...
Cái này đơn giản về lý thuyết, nhưng làm thì dài dòng nên mình lười! gom các thủ thuật trong này đủ để bạn làm điều đó!
Chữ ký của Noname 020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Reply
Những người đã cảm ơn hieuvn
#7
Chào bạn Noname
cảm ơn bạn đã có gợi ý rất hay nên mình đã làm được rồi, nhưng mình hỏi bây giờ thay vì mình giới hạn bằng số lần mở form bằng đến ngày nào đó thì hết không được sử dụng nữa thì làm thế nào bạn hướng dẫn cho mình với, bạn cho mình code luôn nhé.
Cảm own Noname Nhiều
Chúc bạn luôn vui vẻ và hạnh phúc
Chữ ký của huydungit19 Hãy chia sẻ kinh nghiệm cùng mình trên ThuThuatAccess nhé! Chúc vui vẻ rose
Reply
Những người đã cảm ơn babyrock2009
#8
(22-04-11, 12:23 PM)huydungit19 Đã viết: Chào bạn Noname
cảm ơn bạn đã có gợi ý rất hay nên mình đã làm được rồi, nhưng mình hỏi bây giờ thay vì mình giới hạn bằng số lần mở form bằng đến ngày nào đó thì hết không được sử dụng nữa thì làm thế nào bạn hướng dẫn cho mình với, bạn cho mình code luôn nhé.
Cảm own Noname Nhiều
Chúc bạn luôn vui vẻ và hạnh phúc

Làm theo dạng định trước số lần mở thì mình nghĩ sẽ hay hơn là định đến ngày nào. Nếu người dùng chỉnh sửa ngày tháng trong hệ thống thì xem như vô hiệu
Chữ ký của vulhu06 Xin chào, mình là vulhu06, Tham gia http://thuthuataccess.com/forum từ ngày 15-06 -12.
Reply
Những người đã cảm ơn
#9
Nếu hẹn bằng ngày thì khi người khác chỉnh ngày hệ thống hoặc chỉnh thông tin ở table forminfo thì xem như vô hiệu rồi.
Nếu hẹn bằng số lần mở thì mờ table forminfo chỉnh lại số lần mở về 0 hoặc thậm chí về -1000 thì mở thoải mái luôn.hihi
Theo tôi lại có cách khác nữa, giả sử bạn có table chính để lưu dữ liệu cần thiết, bạn dùng hàm Dcount để đếm cái record của table này, và chỉ giới hạn cho người dùng lưu vào 1 số lượng nhất định. Quá số lượng đó thì form nhập, login hoặc form quan trọng nào đó không mở lên được thì xem như xong. Khi đó, nếu họ muốn mở vẫn mở thoải mái, nhưng mà xài thì không được do bị giới hạn về số lượng record phải nhập vào.
Không biết cách này có nhược điểm nào không nữa.005
Chữ ký của trunghieu <<---Trên bước đường thành công, không có dấu chân của kẻ lười biếng --->>
ღღღღღTài sản của trunghieu (View All Items) ღღღღღ
Reply
Những người đã cảm ơn
#10
(17-04-14, 04:28 PM)trunghieu Đã viết: Nếu hẹn bằng ngày thì khi người khác chỉnh ngày hệ thống hoặc chỉnh thông tin ở table forminfo thì xem như vô hiệu rồi.
Nếu hẹn bằng số lần mở thì mờ table forminfo chỉnh lại số lần mở về 0 hoặc thậm chí về -1000 thì mở thoải mái luôn.hihi
Theo tôi lại có cách khác nữa, giả sử bạn có table chính để lưu dữ liệu cần thiết, bạn dùng hàm Dcount để đếm cái record của table này, và chỉ giới hạn cho người dùng lưu vào 1 số lượng nhất định. Quá số lượng đó thì form nhập, login hoặc form quan trọng nào đó không mở lên được thì xem như xong. Khi đó, nếu họ muốn mở vẫn mở thoải mái, nhưng mà xài thì không được do bị giới hạn về số lượng record phải nhập vào.
Không biết cách này có nhược điểm nào không nữa.005

Đã thiết lập số lần mở cho form thì phải bảo mật form chứ? Sao lại để người dùng vọc vào table!
Với lại mình nghĩ là sao lại hạn chế số record? trong khi phần mềm cho người ta xài thì phải linh động về số lượng record chứ
Chữ ký của vulhu06 Xin chào, mình là vulhu06, Tham gia http://thuthuataccess.com/forum từ ngày 15-06 -12.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Thủ Thuật] Demo_Code Ẩn tất cả mọi thứ, ngoại trừ Form+Report maidinhdan 127 7,435 21-11-16, 01:57 PM
Bài mới nhất: nghiep
  Msg Box tiếng Việt Unicode có định dạng chữ đậm tranthanhan1962 13 2,263 30-01-16, 12:39 AM
Bài mới nhất: khanghychu
  [Thủ Thuật] Hỏi_Xác định phiên bản Access đang dùng maidinhdan 1 378 18-12-15, 08:43 AM
Bài mới nhất: ongke0711
  [Thủ Thuật] Demo gửi Email có thêm file đính kèm Access maidinhdan 0 680 09-04-15, 11:22 PM
Bài mới nhất: maidinhdan
  Hướng dẫn cơ bản về việc lập báo cáo tồn kho và in thẻ kho bằng query Xuân Thanh 30 14,941 13-02-15, 10:47 PM
Bài mới nhất: thucgia

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ