Re: Make Child table related Rows read-only based on the Parent table column value
You have multiple options depending on the type of user experience you want to portray here, and what processes/users would be attempting to change the child rows.
1. Javascript - You could have code running on the child form that would check whatever status field on the parent table you use to store the status, and then hide the ribbon buttons and all fields on the form. This would be the most custom code option, but it would block your users from editing the child records manually (excluding bulk edits and any editable subgrid editing) whilst allowing any other background processes to still be able to edit these child records
2. Copy the approval status on the parent record to the child records (perhaps when the parent is approved), and check this copied value on the child record. Similar development required as (1) above, but a bit less coding effort to get the approval status field value (you would still need another process to copy the status from the parent records to the child). Same exceptions apply for bulk edit and editable grid edits
3. Real time workflow. This would run whenever an edit is made to a child record, and would check the approval status field value that you have on the associated parent record. If the parent record approval status is whatever status you need to check for, then you stop the workflow with an error, so the user cannot continue with their changes. The downside is that this would be reactive the child record form looks like the user can edit it, but the workflow would block anyone (and any background process) from making changes. This requires zero code (just a real time workflow), but to the user it would initially look like they can edit a child record