You need to sign in to do that
Don't have an account?

Trigger code error. Please help!
Hello,
I am trying to write a trigger that updates the value of a field on an object when records are created on another object that references that particular record on the first object. For instance, I have a field on the ACCOUNT object called "Available number of contacts," I would like the value in this field to reduce by 1 whenever a record in the CONTACT object is created that references the particular Account. Here is the code, but I keep getting the same error when I hit save: "Variable Available_Number_of_Contacts does nto exist. Please review my code and let me know where I went wrong. Thank you.
trigger decreaseAvailableContactsOnAccount on Contact (after insert) { Map<Id,Integer> accountTotal = new Map<Id,Integer>(); for(Contact c:Trigger.new) { if(c.accountid==null) continue; if(accountTotal.get(c.accountid)==null) accountTotal.put(c.accountid,1); else accountTotal.put(c.accountid,accountTotal.get(c.accountId)+1); } List<Account> accounts = new List<Account>(); for(Account a:[SELECT id, Number_of_Available_Contacts__c FROM Account WHERE id in :accountTotal.keyset()]) { a.Number_of_Available_Contacts__c -= accountTotal.get(a.id); accounts.add(a); } update accounts; }
Can you check api name of the field.It looks like your are using wrong api name of the field else trigger code is correct.
I copy and past of the exact API name.
But the error message u have posted Available_Number_of_Contacts does n't exist differrent from field( Number_of_Available_Contacts__c) u have used in code
Yeah i changed the name around a couple of times to see if that was the problem. the error message doesnt state that the field doesn't exist. it states that the variable does not exist:
"Error: Compile Error: Variable does not exist: Number_of_available_contacts__c at line 16 column 5"
Could you try the following code
I get this error when I tried to run it: Invalid initial value type LIST<Account> for LIST<Account> at line 11 column 28