HELP! I need a way to default Detail records(of multiple tables within the same application) to a specific Master Record

  • 0
  • 1
  • Question
  • Updated 1 year ago
  • Answered
  • (Edited)

I manage a non-profit: lots of volunteers, lots of events,
lots of activities, etc.

Basically I need a way to default every detail record to a specific Master without having to “select Master, select Master, select Master, etc.)

·We have multiple fund raising Events

·        Each Event (Master Record) has Volunteers (Detail Records)

         Each Volunteer (Detail Records) has multiple Activities (things to do)

         Each Attendees (Detail Records) may have multiple Requests, to be acted upon. 

How can I limit/control volunteer access to only the Detail Records (multiple related detail tables) of a specific Master Record (Event)?   

* Volunteers should only have access to the Detail Records of the Master Record(Event) they are assigned for the duration of the Event.

Copy Master Detail does not apply.  
Photo of Dona Sheehan

Dona Sheehan

  • 214 Points 100 badge 2x thumb
  • perplexed

Posted 1 year ago

  • 0
  • 1
Photo of Chris

Chris, Champion

  • 4,390 Points 4k badge 2x thumb

Can you do this through roles and form rules?

Can you set up roles such as, Vol_Event1, Vol_Event2? Name each role after the status of the resource "Volunteer" and the actual event, "HumaneSociety" ( << example, not your real situation ).

Assign roles to human resources according to that person's contribution. Is that resource to volunteer to prep kennels at the local humane society. ( I'm using H.S. as an example, a hypothetical )

In the form rules, I'm assuming you're using out of the box Quick Base forms. In the form rules for that detail record's form, select,

"if the user is in the role of "Volunteer_HumaneSociety" ( << again this is just an example of a role ), then set Related Master Record to 2. ( << example of related master record 2 being the master record for volunteering )

The user would not have to know what the master record is, that's your job and the job of Quick Base to assign that master record to the detail record created by the resource in that specific role.

Hopefully I have not confused you, but the main gist that I'm getting is that you want to default a master record to a dependent child record without it being physically selected. My contribution is out of the box Quick Base using Roles and Form Rules.

Let us know how it goes or if you have further questions.

Photo of Dona Sheehan

Dona Sheehan

  • 214 Points 100 badge 2x thumb
I think I can work through what you have set forth...I'm learning fast how to be creative with QB...I have a long way to go to catch up to QB Masters/Champions, as yourself, but I'm "in it to win it"!!!

Thanks so much...I love the generosity of time and knowledge afforded via this forum!  
Photo of QuickBaseCoach App Dev./Training

QuickBaseCoach App Dev./Training, Champion

  • 51,296 Points 50k badge 2x thumb
I think we need to come up with a solution which does not involve creating a Role per Event.

I have been slow to wade in on this one, as the question is still unclear to me as to what the "ask" is here.

The head line of the question does not match the body of the explanation so I'm confused as to what the clean question(s) are.
Photo of Dona Sheehan

Dona Sheehan

  • 214 Points 100 badge 2x thumb
I apologize if my explanation became muddled and you are correct, I don't want to create a Role per Event.

Problem is two fold:

1.) When a Volunteer doesn't start in the Event(Master) but enters Detail Records then someone has to go back and try to figure out what Event(Master) the randomly added Activities, Attendee, etc.(Details) belong and make the corrections.

2.) Having to Select Event(Master) from the drop down, for hundreds of entries is annoying and I get nothing but complaints about it: every person wants to "SET" their Event(Master) and be able to work all day/week/month adding Details record into multiple tables without constantly having to Select the Event(Master)   

I've found several convoluted ways to relieve some of the agony but nothing concise.
Would just love to be able to set a Event(Master) and know all the Details records will be assigned to the correct Event(Master).

Does that help or further confuse?    


    
Photo of Matthew Neil

Matthew Neil

  • 31,438 Points 20k badge 2x thumb
You will want the following:

2 roles: Management (sees everything), Volunteer (see's only records with access).

Tables:
Events
Volunteers
Attendees
Details / Tasks / Requests (this should be one table, called whatever you'd like, but the action happens here).

Events --> Volunteers
Events --> Attendees
Events --> Tasks

Volunteers --> Tasks
Attendees --> Tasks

All of your volunteers will need to have their own "User" login because that is the only way you can truly filter things.

The magic to get the 'permissions' correct.

On the Volunteers table, you will have a user field for that particular Volunteer.

Create a summary field from Volunteers to Events, summarizing the number of events WITH the condition of "Volunteer User is equal to the current user".

Thus if they belong to the event, it will be "1" if not it will be "0".

At this point its easiest to convert that to a true/false checkbox;  Call it something like [Volunteer Has Access]
If([# of Volunteers as Current User]>0, true, false)

Now you can pass that checkbox down as a lookup field to all the child records (Attendees, Tasks, etc.)

Then return to the role settings and set the viewing or editing permissions based on the [Volunteer Has Access] checkbox.

You can also add the logic for [Current Event] if needed as well.
Photo of Dona Sheehan

Dona Sheehan

  • 214 Points 100 badge 2x thumb
I'll give this a try .  My Volunteer group varies from one Event to another.  I do assign each Volunteer a User login for the duration of the associate Event's work. 

Thank you for taking the time to offer up this method.  I can't believe I'm the only one who has heartburn over this....have a great day and thank you again!  
(Edited)