You need to sign in to do that
Don't have an account?
anvesh@force.com
please check this code....
in my contact if edit and modify to a feild , the feild in account object should need to be updated.....there is master detail relationship between them,how should we work when there is relation ship like this.
trigger contact_ac on Account (is insert,after insert,is update) {
contact ct=new contact();
for(account ac:trigger.new)
{
if(ac.domain__c=='gmail')
ct.mail='mail' ;
update ct;
}
if wrong so please help me...
Anvesh mistakes u made in your code are as follows.
In the statement u said u want update some field on account when some change is made on contact. and you also said there is a master detail relationship exist, in such scenario you u can do the field update using work flow. Genereally we prefer trigger when there is no relationship exist between 2 objects. Even though if you want to write a trigger. you should learn the proper syntax and coding.
I am making some changes to ur code, follow them
trigger contact_ac on Account (after insert, after update) {
contact ct=new contact();
List<Account> act = new List<Account>([select Name, Id from Account where Id =: Use Ur MasterdetailName.ID]);
//from the above list you will have all the accounts which are associated with the Contact
for(account ac: act) // iterate through the list for finding the exact match.
{
if(ac.domain__c=='gmail')
ct.mail='mail' ;
// update ct; this is optional since you are writing the trigger on contact object itself.
}
If you have question post them I will help u.
IF the reply to the question helps to solve, then make this as a solution. and give KUDOS.
All Answers
Anvesh mistakes u made in your code are as follows.
In the statement u said u want update some field on account when some change is made on contact. and you also said there is a master detail relationship exist, in such scenario you u can do the field update using work flow. Genereally we prefer trigger when there is no relationship exist between 2 objects. Even though if you want to write a trigger. you should learn the proper syntax and coding.
I am making some changes to ur code, follow them
trigger contact_ac on Account (after insert, after update) {
contact ct=new contact();
List<Account> act = new List<Account>([select Name, Id from Account where Id =: Use Ur MasterdetailName.ID]);
//from the above list you will have all the accounts which are associated with the Contact
for(account ac: act) // iterate through the list for finding the exact match.
{
if(ac.domain__c=='gmail')
ct.mail='mail' ;
// update ct; this is optional since you are writing the trigger on contact object itself.
}
If you have question post them I will help u.
IF the reply to the question helps to solve, then make this as a solution. and give KUDOS.
trigger contact_ac on Account (after insert, after update) {
//contact ct=new contact();
List<Account> act = new List<Account>([select Name, Id from Account where Id =: Use Ur MasterdetailName.ID]);
//from the above list you will have all the accounts which are associated with the Contact
Define another list to collect the account records to be updated.
List<Account> updatedActs = new List<Account>();
for(account ac: act) // iterate through the list for finding the exact match.
{
if(ac.domain__c=='gmail')
ac.FieldName = The value from the contact u want to pass or any contact value ; // example ac.Email = "Mail";
updatedActs.add(ac);
}
update updatdActs; // write this DML statement out of the for loop to avoid hitting governor limits