
10 Antworten
hi karunakar reddy this code workingtrigger countoncontactupdate on contact(After insert,after update,After delete){if(trigger.IsAfter && trigger.isinsert){set<ID>Idset1=new set<Id>();for(contact con:trigger.new){Idset1.add(con.AccountID);}list<Account>accupdatelist=new list<Account>();list<Account>acclist=new list<Account>([select Id,Name,Count_id__c,(select id,name,AccountID from Contacts ) from Account where ID In:Idset1]);for(Account acc:acclist){acc.Count_id__c=Acc.contacts.size();accupdatelist.add(acc);}update accupdatelist;}if(trigger.IsAfter && trigger.isupdate){set<ID>IDset1=new set<ID>();for(contact con:trigger.new){if(con.AccountID!=trigger.oldmap.get(con.ID).AccountID){Idset1.add(con.AccountID);idset1.add(trigger.oldmap.get(con.ID).AccountID);}}list<Account>accupdatelist=new list<Account>();list<Account>acclist=new list<Account>([select Id,Name,Count_id__c,(select id,name,AccountID from Contacts ) from Account where ID In:Idset1]);for(Account acc:acclist){acc.Count_id__c=Acc.contacts.size();accupdatelist.add(acc);}update accupdatelist;}if(trigger.IsAfter && trigger.isdelete){set<ID>Idset1=new set<Id>();for(contact con:trigger.old){idset1.add(con.AccountID);}list<Account>accupdatelist=new list<Account>();list<Account>acclist=new list<Account>([select Id,Name,Count_id__c,(select id,name,AccountID from Contacts ) from Account where ID In:Idset1]);for(Account acc:acclist){acc.Count_id__c=Acc.contacts.size();accupdatelist.add(acc);}update accupdatelist;}}