Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Help] Không cho thay đổi ngày nhập liệu
07-06-12, 01:51 PM
Bài viết: #1
Không cho thay đổi ngày nhập liệu
Chào các bạn
Mình có viết 1 phần mềm thu phí cho 1 đơn vị. Lấy ngày chứng từ là ngày mặc định của hệ thống nên khi nhập liệu thì ngày sẽ tự động cập nhật mà không phải nhập. Tuy nhiên có xảy ra trường hợp này, có 1 nhân viên gian dối, thường sửa ngày hệ thống quay về quá khứ. Ví dụ đang là tháng 6 thì người đó sửa về tháng 1. Nên những phiếu do nhân viên đó nhập sẽ nhận ngày chứng từ trong tháng 1 nên khi in báo cáo thống kê thu tiền theo thời gian ví dụ từ ngày 1-30/6/2012 thì những phiếu do nhân viên đó nhập sẽ không hiện ra báo cáo đó. Nhìn trên form là phát hiện ra, nhưng mình không thể nói ra được vì nhiều lý do lắm... Xin hỏi ngoài cách không cho chỉnh giờ hệ thống thì có cách nào kiểm soát được việc thay đổi ngày nhập liệu không. Bạn nào biết giúp mình nhé
Cám ơn

Chữ Ký của cannguyenXin chào, mình là cannguyen, Tham gia http://thuthuataccess.com/forum từ ngày 15-08 -11.
Trả lời
 Những người đã cảm ơn hadangpr
07-06-12, 03:28 PM (Được chỉnh sửa: 07-06-12 03:29 PM bởi hadangpr.)
Bài viết: #2
RE: Không cho thay đổi ngày nhập liệu
câu hỏi hay quá. Đã nhập từ hệ thống thì làm sao thay đổi, chỉ trừ khi không cho nó nhập tự động từ ngày của hệ thống nửa, có nghĩa là phải thay đối code của phần mềm, còn không thì đuổi ngây người ấy, chứ để lâu nó bán luôn đơn vị của bạnCry_smile

Chữ Ký của hadangprHỡi thế gian ngu là gì mà không ai chịu nhận!
Trả lời
07-06-12, 04:33 PM
Bài viết: #3
RE: Không cho thay đổi ngày nhập liệu
Cũng có thể:
Nếu phần mềm của bạn dùng chung:
- Bạn tạo thêm một bước chọn ngày làm việc; mục chọn ngày làm việc này phân quyền cho một người duy nhất được nhập và lưu vào một table. Khi bắt đầu ngày làm việc, người được phân quyền nhập đó chưa nhập ngày làm việc mới thì ngày nhập trước đó coi như là ngày làm việc. Và bạn gán giá trị ngày làm việc này mặc định là ngày trên các phiếu. Kể cả muốn thay đổi ngày hệ thống thì ngày làm việc vẫn không thay đổi.
- Hoặc bạn tạo thêm hai chức năng: mở sổ và khóa sổ: mở sổ sẽ gán ngày làm việc và phân quyền như trên; khóa sổ sẽ kết thúc ngày làm việc. Công việc mở sổ và khóa sổ giao cho một người (phân quyền) thực hiện. Khi chưa mở sổ thì không thể giao dịch được.
Gợi ý bạn như vậy.
Còn nếu có nhân viên như thế thì QUANG TÈO thôi

Chữ Ký của haquocquanGuest, you are welcome!
ღღღღღTài sản của haquocquan (View All Items) ღღღღღ
Trả lời
07-06-12, 04:40 PM (Được chỉnh sửa: 07-06-12 04:43 PM bởi Noname.)
Bài viết: #4
RE: Không cho thay đổi ngày nhập liệu
Bạn có thể áp dụng 1 trong ba giải pháp sau:
Giải pháp cứng:
Yếu tố con người là nhân tố quyết định, ta có thể căn cứ vào số thứ tự hoặc số phiếu để warning người lập phiếu. Số phiếu lớn hơn không thể có ngày nhỏ hơn phiếu trước đó!
Từ đó, bạn cũng có thể viết 1 hàm kiểm tra mỗi khi lập phiếu, ngày của phiếu mới phải lớn hơn hoặc bằng ngày của phiếu cuối cùng.


2/Giải pháp chặn ngày giờ:
Bạn có thể ngăn không cho user được đổi ngày giờ hệ thống thông qua domain policy (nếu chỗ bạn có hệ thống domain)
Hoặc áp cho từng máy theo hướng dẫn sau với các máy chỉ join workgroup.
http://www.troublefixers.com/enable-disa...indows-xp/

