从 Access VBA 重构到 Microsoft Power Platform:这不是迁移,而是整套系统重做

| Unclassified | 1 Reads

结论:不是“迁移”,而是“重做一套”。Access 的数据可以迁到 Dataverse,但 VBA、窗体 UI、报表、复杂按钮逻辑基本不能原封不动搬过去。你这个方向等于是把「処理状況等管理システム」迁到 Power Platform。

按现实估算:

规模 时间
只迁表 + 做简单查询/录入画面 1~3 周
Access 有多个窗体、按钮、权限、简单 VBA 1~2 个月
像你这种业务系统,想尽量还原 UI + 流程 + 权限 + 测试 2~4 个月起
VBA 很多、报表复杂、审批/状态流复杂 3~6 个月也正常

要学的东西大概是这些:

  1. Dataverse
    表、列、关系、主键、Choice、Lookup、权限。Access 数据迁移到 Dataverse 官方是支持的,但主要是数据层。(Microsoft Learn)

  2. Power Apps
    你要判断用:

    • Canvas App:更像自己摆 UI,适合想模仿 Access 窗体。

    • Model-driven App:更像 Dataverse 自动生成业务管理系统,快,但 UI 自由度低。
      Canvas App 可以连接数据源、自己设计画面和控件。(Microsoft Learn)

  3. Power Fx
    这是 Power Apps 里的公式语言。VBA 的按钮事件、If、Filter、Patch、SubmitForm、Navigate 这类逻辑,大多要改写成 Power Fx。

  4. Power Automate
    用来替代部分 VBA 后台处理,比如通知、审批、定时处理、数据同步、状态流转。

  5. 权限设计
    Dataverse 是基于 Security Role 控制用户能看、能改哪些数据。这个适合企业权限,但一开始会有点绕。(Microsoft Learn)

  6. 报表/印刷
    Access 报表如果很多,Power Apps 本身不太舒服。可能要用 Power BI、Word Template、Power Automate 生成 PDF,或者保留一部分 Access/Excel 输出。

我觉得你的学习顺序应该是:

Dataverse 表设计 → Access 数据迁移 → Canvas App 做一个主菜单 → 做一个查询画面 → 做一个编辑画面 → Power Fx 写按钮逻辑 → 权限 → Power Automate → 报表/印刷

最现实的判断是:
如果目标是“快点上线”,Power Platform 不一定比 WinForms/WebForms 快。
如果目标是“云端、多用户、权限、手机/浏览器可用”,Power Platform 才值得。
如果目标是“Access UI 原封不动 + VBA 尽量保留”,那 Power Platform 不是好路线。

This article was last edited at