Triggers 当salesforce中相应的联系人字段更新时,触发更新帐户字段

Triggers 当salesforce中相应的联系人字段更新时,触发更新帐户字段,triggers,salesforce,apex-code,Triggers,Salesforce,Apex Code,当与此帐户相关的联系人更改字段时,如何创建触发器以更新帐户字段 示例--如果联系人有mailingcity,则相应的帐户邮寄城市字段应更新为相同的值 我的触发器如下 但它不起作用 从Schema.SObjectField到字符串的分配非法 我写的代码也来自谷歌。我无法解决这个问题。请帮忙 trigger ContactToAccountAddress on Contact (after insert,after update) { List<ID> AccID = New L

当与此帐户相关的联系人更改字段时,如何创建触发器以更新帐户字段

示例--如果联系人有mailingcity,则相应的帐户邮寄城市字段应更新为相同的值

我的触发器如下

但它不起作用 从Schema.SObjectField到字符串的分配非法

我写的代码也来自谷歌。我无法解决这个问题。请帮忙

 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;
}

为了增加能够回答此问题的用户关注您的机会,您应该使用它并添加适用的语言。还有,你有没有试着自己解决这个问题?你能给我们看一些代码吗?这大概是在一个数据库中-您能向我们展示您的DB模式以及预期的输入和输出吗?
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 ;
}**