Newbies TechOps Posted July 25, 2005 Newbies Posted July 25, 2005 FileMaker Pro 7 - Client has been set up to access and edit only certain assigned accounts. When the client opens the DB, all records load including the ones with 'no access'. How do you have records with no access keep from loading? Is there a special script needed? Also, the client can not use 'Find" - it is deactivated, can't locate this in accounts & privileges settings. Thanks for any help.
Reed Posted July 31, 2005 Posted July 31, 2005 You'll have to use a startup script that will create a found set to which the user has access. I usually do this using a go to related records script step where the relationship uses the user's account name. You could also show the available records in a portal, and allow the user to click the rows to show a detail record. Your users probably can't use the find command because you have disabled menu items in the privilege set. You can still create a find script attached to a button if you don't want to grant access to menu commands.
Fenton Posted July 31, 2005 Posted July 31, 2005 [Expanding on what Reed said.] There are a 2 basic methods to get them to their records, Go To Related Records and Find, each with variations, especially the GTRR: 1. Go To Related Records, using a relationship from an Unstored calculation, with Get (AccountName) to a regular text field with their account name in it (auto-entered at creation, the last option at the bottom of the auto-enter list). a. This works well from another table where there is NOT record-level restrictions. It doesn't work so well from one where there is. Because if the file/table opens on a record where they do not have access, the Get (AccountName) calculation and/or relationship field cannot evaluate. b. What you can do, run in only one table, is run the script with Full Access Privileges. Then it can evaluate; Get (AccountName) still evaluates correctly (at least in 7.0v3). There is a glitch with this however. Which is that the Full Access Account usually does NOT have any particular records assigned to it. The Full Access privileges are running (because of the checkbox), so you cannot easily "bypass" the developer account. What works is to test for the full access bypass in a script without the Full Access checkbox, then call the other (b.) as a subscript. 2. Find Methods a. Enter Find Mode, set Get (AccountName) into the text field. Find. Simple. b. A similar method is that ANY Find automatically filters out their <> records. So if you just do a Find for 1 in a Constant=1 field it will do the same as "a." It does not therefore require that the records have record-level access by their account name in a field. But obviously you'd need some field to use. The above "b." doesn't care what it is. Either of the methods should have Allow User Abort [Off] and must deal with failure, usually by not allowing access to the table.
Reed Posted August 1, 2005 Posted August 1, 2005 What Fenton Just mentioned is the same issue I ran into, except that I was unable to use "run script with full access" because I am using kiosk mode on the file to limit users' access to the computer. I've found that using that option will kick you out of kiosk mode. So I allowed view access to all records anyway, just controlling create, edit and delete privs. Since it's kiosk mode though, users can really only do what you allow them to do with buttons anyway...
Recommended Posts
This topic is 7053 days old. Please don't post here. Open a new topic instead.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now