7 Replies Latest reply on May 8, 2010 3:14 PM by AAgraphics

    Hiding records-design question



      Hiding records-design question


      Hi everyone,

      I am putting together a solution that contains records of interest to three different groups and to some administrative types that want to see everything.  Group A is only intrested in records about location A, Group B doesn't care about A & C, and so on. 


      I have tried using record level access to control this, and a second occurence of the main table to restrict access.  This does restrict access, but the actual record is still visible (with blank fields or <no access>)and, when browsing, the user may have to click through hundreds of records.


       Is using a find script for each user/group the only way to make groups of records disappear, so that the found set is a subset of the whole thing? Except for the bosses wanting to see it all & needing to search across & manipulate all records, three separate files could do the job.  Is there a good way to tie three files together as if they were one?


      This is probably a simple thing, but my blinders are on just now.

      Thanks for any input!



      FMP10 & 10 Advanced

      Mac addict suffering on Windows XP

        • 1. Re: Hiding records-design question

          "Is using a find script for each user/group the only way to make groups of records disappear"

          It's probably the easiest way. I can imagine a way to use Go To Related record to do this, but don't see any advantage to that approach.


          I'd keep all the records in one table and use scripts to control what records a user can see.


          You can use script triggers to automatically filter out records to hide the no access records from a given user.


          You can even write scripts and use a custom menu so your scripts can replace items such as Show All Records with a modified version that hides the no access records and the user won't see any difference except for the clutter you've filtered out.


          The interface details take some work, but with persistance and a bit of creativity, you can do this.

          • 2. Re: Hiding records-design question

            I am using FMP 10.  How can you filter out the results that say "no access"?  Can you be more specific on how to filter out the records that say "no access".  Each user logs into the database using their own account and password.  Users are accessing through IWP

            • 3. Re: Hiding records-design question

              Any find you perform, even a bogus one, automatically omits records to which the user does not have access. Same with portals. The only problem is with Show All Records - you want to remove this option from your users.

              • 4. Re: Hiding records-design question

                How can I write a find command that uses the " Get(AccountName) " command?


                It would be great if the layout would only show the records where:


                table::ContactAccountName = Get(AccountName)


                But I can not enter this into a find command, or am I missing something?

                • 5. Re: Hiding records-design question

                  You'd do it like this:


                  enter find mode[]

                  Set field [table::ContactAccountName ; Get(AccountName) ]

                  Set Error Capture [on]

                  perform find []

                  • 6. Re: Hiding records-design question



                    Thank you for the scripting help.  I am experiencing a problem with the script.  I have the script set to a button on one layout.  When I click on the button, the cursor goes to the one field that is present on the layout and the script stops.  Does that make sense?  One of the primary uses of this script is IWP.  I am using FMP10


                    • 7. Re: Hiding records-design question



                      I re-examined my script, made an adjustment and what you wrote functions perfectly!  Thank you for the help.