3/Giải pháp dùng nguồn độc lập
- Đây là giải pháp đáp ứng nhu cầu của bạn. Tuy nhiên cách thực hiện hơi vất vả
+ Lấy nguồn từ server hoặc 1 máy khác.
Ở server, bạn cài SQL server. Tạo 1 view với nội dung như sau:
Mã:
SELECT     { fn CURDATE() } AS curSvDate
Save lại với tên insvdate
Sau đó link view này với file Access của bạn thông qua ODBC. Bạn có thể search cách liên kết 1 bảng từ Access đến SQL Server thông qua ODBC. Nó sẽ hiện diện ở Access của bạn như một bảng bình thường với tên dbo_insvDate
Và từ đó, bạn có thể lấy ngày hiện tại của hệ thống server thông qua hàm Dlookup
+ Bạn cũng có thể xây dựng 1 hàm lấy ngày giờ từ website nào đó. Từ đó phân tích những gì response được để lấy ra ngày của server.
Tham khảo thêm bài này
http://thuthuataccess.com/forum/thread-169.html

Chữ Ký của Noname020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Trả lời
 Những người đã cảm ơn haquocquan
08-06-12, 10:17 PM (Được chỉnh sửa: 08-06-12 10:19 PM bởi Xuân Thanh.)
Bài viết: #5
RE: Không cho thay đổi ngày nhập liệu
Một giải pháp đơn giản là trong form nhập liệu
1/ txtNgay cho Enable = False
2/ Khi mở form, chuyển đến record mới và gán giá trị của txtNgay = Date

Dù làm cách nào thì khi mở table vẫn cứ ...sửa vô tư
Thân

Chữ Ký của Xuân ThanhTrăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Trả lời
08-06-12, 11:13 PM
Bài viết: #6
RE: Không cho thay đổi ngày nhập liệu
Bác Xuân Thanh chưa hiểu rõ câu hỏi của mình rồi. Mình nói là người dùng sửa ngày hệ thống nên dẫn đến ngày chứng từ bị sai (do mình để ngày chứng từ là ngày hiện tại) chứ không phải là người ta vào trường Ngày chứng từ để sửa trực tiếp. Bác nói txtNgay = Date thì nó lại lấy ngày hệ thống rồi, Khi đó họ sửa ngày hệ thống là thua. Còn bác nói vào Table sửa dữ liệu vô tư, thiết kế Database thì sao lại cho họ vào được Table để sửa chứ. Dù sao cũng cám ơn bạn
Mình cũng tìm ra cách rồi, tuy nhiên vẫn hơi thủ công 1 chút: Ngày nào admin cũng phải mở phần mềm lên và nhập ngày thực tế vào 1 Table, khi đó mình lấy trường ngày trong bảng đó đưa vào 1 textbox "Ngày kiểm tra" các form nhập liệu. Khi lưu sẽ so sánh Ngày chứng từ với Textbox Ngày kiểm tra đó: Nếu giống nhau thì cho lưu bình thường, nếu khác thì cảnh báo. Hehe, các bác thấy thế nào?

Chữ Ký của cannguyenXin chào, mình là cannguyen, Tham gia http://thuthuataccess.com/forum từ ngày 15-08 -11.
Trả lời
09-06-12, 09:29 AM
Bài viết: #7
RE: Không cho thay đổi ngày nhập liệu
(08-06-12 11:13 PM)cannguyen Đã viết:  Bác Xuân Thanh chưa hiểu rõ câu hỏi của mình rồi. Mình nói là người dùng sửa ngày hệ thống nên dẫn đến ngày chứng từ bị sai (do mình để ngày chứng từ là ngày hiện tại) chứ không phải là người ta vào trường Ngày chứng từ để sửa trực tiếp. Bác nói txtNgay = Date thì nó lại lấy ngày hệ thống rồi, Khi đó họ sửa ngày hệ thống là thua. Còn bác nói vào Table sửa dữ liệu vô tư, thiết kế Database thì sao lại cho họ vào được Table để sửa chứ. Dù sao cũng cám ơn bạn
Mình cũng tìm ra cách rồi, tuy nhiên vẫn hơi thủ công 1 chút: Ngày nào admin cũng phải mở phần mềm lên và nhập ngày thực tế vào 1 Table, khi đó mình lấy trường ngày trong bảng đó đưa vào 1 textbox "Ngày kiểm tra" các form nhập liệu. Khi lưu sẽ so sánh Ngày chứng từ với Textbox Ngày kiểm tra đó: Nếu giống nhau thì cho lưu bình thường, nếu khác thì cảnh báo. Hehe, các bác thấy thế nào?

uh, cũng được nhưng hơi thủ công! Mình có tham khảo qua hệ thống Accpac, người ta tạo 1table lưu ngày mở kỳ và ngày đóng kỳ và 1 field yes/no.
Khi tạo phiếu, nó chỉ cho trong khoảng từ ngày- đến ngày mà field yes/no đang là yes.
Mỗi kỳ, (thường là month end), người quản trị hệ thống vào đóng kỳ này và tạo kỳ mới. Như vậy sẽ đỡ cực cho admin hơn

