Help

The Community will be temporarily unavailable starting on Friday February 28. We’ll be back as soon as we can! To learn more, check out our Announcements blog post.

Help with Script

Topic Labels: Scripting extentions
Solved
Jump to Solution
1780 3
cancel
Showing results for 
Search instead for 
Did you mean: 
Michael_Andrew
8 - Airtable Astronomer
8 - Airtable Astronomer

I am trying to add all records from a view in a separate table to a field for all records in a view on another table.

let TBTable = base.getTable(‘Technical Comments for VB’);
let TBView = TBTable.getView(“Shared to All Trigger”)
let TBQuery = await TBView.selectRecordsAsync();
let TBRecord = TBQuery.records;
let VBTable = base.getTable(‘Verifier / Trainer Body’);
let VBView = VBTable.getView(“Verifier Bodies (Public List)”)
let VBQuery = await VBView.selectRecordsAsync();
let VBRecords = VBQuery.records;
let d =
VBRecords.forEach(c => d.push({id: c.id}));
await TBTable.updateRecordAsync(TBRecord.id,{‘Verifier Body’: d});
output.markdown(’# Done :rocket: ’)

I am getting an error that the record is not defined. Can someone help?

Thanks,

1 Solution

Accepted Solutions

its a replacement for your current line with updateRecordAsync.

See Solution in Thread

3 Replies 3

Your problem is you’ve passed TBRecord.id, but TBRecord does not have a property of id. As you’ve defined it, TBRecord is an array of records which looks something like this:

[
    {id: xxx1, name: "Record 1"},
    {id: xxx2, name: "Record 2"},
    {id: xxx3, name: "Record 3"}
    ...
]

You’ll need to loop through each item in that array, similar to how you’ve done with VBRecords, like this:

TBRecord.forEach(x => {
    TBTable.updateRecordAsync(x.id, {'Verifier Body': d})
})

Thanks. Sorry where does that part go in the script. I apologize I’m very new to coding.

its a replacement for your current line with updateRecordAsync.