从 Access VBA 重构到 Microsoft Power Platform:这不是迁移,而是整套系统重做
Copyright Notice: This article is an original work licensed under the CC 4.0 BY-NC-ND license.
If you wish to repost this article, please include the original source link and this copyright notice.
Source link: https://v2know.com/article/1298
结论:不是“迁移”,而是“重做一套”。Access 的数据可以迁到 Dataverse,但 VBA、窗体 UI、报表、复杂按钮逻辑基本不能原封不动搬过去。你这个方向等于是把「処理状況等管理システム」迁到 Power Platform。
按现实估算:
| 规模 | 时间 |
|---|---|
| 只迁表 + 做简单查询/录入画面 | 1~3 周 |
| Access 有多个窗体、按钮、权限、简单 VBA | 1~2 个月 |
| 像你这种业务系统,想尽量还原 UI + 流程 + 权限 + 测试 | 2~4 个月起 |
| VBA 很多、报表复杂、审批/状态流复杂 | 3~6 个月也正常 |
要学的东西大概是这些:
-
Dataverse
表、列、关系、主键、Choice、Lookup、权限。Access 数据迁移到 Dataverse 官方是支持的,但主要是数据层。(Microsoft Learn) -
Power Apps
你要判断用:-
Canvas App:更像自己摆 UI,适合想模仿 Access 窗体。
-
Model-driven App:更像 Dataverse 自动生成业务管理系统,快,但 UI 自由度低。
Canvas App 可以连接数据源、自己设计画面和控件。(Microsoft Learn)
-
-
Power Fx
这是 Power Apps 里的公式语言。VBA 的按钮事件、If、Filter、Patch、SubmitForm、Navigate 这类逻辑,大多要改写成 Power Fx。 -
Power Automate
用来替代部分 VBA 后台处理,比如通知、审批、定时处理、数据同步、状态流转。 -
权限设计
Dataverse 是基于 Security Role 控制用户能看、能改哪些数据。这个适合企业权限,但一开始会有点绕。(Microsoft Learn) -
报表/印刷
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