Solved

Restricting Reports / Dates

Posted on 2011-09-23
6
271 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 
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

Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

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…
Code that checks the QuickBooks schema table for non-updateable fields and then disables those controls on a form so users don't try to update them.
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…
Visualize your data even better in Access queries. Given a date and a value, this lesson shows how to compare that value with the previous value, calculate the difference, and display a circle if the value is the same, an up triangle if it increased…
Suggested Courses

626 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