Hi @BCBuizer, this list is connected to many other elements that I've done so if I change it to your recommendation, it will take me a lot of time to redo those elements.
I've done the formula but it doesn't deduct the leave balance. How to deduct the leave request based on the clicked item on the Leave Request list? I created the _UpdateItems2 but don't know where to put it.
Patch('Leave Request',LookUp('Leave Request',ID=SharePointIntegration.SelectedListItemID),{Status:{Value:"Approved"}});
With({_UpdateItem2: LookUp('Leave Request',ID=SharePointIntegration.SelectedListItemID),_UpdateItem: LookUp('Leave Balance', 'Employee Name'.DisplayName = DataCardValue19.Selected.DisplayName And Year = DataCardValue20.Text)},
Switch(DataCardValue18.Selected.Value,
"Advanced Leave", UpdateContext({_NewBalance: _UpdateItem.'Advanced Leave' - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {'Advanced Leave': _NewBalance}),
"Annual Leave", UpdateContext({_NewBalance: _UpdateItem.AnnualLeave - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {AnnualLeave: _NewBalance}),
"Calamity Leave", UpdateContext({_NewBalance: _UpdateItem.CalamityLeave - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {CalamityLeave: _NewBalance}),
"Carry Forward Leave", UpdateContext({_NewBalance: _UpdateItem.CarryForwardLeave - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {CarryForwardLeave: _NewBalance}),
"Compassionate Leave", UpdateContext({_NewBalance: _UpdateItem.'Compassionate Leave' - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {'Compassionate Leave': _NewBalance}),
"Emergency Leave", UpdateContext({_NewBalance: _UpdateItem.EmergencyLeave - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {EmergencyLeave: _NewBalance}),
"Hospitalization Leave", UpdateContext({_NewBalance: _UpdateItem.HospitalizationLeave - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {HospitalizationLeave: _NewBalance}),
"Marriage Leave", UpdateContext({_NewBalance: _UpdateItem.'Marriage Leave' - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {'Marriage Leave': _NewBalance}),
"Maternity Leave", UpdateContext({_NewBalance: _UpdateItem.MaternityLeave - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {MaternityLeave: _NewBalance}),
"Paternity Leave", UpdateContext({_NewBalance: _UpdateItem.PaternityLeave - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {PaternityLeave: _NewBalance}),
"Quarantine Leave", UpdateContext({_NewBalance: _UpdateItem.QuarantineLeave - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {QuarantineLeave: _NewBalance}),
"Replacement Leave", UpdateContext({_NewBalance: _UpdateItem.'Replacement Leave' - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {'Replacement Leave': _NewBalance}),
"Sick Leave", UpdateContext({_NewBalance: _UpdateItem.SickLeave - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {SickLeave: _NewBalance}),
"Study/Examination Leave", UpdateContext({_NewBalance: _UpdateItem.'Study/ExaminationLeave' - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {'Study/ExaminationLeave': _NewBalance}),
"WFH", UpdateContext({_NewBalance: _UpdateItem.WFH - DataCardValue15.Text});
Patch('Leave Balance', _UpdateItem, {WFH: _NewBalance})
));