Chữ Ký của Noname020
ღღღღღTài sản của Noname (View All Items) ღღღღღ
Trả lời
09-06-12, 11:32 AM
Bài viết: #8
RE: Không cho thay đổi ngày nhập liệu
(09-06-12 09:29 AM)Noname Đã viết:  
(08-06-12 11:13 PM)cannguyen Đã viết:  Bác Xuân Thanh chưa hiểu rõ câu hỏi của mình rồi. Mình nói là người dùng sửa ngày hệ thống nên dẫn đến ngày chứng từ bị sai (do mình để ngày chứng từ là ngày hiện tại) chứ không phải là người ta vào trường Ngày chứng từ để sửa trực tiếp. Bác nói txtNgay = Date thì nó lại lấy ngày hệ thống rồi, Khi đó họ sửa ngày hệ thống là thua. Còn bác nói vào Table sửa dữ liệu vô tư, thiết kế Database thì sao lại cho họ vào được Table để sửa chứ. Dù sao cũng cám ơn bạn
Mình cũng tìm ra cách rồi, tuy nhiên vẫn hơi thủ công 1 chút: Ngày nào admin cũng phải mở phần mềm lên và nhập ngày thực tế vào 1 Table, khi đó mình lấy trường ngày trong bảng đó đưa vào 1 textbox "Ngày kiểm tra" các form nhập liệu. Khi lưu sẽ so sánh Ngày chứng từ với Textbox Ngày kiểm tra đó: Nếu giống nhau thì cho lưu bình thường, nếu khác thì cảnh báo. Hehe, các bác thấy thế nào?

uh, cũng được nhưng hơi thủ công! Mình có tham khảo qua hệ thống Accpac, người ta tạo 1table lưu ngày mở kỳ và ngày đóng kỳ và 1 field yes/no.
Khi tạo phiếu, nó chỉ cho trong khoảng từ ngày- đến ngày mà field yes/no đang là yes.
Mỗi kỳ, (thường là month end), người quản trị hệ thống vào đóng kỳ này và tạo kỳ mới. Như vậy sẽ đỡ cực cho admin hơn

ý kiến cũng hay, để mình tham khảo

Chữ Ký của cannguyenXin chào, mình là cannguyen, Tham gia http://thuthuataccess.com/forum từ ngày 15-08 -11.
Trả lời
09-06-12, 07:36 PM
Bài viết: #9
RE: Không cho thay đổi ngày nhập liệu
các bạn tham khảo thử cách của mình nha.

Mình có một table là tblLog. bảng này có chức năng tự động lưu dấu đăng nhập của người sử dụng. tại form login mình để sự kiện openform kiểm tra ngày hệ thống. nếu như ngày hệ thống nhỏ hơn ngày đăng nhập lần cuối cùng thì sẽ không cho user đăng nhập vào, hiện cảnh báo và tự động thoát khỏi access.còn nếu bằng hoặc lớn hơn sẽ mở form login. mình nghĩ như vậy sẽ đỡ cực hơn. Và hạn chế được user lập được các phiếu khống như câu hỏi của ban cannguyen.

Thân!!! happy

Chữ Ký của ht03Xin chào, mình là ht03, Tham gia http://thuthuataccess.com/forum từ ngày 08-06 -12.
Trả lời
 Những người đã cảm ơn Noname , Xuân Thanh
09-06-12, 08:52 PM
Bài viết: #10
RE: Không cho thay đổi ngày nhập liệu
(09-06-12 07:36 PM)ht03 Đã viết:  các bạn tham khảo thử cách của mình nha.

Mình có một table là tblLog. bảng này có chức năng tự động lưu dấu đăng nhập của người sử dụng. tại form login mình để sự kiện openform kiểm tra ngày hệ thống. nếu như ngày hệ thống nhỏ hơn ngày đăng nhập lần cuối cùng thì sẽ không cho user đăng nhập vào, hiện cảnh báo và tự động thoát khỏi access.còn nếu bằng hoặc lớn hơn sẽ mở form login. mình nghĩ như vậy sẽ đỡ cực hơn. Và hạn chế được user lập được các phiếu khống như câu hỏi của ban cannguyen.

Thân!!! happy

Một ý tưởng hay

Chữ Ký của Xuân ThanhTrăm năm trước thì ta chưa gặp
Trăm năm sau biết gặp được không?
Cuộc đời sắc sắc không không
Thì thôi ta cứ hết lòng vì nhau
ღღღღღTài sản của Xuân Thanh (View All Items) ღღღღღ
Trả lời


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  Sử dụng Class Module và Kết nối dữ liệu SQL SERVER trong Access VBA lehongduc 37 9,931 18-07-14 06:37 AM
Bài mới nhất: lehongduc
  Hàm tạo n query không truyền giá trị vào btamsgn 0 79 14-07-14 12:23 PM
Bài mới nhất: btamsgn
  [Thủ Thuật] Lưu vết chương trình khi nhập liệu n2kp 25 4,945 14-07-14 12:16 PM
Bài mới nhất: btamsgn
  [Hàm] Encrypt/Decrypt - Mã hóa và Giải mã dữ liệu Xuân Thanh 2 146 07-07-14 08:47 AM
Bài mới nhất: Minh Tiên
  Mỗi ngày một code VBA vba 12 5,707 20-05-14 03:46 PM
Bài mới nhất: Antonio Trần

Chuyển nhanh:


Thành viên đang đọc chủ đề: 1 Khách

Liên hệ | Thủ Thuật Access | Lên trên | Nội dung | Bản rút gọn | Tin RSS