tvn_hut > 24-08-16, 10:56 PM
paulsteigel > 24-08-16, 11:38 PM
(24-08-16, 10:56 PM)tvn_hut Đã viết: Hi cả nhà. mình muốn tạo 1 tin nhắn tới người dùng để tắt ứng dụng phục vụ cho việc compact or repair. Mình có tìm trên diễn đàn nhưng không có nên muốn mở chủ đề này để cùng mọi người xây dựng. Nếu bạn nào đã làm đc thì chia sẻ giúp.
ongke0711 > 25-08-16, 12:47 AM
Private Sub Form_Timer()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT tblCanhBaoRepair.* FROM tblCanhBaoRepair;", dbOpenSnapshot)
If rs!Activate = -1 Then
CanhBao
End If
rs.Close
End Sub
Public Function CanhBao()
Beep
MsgBoxUni "B" & ChrW(7841) & "n vui lòng thoát " & ChrW(7913) & "ng d" & ChrW(7909) & "ng trong vòng 1 phút " & ChrW(273) & ChrW(7875) & " Admin c" & ChrW(7853) & "p nh" & ChrW(7853) & "t d" & ChrW(7919) & " li" & ChrW(7879) & "u kh" & ChrW(7849) & "n! ", vbCritical, "C" & ChrW(7843) & "nh báo!"
End Function
DoCmd.OpenForm "frmCanhBao", , , , , acHidden
tvn_hut > 25-08-16, 03:04 PM
(24-08-16, 11:38 PM)paulsteigel Đã viết:Thank bạn. ý mình là thông báo tới enduser để chương trình tự đóng. lúc đó admin có thể modify mọi thứ mà không sợ ảnh hưởng. Giống như thời gian bảo trì hệ thống đó(24-08-16, 10:56 PM)tvn_hut Đã viết: Hi cả nhà. mình muốn tạo 1 tin nhắn tới người dùng để tắt ứng dụng phục vụ cho việc compact or repair. Mình có tìm trên diễn đàn nhưng không có nên muốn mở chủ đề này để cùng mọi người xây dựng. Nếu bạn nào đã làm đc thì chia sẻ giúp.
Bạn này chả chịu tìm kiếm gì cả....
http://thuthuataccess.com/forum/thread-9450.html
paulsteigel > 25-08-16, 03:15 PM
tvn_hut > 25-08-16, 03:34 PM
(25-08-16, 12:47 AM)ongke0711 Đã viết: Về việc gửi tin nhắn cho người dùng để thông báo thoát ứng dụng để bạn Compact & Repair thì cũng không khó.
1. Để compact thì bạn theo cách của bác pausteigel để cập ở trên.
2. Để gửi Message thì cách tôi làm như sau:
- Cách làm giống như việc mở form Login rồi cho chạy ngầm (ẩn đi) để lấy thông tin User, phân quyền cho các form mở sau này.
- Cho một form chạy ngầm ngay từ khi mở ứng dụng (file Front-end). Form này sẽ set Timer cứ 10s sẽ kiểm tra "Table thông báo" 1 lần xem có thông báo gì không, nếu có sẽ hiện pop up message cho nó. Bạn chỉ việc ngồi nhập thông báo vô table ở file back-end khi cần thì tất cả các file FE sẽ pop up thông báo.
Nói rõ hơn:
- Ở file BE bạn tạo 1 table. Ví dụ: tblCanhBaoRepair có 1 trường duy nhất [Activate] - dạng Yes/No. Mặc định sẽ là 0 (no). Khi cần thông báo, bạn click chọn nó (-1=yes). Bạn thêm 1 record với hiện trạng là: No
- Ở FE:
+ Link table với tblCanhBaoRepair ở BE.
+ Bạn tạo 1 form không có control gì cả và kích thước nhỏ thôi. Vd: đặt tên form là frmCanhBao
+ Thuộc tính Time Interval=10.000. Sự kiện On Timer thì thêm code sau:
Mã PHP:Private Sub Form_Timer()
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("SELECT tblCanhBaoRepair.* FROM tblCanhBaoRepair;", dbOpenSnapshot)
If rs!Activate = -1 Then
CanhBao
End If
rs.Close
End Sub
+ Tạo 1 module và copy code của hàm "CanhBao":
Mã PHP:Public Function CanhBao()
Beep
MsgBoxUni "B" & ChrW(7841) & "n vui lòng thoát " & ChrW(7913) & "ng d" & ChrW(7909) & "ng trong vòng 1 phút " & ChrW(273) & ChrW(7875) & " Admin c" & ChrW(7853) & "p nh" & ChrW(7853) & "t d" & ChrW(7919) & " li" & ChrW(7879) & "u kh" & ChrW(7849) & "n! ", vbCritical, "C" & ChrW(7843) & "nh báo!"
End Function
+ Form frmCanhBao sẽ chạy ẩn.
Mã PHP:DoCmd.OpenForm "frmCanhBao", , , , , acHidden
Link file demo: http://www.mediafire.com/download/64r81e...EUsers.zip
ongke0711 > 26-08-16, 05:38 PM
tvn_hut Đã viết:Thank bạn rất nhiều. 1 băn khoăn của mình nếu enduser mở chương trình nhưng để máy lock off mà chưa tắt thì mình muốn chương trình sẽ tự tắt sau 1 phút hiện thông báo thì thêm điều kiện nào. Cái timer sẽ setting ra sao?
ongke0711 > 27-08-16, 11:02 PM
tvn_hut > 27-08-16, 11:34 PM
(27-08-16, 11:02 PM)ongke0711 Đã viết: Trường hợp tự động đóng ứng dụng cũng thiết kế tương tự. Gồm:
- 1 Form chạy ngầm có chạy Timer để check Adim có đặt lệnh Activate hay không. Trong vd này tôi đặt Time Interval: 60000 (=1phút) và sử dụng Main form luôn chứ không cho Ẩn form.
- 1 Form thay thế Msgbox làm nhiệm vụ thông báo. Tại sao không dùng Msgbox của Access cho nhanh? Vì nếu sử dụng Msgbox, nó sẽ chờ hành động Click của người dùng, nếu không click chọn OK (hay Yes) thì Msgbox sẽ treo ở đó và Access sẽ không xử lý tiếp các dòng code kế tiếp (không đếm ngược tiếp -> không đóng ứng dụng).
Link file demo: http://www.mediafire.com/download/yj68fh...35/FSD.rar
paulsteigel > 28-08-16, 07:42 AM
(27-08-16, 11:34 PM)tvn_hut Đã viết: ....
Hi bạn. khi mình load về kiểm tra, mình thấy massage không tự động hiện lên sau khi chọn active tại tblcanhbaorepair. Chương trình không tự đóng mà chỉ khi mở mainform và click Ok mới đóng. bạn kiểm tra giúp nhé, thank in advance
HienFormCanhBao:
DoCmd.OpenForm "frmCanhBao", acNormal, , , , acWindowNormal ' Mở ở chế độ thông thường và thực hiện ngay lệnh tiếp theo
Forms!frmCanhBao!txtPhut = intDemNguocPhut
Me.Visible = False ' giấu form_main