Data Protection Different Levels (1 Viewer)

billgyrotech

Banned
Local time
Today, 16:55
Joined
Apr 18, 2013
Messages
258
Hello,


I am sorry if my previous post was too complicated so I will try to simplify my requests. I also would like to thank everyone here for their understanding of my lack of knowledge and appreciate any advice or help.



I would like ways to (from the form AFRs)


1) Lock the initial fields that the Clerk enters and the Clerk will print out the Tear Down report as a traveler to keep with the widget (the fields are most of the first column and Received Date)
2) Allow the Technician to enter data in the other fields as required and also add parts if needed
3) If parts are needed the Parts Requisition report will be printed so the stockroom will issue those parts.
4) Upon the Customer's approval the Technician will complete the repair then print out the AFR and the 8130-3 reports.
5) At the end of the business day the Administrator will close all AFRs that are 'Open' with Finished Dates and the Status should go to 'Closed' at that point and the record will be read only including the parts for that AFR.
6) Also of course a way to search previous AFRs by the AFR Number.
7) I put a button 'Open' which is meant to reopen the AFR if needed to make any editing changes but this doesn't have any code yet.



I hope these requirements are achievable and thanks so much for your help.
:)
 
Last edited:

June7

AWF VIP
Local time
Today, 13:55
Joined
Mar 9, 2014
Messages
5,423
That's an awful lot of requirements for a single thread. Tackle each 1 at a time and ask question for specific issue when encountered.

I am sure all is achievable with enough code.

Restrictions based on user permissions is a common topic. Access must 'know' the user and this normally requires a UserPermissions table and some sort of login process. A combination of VBA and Conditional Formatting can manage restrictions.

If anyone can press the "Open" button at will, then why bother with any restrictions to begin with?
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 16:55
Joined
Feb 28, 2001
Messages
27,001
Here is a problem that you will have to consider. From your description, you have a linear sequence of what the U.S. Navy calls a Chop Chain. Each person in a specific sequence must add his chop (slang for either signature or rubber stamp, either one a sign of approval through a particular stage) for the record to progress towards completion of processing.

There are two or three approaches to this but the ideal approach requires you to have some smarts on the form (or some smarts in a subroutine that will be called by that form, same thing really).

You start by having each potential user sign in using some method. The common methods involve using the user's login name for the domain. Search for some threads by Colin (signed as Isladogs) for a discussion of how to identify the logged-in user reliably. You can test this in the Form_Open routine or Form_Load, either one will work. And if you have a switchboard or dispatcher form, you can have that form do the work of identification, then just arrange to remember the results.

Once you know who it is, you can look them up in a hidden table to determine what role they play. How you do this is up to you but it involves determining some "mapping" scheme that says "person 1 can do W, X, Y, and Z, but person 2 can only do W and X, etc. etc. etc." Therefore, once you identify the person, you can identify their role or individual rights.

