2014-02-12 50 views
0

如何創建觸發器以更新帳戶上的字段,當與此帳戶相關的聯繫人更改該字段時。觸發更新帳戶提交時,當銷售人員更新相應的聯繫人字段

例子---如果接觸有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; 
} 
+1

爲了增加獲得能回答這個問題的用戶的關注的機會,你應該[編輯],並添加適用的語言[標籤](http://stackoverflow.com/幫助/標記)。另外,你有沒有試圖自己解決這個問題?你能告訴我們一些代碼嗎?大概這是在數據庫中 - 你能告訴我們你的數據庫模式,以及預期的輸入和輸出嗎? – Dukeling

回答

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 ; 
}** 
相關問題