Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Restricting Reports / Dates

Posted on 2011-09-23
6
Medium Priority
?
275 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 668 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
What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

 
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 668 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 664 total points
ID: 36593750
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

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

Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
Instead of error trapping or hard-coding for non-updateable fields when using QODBC, let VBA automatically disable them when forms open. This way, users can view but not change the data. Part 1 explained how to use schema tables to do this. Part 2 h…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.
Add bar graphs to Access queries using Unicode block characters. Graphs appear on every record in the color you want. Give life to numbers. Hopes this gives you ideas on visualizing your data in new ways ~ Create a calculated field in a query: …
Suggested Courses

972 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