Now we get to the tricky part. When you open the form, you will probably have SOME method (and I don't care what it is, really) to navigate to a selected record of interest. Whether it is automatically the first open record or whether it involves you selecting something from a combo box and navigating to that, again is immaterial to the discussion. What DOES matter is that when you have successfully navigated, you have the Form_Current event (whether the selected record becomes "current" for the form.) In that event, you must look at the state of record and the roles of the current user and decide what that user can do. It is at that point that you need that subroutine that visits every control on the form to see to its state - Enabled or not, Visible or not, Locked or not... that sort of thing.

Finally, we get the to heart of the matter. If your user is allowed to do "X" to record 1, then as part of that process you need to assure that record 1 remembers that it has been X'd. So next time, it will only allow access to people who can "Y" it.

All of your exceptional cases (like what a supervisor could do) simply require you to give the supervisor more than one role OR you must have the form test for person having Role Y OR role SUPERVISOR. I.e. either that table or the form must support the decision.

This is not trivial but there are many threads on role-based forms. Use the forum Search feature, which is in the thin menu ribbon near the top of the page. "Search" is third from the right on that ribbon.
 

billgyrotech

Banned
Local time
Today, 16:55
Joined
Apr 18, 2013
Messages
258
Sorry for the trouble I didn't think anyone would have solutions to the specific requests anyhow.


I will manage somehow.
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 16:55
Joined
Feb 28, 2001
Messages
27,001
Billygyrotech, with "I didn't think anyone would have solutions to the specific requests anyhow" - the problem is simple: We cannot give you a specific solution because we don't know your specific environment. All we CAN give you are guidelines, ideas, hints, and suggestions.

I once worked at a place where we did oil and gas pipeline control and needed a leak detection method. So we designed one. After 24 customers, we had 25 leak detection methods - theirs and ours. Oh, they were all similar - but each customer was a little bit different and had different regulations. We had international customers as well as USA customers, so we had different national, state, local, and corporate rules to somehow blend in. Therein lay our difficulties in finding a truly common ground.

Therefore, when you ask for a solution, we have no hope of actually giving you code that will work straight out of the box and do EXACTLY what you wanted.

But as to "Sorry for the trouble" ... it is no trouble at all. That is what this forum does.
 

billgyrotech

Banned
Local time
Today, 16:55
Joined
Apr 18, 2013
Messages
258
I do appreciate the advice but most likely I will struggle on my own to figure this out.


I didn't think it was an impossible request to have protection on a form.


Go figure!
 

Uncle Gizmo

Nifty Access Guy
Staff member
Local time
Today, 21:55
Joined
Jul 9, 2003
Messages
16,245
I note that you have deleted another thread sighting it useless! As I notified you in my previous comment on the other thread you deleted, it is forum policy to keep threads and posts.
 

Uncle Gizmo

Nifty Access Guy
Staff member
Local time
Today, 21:55
Joined
Jul 9, 2003
Messages
16,245
I was looking back through your threads to see if you had deleted any others, and I note that you recently had a 7-day ban. I'm wondering if that explains your preference for deleting your threads?

If you're feeling a bit tetchy because you've had a ban then, I suggest you find some other way of venting your frustration. There is a very good section of the forum called the "Water cooler" where you can get away with just about anything as long as you don't break the law. Get along there and yell and curse and shout and get it out of your system.

Alternatively watch a bit of Dr Jordan B Peterson, he has got some excellent ideas on how you can steer yourself away from going down the nihilistic route...
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 16:55
Joined
Feb 28, 2001
Messages
27,001
I didn't think it was an impossible request to have protection on a form.

And it is NOT impossible. But what IS impossible is for us to plop a pile of code down in a post and expect it to work correctly in your context when we don't know anything about your context. There is that old phrase that here more than ever comes down to "The devil is in the details."
 

The_Doc_Man

Immoderate Moderator
Staff member
Local time
Today, 16:55
Joined
Feb 28, 2001
Messages
27,001
Asilzade, you are permitted to start your own thread. You didn't have to re-open the topic.
 

Gasman

Enthusiastic Amateur
Local time
Today, 21:55
Joined
Sep 21, 2011
Messages
14,047
Doc,
He is just adding pretty much that line to other topics. Presumably just to get his 10 post count.?
 

mike60smart

Registered User.
Local time
Today, 21:55
Joined
Aug 6, 2017
Messages
1,899
Hi billygyrotech

For your first 2 steps:-

1) Lock the initial fields that the Clerk enters and the Clerk will print out the Tear Down report as a traveler to keep with the widget (the fields are most of the first column and Received Date)
2) Allow the Technician to enter data in the other fields as required and also add parts if needed

For item 1 why not have a Form Open with only the Initial Controls that the Clerk needs to complete. A button to Print out the Tear Down.

Then for item 2 Open another form with the Clerk's Controls locked and the remaining Controls available for the Technician to enter data as required ???
 

billgyrotech

Banned
Local time
Today, 16:55
Joined
Apr 18, 2013
Messages
258
Thanks Mike but they are used to one form. It is difficult to teach old dogs New tricks.
 

mike60smart

Registered User.
Local time
Today, 21:55
Joined
Aug 6, 2017
Messages
1,899
Hi billygyrotech

No problem, however I am still a little puzzled about your actual business process.

It seems strange that every transaction is being dealt with in your "AFRs" table which to me appears to need a bit of normalisation.

Do Customers return Equipment for Repairs?
 

billgyrotech

Banned
Local time
Today, 16:55
Joined
Apr 18, 2013
Messages
258
The clerk will search history by serial number and part number when a unit arrives. There may be a duplicate serial number but not with part number criteria too.
 

mike60smart

Registered User.
Local time
Today, 21:55
Joined
Aug 6, 2017
Messages
1,899
Hi

Ok So 1 Customer Returns Many Items Which get Repaired and Returned to the Customer

This would indicate that you need more tables

Currently if a Customer returns the same item using your structure how do you manage it?

Do you Create a Completely New Record or over right the current Record?
 

Users who are viewing this thread

Top Bottom