You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Attachments表单控件批量更新多条记录?

如何通过Patch将附件表单控件内容保存到筛选后的集合记录中

问题背景

已通过集合筛选出数据源中的目标记录,需要用Patch函数将附件表单控件内的内容保存到这些记录中。此前尝试formName.Updates,但该方法仅会将父记录追加至数据库,与当前筛选后的集合无关。

期望效果

  • 将test1.png和test2.png上传至Power Apps附件表单控件
  • 将附件保存到集合对应的关联记录中

原示例代码

ForAll(
    collection,
    Patch(
        datasource,
        First(Filter(datasource, collection_col_name = 'RecordID')),
        {
            column1: DataCardValue2_5.SelectedDate
        //    Attachments: DataCardValue23.Attachments
        }
    )
)

解决方案

直接在Patch的字段参数中指定附件控件的Attachments属性即可,同时优化目标记录的定位逻辑提升性能:

修改后的代码

ForAll(
    collection,
    Patch(
        datasource,
        // 若集合中是数据源的完整记录,直接用ThisRecord定位目标
        ThisRecord,
        // 若集合仅存储记录ID,保留原筛选逻辑:First(Filter(datasource, RecordID = collection_col_name))
        {
            column1: DataCardValue2_5.SelectedDate,
            Attachments: DataCardValue23.Attachments
        }
    )
)

关键说明

  1. 附件字段格式匹配:Power Apps的附件字段本质是包含DisplayName、Id、Value属性的记录数组,附件控件的Attachments属性完全符合该格式,可直接赋值。
  2. 追加附件而非覆盖:如果需要保留原有附件并新增,需合并原有附件数组与新附件,代码调整为:
    Attachments: Collect(ThisRecord.Attachments, DataCardValue23.Attachments)
    
    若需去重,可替换为Union(ThisRecord.Attachments, DataCardValue23.Attachments)。
  3. 控件默认值检查:确保附件控件的Default属性未绑定错误数据源,避免赋值失败。

内容的提问来源于stack exchange,提问作者QuaziMoodo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 14:22:54