I have a trigger bellow which calculates a sum of field in a related field in custom object . I am getting an error massage Variable does not exist:House_Improvements__c
. Any ideas how can I resolve the issue?
Thanks
trigger SumCalculations on House_Improvements__c (after insert,after update, after delete,after undelete) {
List<id> PropertyIds = new List<id>();
if(Trigger.isInsert || Trigger.isUndelete || Trigger.isupdate){
For(House_Improvements__c himp1 : Trigger.new){
PropertyIds.add(himp1.Property__c);
}
}
if(Trigger.isDelete){
For(House_Improvements__c himp1 : Trigger.old){
PropertyIds.add(himp1.Property__c);
}
}
List<Property__c> PropertyToUpdate = new List<Property__c>();
decimal sum = 0;
if(Trigger.isInsert || Trigger.isUndelete || Trigger.isupdate){
For (Property__c q: [SELECT id,SUM_Calculations__c, (SELECT id, Price__c FROM House_Improvements__r) FROM Property__c WHERE id =:PropertyIds]){
sum = 0;
for(House_Improvements__c p : q.House_Improvements__r)
sum = sum + p.House_Improvements__c ;
q.SUM_Calculations__c = sum;
PropertyToUpdate .add(q);
}
try{
update PropertyToUpdate ;
}Catch(Exception e){
System.debug('Exception :'+e.getMessage());
}
}
if(Trigger.isDelete){
For(Property__c q : [SELECT SUM_Calculations__c ,(SELECT id,Price__c FROM House_Improvements__r) FROM Property__c WHERE id =: PropertyIds]){
sum = 0;
for(House_Improvements__c p : q.House_Improvements__r)
sum = sum + p.House_Improvements__c ;
q.SUM_Calculations__c = sum;
PropertyToUpdate .add(q);
}
try{
update PropertyToUpdate ;
}Catch(Exception e){
System.debug('Exception :'+e.getMessage());
}
}
}
House_Improvements__c
with a field calledHouse_Improvements__c
?sum = sum + p.House_Improvements__c ;
that is causing this failure, I believe.