The Parent record is "Request for IT Services".The detail record is "Financial detail; opex, capex etc). When the financial detail: Request Status is set to Approved. how would I auto change the status of the "Request for IT Services": Status field to approved?
Do a summary total count if he number if detail record which are Approved.
Then on your parent record make a new field which will be used for all reports ( or perhaps simply change the existing field to a formula, text field. The formula will be
If (# of approved detail records]>0, "Approved")
So the suggestion is to not actually change the value on a data entry field on ghe parent reps but rather to take it into account is a formula field.
Rename your current status field to be called [Status manual update]
Then make a new field called [Status] and the formula would be
[Status manual update]<>"",[Status manual update],
[# of approved detail records]>0,"Approved")
That will update the text formula field for [status]. I'm not sure what you mean by updating a checkbox field to checked, but if you want a mirror field to be a checkbox if [Status]=Approved", then the formual for a formula checkbox field would be
The answer to that question is "No, that cannot be done". End of story.
So I am offering up an alternate approach.
I'm suggesting that you retain your original [Status field] on the parent but rename it to be a manual entry field. The original data is all preserved when you rename a field.
Then have a formula field which will use the manual update value if there was one entered, else it will automatically updated based on the children record value.
The new field which I suggest be called [Status] would be used in all reports and forms, except when the Parent record is in edit mode.
[Status manual update]<>"",[Status manual update], //"if the manual update is not blank, then use it
[# of approved detail records]>0,"Approved") // else if there are children which are approved, set the value to "approved"
Think of excel. Say you have a blank value in cell A1. Its just an empty cell. You then key a value into cell B1. Then you go to an excel user help forum and say "when I key a value into cell B1, I want the value in cell A1 to change.". The "experts" will come back and say that you need to make cell A1 be a formula field and there is not a way to otherwise change the value of A1 unless you are willing to get into programming and visual basic type code.
But you are saying that you are unwilling to use a formula, so around in circles we go because you do not know visual basis and don't want to get into that level of complexity.
var text URLONE = URLRoot() & "db/" & Dbid() & "?act=API_EditRecord&rid=" & ToText([Record ID#]) & "&_fid_24=Approved";
// this next formula variable updates the parent record. Change the fid to be updated from 6 to to its value.
var text URLTWO = URLRoot() & "db/" & [_DBID_PIFS] & "?act=API_EditRecord&rid=" & [Related PFIS] & "&_fid_6=Approved";
// then you need to decide what to do after the update. There are many choices. This below is the simplest way to redisplay the Child record.
var text URLTHREE = URLRoot() & "db/" & Dbid() &"?a=dr&rid=" & ToText([Record ID#]);
// now we string together the three different API calls. On each successive nesting you need to layer in a URLEncode ( ).
& "&rdr=" & URLEncode($URLTWO)
& URLEncode("&rdr=" & URLEncode($URLTHREE))
// note that you will need to go into the Application properties to disable the requirement for "Application Tokens" or alternatively add in the text
&apptoken=put your application token here into each of the first two API calls.