Knowledge Base

Our Knowledge Base covers a wide variety of technical topics, from the basic to the complex.

When creating multiple custom access rules for a role, all conditions must be met. Is there a way to specify an OR instead of AND when creating access rules?

There are two workarounds for this - depending upon what you want to do.

SCENARIO ONE: OR conditions are in the same field.

Say you want one person to see all records where the status is "on hold" OR is "Open." Tackle this within a single access rule. To do so, create a rule.

Within the first dropdown select the Status field.

In the second dropdown select "is".

In the final criteria dropdown, select <other>. A box appears.

Type: On Hold OR Open

OR must be capitalized. (To learn more, please see our Using AND and OR in a Single Filter help topic.)

SCENARIO TWO: OR conditions are in separate fields.

The workaround for this is to create two roles. Create one custom rule in the first role and create the second custom rule in the second role. Then share the application with the user or group twice: once in each role.

This method works because permissions are additive. When a user accesses an application in two roles, QuickBase grants all rights that either role allows. To learn more about how this works and learn what else you need to consider when one user is in two roles, please see our Reorder Role Priorities help topic.

Comments

And/Or Condition Level

Because I had more than 10 users assigned in various ways to a project (and those users would be in different roles), and therefore couldn't base it off a single UserList combination function (which would only take the first 10 users, I had to use a different workaround.

I needed AND/OR scenarios for access, I used a formula text field to return a value, and then in role permissions for "view" I am able to use [Condition Level] is equal to "Level1 OR Level2 OR etc..."

I've pasted the exact formula below:

Field = Text (Formula) field named "Access Condition Level"
 Formula Used:
 If(
[Full Internal Access]=true and [Restricted]=true, "Restricted",
[Full Internal Access]=true and [Restricted]=false, "Unrestricted",
Includes([Project Leads], ToUserList(User())), "LeadAccess",
Includes([Project Support], ToUserList(User())), "SupportAccess",
Includes([Ops Level Access], ToUserList(User())), "OpsAccess",
"FALSE")

Then in the Permissions under View I specified Users that could access a project based on what that field returned.

e.g.
Role A: Unrestricted OR LeadAccess OR SupportAccess
Role B: Restricted OR Unrestricted OR LeadAccess OR SupportAccess
Role C: Restricted OR Unrestricted OR OpsAccess Etc. Hope that helps.

alternate work-around for scenario-2

For scenario-2 cases involving text fields, create a new field that is a concatenation of the the two or-criteria fields (call is [combo]). Then, set the record-access conditon to [combo] contains "a" or "b" where "a" and "b" are the two criteria to be applied to the separate fields.

Example: Complex condition [A] = a OR [B] = b. The combo field can take the values [combo] = {xy, ax, xb, ab} where x and y are values other than the filter-criteria a and b. ax, xb and ab will all trigger a "true" condition for record access.

Post new comment

The content of this field is kept private and will not be shown publicly.
Type the characters you see in this picture. (verify using audio)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.

© 1997-2014 Intuit Inc. All Rights Reserved.

Online Database VeriSign Secured Web Based Software TRUSTe Certification Online Database SSAE Audit