Solved

Restricting Reports / Dates

Posted on 2011-09-23
6
268 Views
Last Modified: 2012-05-12
Hello Experts,

I have restricted employees from accessing past sales reports using If Date() > Me.txtDate

However, I was just informed that employees just change their system date to overcome this. Simple yet clever

Is there a way to prevent this?

Can I restrict non-admin users from restricting date changes? - this is why I'm also posting in XP Category.

The BE fil is on a network drive, but i can move it to a PC that can't be physically accessed by employes, and somehow use that system date in my FE?  Perhaps, running a .vbs at 12am to update a .txt file, and use that?
0
Comment
Question by:APD_Toronto
6 Comments
 
LVL 26

Expert Comment

by:Nick67
ID: 36589399
I prefer the trust yet verify model.
It is easy enough to create a table that will record who opened the report and when each time it opens.
Since these records would be created serially, you can let the users know that attempts to circumvent the restriction will be obvious, and traceable.
Another method is to look and see if there are records with a Date greater than today

Dim rs as recordset
set rs = currentdb.openrecordset("select SomeID from SomeTable where RecordDate >= (Date() +1)
if rs.recordcount > 0 then
    Msgbox "Hmm...You seem to have gone back in time to look at a past report.  I am coming with a stick now!"
end if
0
 

Author Comment

by:APD_Toronto
ID: 36589484
Nick, could you elaborate a bit more?
0
 
LVL 74

Accepted Solution

by:
Jeffrey Coachman earned 167 total points
ID: 36589706
APD_Toronto,

Just a note here...
<employees just change their system date>

Sadly, the Access issue is not the worst thing...
Changing the system date can screw up Outlook something fierce, as Outlook is "Date Based"
Events will fire, alerts will go out, task will expire, Things that were done may be marked undone, Date stamps may be come invalid, Time limited events will fire, "Auto Archive"...etc.

Finally, it will screw up the event logs...

You can see these links to prevent users from changing the date/time
http://www.experts-exchange.com/Security/Operating_Systems_Security/Q_23827738.html
http://www.experts-exchange.com/Software/Server_Software/File_Servers/Active_Directory/Q_27251411.html
et al:
http://www.google.com/search?q=site%3Awww.experts-exchange.com+prevent+users+from+changing+the+time

JeffCoachman
0
Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

 
LVL 26

Expert Comment

by:Nick67
ID: 36589999
Presumably, your records have a date in them.
If you are only allowed to check today's records, there should be no 'tomorrow' records yet
So, ergo, if you check for records with a date of tomorrow or later, the only way they could exist is if you messed with the system clock.

Busted
0
 
LVL 26

Assisted Solution

by:Nick67
Nick67 earned 167 total points
ID: 36590621
It is nice for hunting down screw-ups to have a field that shows the datetime an important record is created, anyway.
Add a datetime field, call it DateCreated, and give it a default value of Now()

You can then test for misbehavior
Sub FutureJobs()
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("select SomeID, DateCreated from SomeTable where DateCreated > #" & (Date + 1) & "# And isnull(DateCreated) = false;", dbOpenDynaset, dbSeeChanges)
If rs.RecordCount > 0 Then
    MsgBox "Hmm...You seem to have gone back in time to look at a past report.  I am coming with a stick now!"
End If

End Sub

Changing the time also requires Local Administrator priviledges on the box.
Which should NOT be standard operating procedure

0
 
LVL 22

Assisted Solution

by:senad
senad earned 166 total points
ID: 36593750
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…

776 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question