Table set up

Hi All.

I have a table set up that lists workplaces. I have second table that lists positions in those workplaces. I have the access configured for the second table by connections off the workplaces (a field called ‘access by’). This all works as expected. I now want to introduce a third table off ‘staff’ that can occupy those positions. ! staff member can take on multiple positions. I want to restrict access to the staff table so managers of workplaces can only see the staff that occupy a position in their workplace.

I have originally tried adding an access by column to the staff table, but then i run into issue where 1 staff occupies positions in multiple workplaces. there is no option to add to the access by column only replace it. I cant seem to restrict access based on the position either, as it gives me issues with updating the fields. I have also tried no restrict access but instead choosing the positions as the data source (which can be filtered based on workplace access by) and then adding the fields from connected data. this works for displaying but wont allow for inline editing etc.

Any advice is appreciated

Hi @Chris8

Keep Staff object-level access open (or role-restricted only, not connection-restricted). Then:

  1. Build your manager page using the Positions table as the source, filtered by “connected to logged-in user” (this already works for you).
  2. Add the connected Staff fields you want visible (name, phone, etc.) as read-only columns — same as you have now.
  3. Instead of trying to inline-edit those connected fields, add an “Edit Staff” link/button on each row that opens a Details page for that Position record.
  4. On that Details page, nest a Form view whose source is the Staff object, scoped to the specific connected Staff record (Knack lets you add a form for a connected object on a details page tied to the parent record). That form can edit the actual Staff record’s fields directly.

Hi,

thank you for this, i have implemented it the way you suggested and it works. Sadly the inline editing wont work, but this is okay for now.

Thanks for your help