0

I have a table that I'm querying using SOQL and the query results should contain multiple rows. I'm trying to iterate through the query results and access attributes from each row of the query results. When I try to access the attributes using the dot operator, there is a pre-compiler error saying that the variable doesn't exist. Here is the code that is causing the error:

for(Available_records__c amc : [SELECT Id , Create_Period__c , Name, Record_Type__c, Frequency__c FROM Available_records__c WHERE Create_Period__c = TRUE]){
    if(amc.Frequency_c == weeklyCampaign.frequency){
                //Do some logic
    }
}

How can the individual attributes from the rows in the query results be accessed?

3
  • 2
    That error ('variable doesn't exist') often reflects a syntax error earlier in the same code unit preventing the variable declaration from being parsed correctly, not the field access as such.
    – David Reed
    Commented Jan 29, 2018 at 20:21
  • 2
    Specifically, at least in what you're showing here, there's an underscore missing in the field name in your if statement. Commented Jan 29, 2018 at 20:22
  • Good catch, @ThomasTaylor.
    – David Reed
    Commented Jan 29, 2018 at 20:25

1 Answer 1

2

The same way you already do in your comparison:

if (amc.Frequency__c == someValue) { /* do stuff*/ }

So just do that with any other field as well:

String amcName = amc.Name;
Boolean createPeriod = amc.Create_Period__c
1
  • Yeah, it looks like the issue was just that an underscore was missing... -_- But I did also want to confirm that I had set everything up correctly since for some reason, at the time, the text suggestions weren't working. Commented Jan 29, 2018 at 20:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .