Help

Set value of Single Select from getCellValueAsString

Topic Labels: Automations
650 1
cancel
Showing results for 
Search instead for 
Did you mean: 
L_air_de_dire
4 - Data Explorer
4 - Data Explorer

Hi everyone!

There’s a seemingly basic problem that’s driving me crazy: I have an automation that triggers a script to create a few records. When creating these records, I need to set the value of a single-select field. It works well when I assign a basic string to the variable, but fails when I use getCellValueAsString ! Anything I’m missing? (console.log on the result of getCellValueAsString shows the correct result and typeOf on the variable shows indeed “string”)

let tableMapOuvrages = base.getTable("Map ouvrages");
let tableTaches = base.getTable("Taches");
let inputConfig = input.config(); //get the variables from previous steps

let mapOuvrages = await tableMapOuvrages.selectRecordsAsync({
    fields: ["Ouvrage","Groupe ouvrage"]
});

for (let itemInMap of mapOuvrages.records) {

    let basicString = "Livraison menuiseries";
    let stringOuvrage = itemInMap.getCellValueAsString("Ouvrage");
    console.log(stringOuvrage ); // this shows "Livraison menuiseries"
    console.log(stringOuvrage ); // this shows "string"
    
    // the "temp" field below is a single-select
    let tache = await tableTaches.createRecordAsync({
    "temp": {name: basicString }  // This version works
    // "temp": {name: stringOuvrage }  // this version doesn't work !
    
    });

}
1 Reply 1

Welcome to the Airtable community!

What error messages do you get when it does not work? Can you share a screen shot?

Could one of the single select choices have a hidden trailing space or other hard-to-see difference?
What happens if you add these lines …


console.log(stringOuvrage );
console.log(basicString );
if (basicString === stringOuvrage) {
  console.log(`${stringOuvrage} and ${basicString} match`)
} else {
  console.log(`${stringOuvrage} and ${basicString} do NOT match`)
}

The script you posted doesn’t match you description of what is happening. The script you posted is missing the type of.