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

使用PowerApps自定义SharePoint表单并关联SQL Server按用户筛选数据

PowerApps 自定义SharePoint表单拉取SQL当前用户数据解决方案

前置准备

  • 首先在Power Apps编辑器中添加两个数据源:目标SharePoint列表、SQL Server数据库(建议使用Azure AD集成身份验证连接SQL,避免权限泄露)

配置步骤

1. New表单数据匹配配置

找到你的自定义表单对应的NewForm控件,修改其Item属性为以下公式:

First(Filter('[SQL].[你的员工表名]', SQL表邮箱列名 = User().Email))

说明:Filter会从SQL表筛选出邮箱和当前登录用户一致的所有记录,First取第一条匹配记录,适合单用户对应单条员工信息的场景。

2. 表单字段默认值绑定

将表单中姓名、姓氏、入职日期、可休假天数对应的数据卡片的Default属性,分别绑定到已筛选的SQL字段,示例如下:

  • 姓名字段Default:NewForm.Item.SQL表姓名字段名
  • 姓氏字段Default:NewForm.Item.SQL表姓氏字段名
  • 入职日期字段Default:NewForm.Item.SQL表入职日期字段名
  • 可休假天数字段Default:NewForm.Item.SQL表可休假天数字段名

配置完成后,用户打开新建表单时,对应字段会自动填充SQL中匹配到的用户数据,无需手动填写。

3. 提交与审批触发

  1. 表单提交按钮保留SubmitForm(NewForm)逻辑即可,绑定的字段值会自动写入SharePoint列表
  2. 审批触发可选两种方案:
    • 方案一(低代码无额外改动力):直接在SharePoint列表创建Power Automate流,触发条件设置为「当创建新项时」,后续配置审批节点即可,无需修改Power Apps代码
    • 方案二(可控性更高):修改提交按钮的OnSelect属性为:
      SubmitForm(NewForm); If(!IsEmpty(NewForm.LastSubmit), 你的审批流名称.Run(NewForm.LastSubmit.ID))
      提前创建触发方式为「Power Apps」的Power Automate流,接收表单传递的列表项ID后拉取数据发起审批即可

常见问题处理

  • 若不想给所有表单用户开放SQL表权限:可提前配置定时同步的Power Automate流,把SQL员工数据定时同步到一个仅管理员可编辑、所有用户可读的隐藏SharePoint列表,Power Apps直接筛选这个隐藏列表即可,无需连接SQL
  • 匹配不到用户数据提示:在表单顶部添加可见性属性为IsBlank(NewForm.Item)的文本标签,内容设置为「未查询到你的员工信息,请联系管理员」
  • 权限校验:确保SQL连接器/隐藏SharePoint列表对所有使用表单的用户开放只读权限,避免刷不出数据

内容的提问来源于stack exchange,提问作者José Hdez Rojas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:18:02