当与此帐户相关的联系人更改字段时,如何创建触发器,以更新帐户中的字段。
示例---如果联系人有邮件,则相应的帐户邮件城市字段应使用相同的值更新
我的触发器如下
但它不起作用 从Schema.SObjectField到String
的非法分配我写的代码也来自谷歌。我无法解决这个问题。请帮忙
trigger ContactToAccountAddress on Contact (after insert,after update) {
List<ID> AccID = New List<ID>();
for(Contact con : Trigger.new){
if(con.MailingCity!=null&& con.AccountId != null){
AccID.add(con.AccountId);
}
}
List<Account> accList = [SELECT Name, BillingStreet FROM Account WHERE id in :AccID];
for(integer i = 0 ; i < accList.size(); i++){
accList[i].BillingStreet =Contact.MailingCity;
}
update accList;
}
答案 0 :(得分:1)
List<Contact> conlist = [ select mailingCity from Contact where accountId in :AccID];
List<Account> accList = [SELECT Name, BillingStreet FROM Account WHERE id in :AccID];
for(integer i = 0 ; i < accList.size(); i++){
**String address = ''+ conlist[0].get('mailingcity');
accList[i].BillingStreet = address ;
}**