Modernize Studio
语言:简体中文
发邮件给我们

把 Microsoft Access 数据库重建为网页应用

企业日常依赖的 Access 数据库,连同其中的表、查询、窗体、报表和 VBA 代码,我们会重建为以 SQL Server 或 MySQL 为后台的网页应用。数据完整迁移,界面沿用员工现有的操作方式,无需重新学习流程。

为什么是现在

微软对 Access 2021 及整个 Office 2021 的支持将于2026年10月13日结束。Access 2016 和 Access 2019 已于2025年10月14日停止支持,与 Windows 10 同一天。到了这些日期,Access 文件并不会打不开,但不再获得安全更新,而每次 Windows 或 Microsoft 365 更新,都可能导致引用失效、ActiveX 控件无法加载或缺少 32 位驱动。

更常见的迁移理由其实很实际:文件放在共享盘上,只有一两个人知道它怎么运作;离开办公室就只能通过远程桌面使用;而且文件已接近 Access 的 2 GB 上限。

  1. Windows 10、Access 2016 和 Access 2019微软停止支持
  2. Access 2021 和 Office 2021微软停止支持

迁移内容

让数据库运转起来的一切,而不只是表。

  • 表和关系

    数据类型、主键、索引、带参照完整性的关系、有效性规则和默认值。自动编号字段转为标识列并保留原值,发票号和订单号不会改变。

  • 查询

    选择、追加、更新、删除和交叉表查询,包括从打开的窗体读取值的查询。每条查询都会针对新数据库改写,并与原查询的结果核对。

  • 窗体和子窗体

    录入界面、连续窗体、带联动列表的组合框、主从布局。它们会变成字段和顺序都相同的网页。

  • 报表

    带合计和分页的分组报表、标签,以及需要打印或以 PDF 发送的单据,如发票和送货单。

  • VBA 模块和宏

    窗体代码、标准模块、AutoExec 和嵌入宏。业务规则移到服务器上,对每个用户都以同样方式生效。

  • 链接表和外部数据

    指向其他 Access 文件、Excel 工作表、ODBC 数据源和 SharePoint 列表的链接,以及有人每周手动运行的导入导出程序。

网页版的样子

示例说明,数据为虚构

汽修厂工单在 Access 97 中可能的样子,以及同一界面的网页应用版本。

拖动滑块,或使用键盘方向键。

各部分迁移后的去向

在 Access 中:.accdb 或 .mdb 后端中的表
在网页应用中:SQL Server 或 MySQL 中的表,主键和关系保持不变
在 Access 中:已保存的查询
在网页应用中:视图、存储过程或应用中的查询
在 Access 中:窗体和子窗体
在网页应用中:字段相同的网页,任何浏览器都能打开
在 Access 中:报表
在网页应用中:由服务器生成的可打印页面和 PDF 文件
在 Access 中:窗体事件中的 VBA
在网页应用中:在服务器上执行的校验和规则
在 Access 中:工作组文件(.mdw),或根本没有登录
在网页应用中:按角色分配的个人账号,并记录谁修改了什么

迁移流程

  1. 48 小时内完成评估

    请发给我们.mdb 或 .accdb 文件的副本(如数据库已拆分,请附上前端和后端),如有顾虑,可用测试数据代替真实记录。我们会在 48 小时内回复一份书面报告:程序目前的功能、风险所在、网页版的结构设想、试点模块的固定价格以及其余部分的估价。评估免费,不附带任何义务。

  2. 试点模块

    我们先在您真实数据的副本上构建应用的一部分,通常是使用最多的部分。在决定其余部分之前,员工可以在日常工作中实际使用。

  3. 同样的数据,同样的结果

    我们在新数据库上运行查询和报表,把记录数、合计和打印出的数字与 Access 原结果逐一比对。我们发现的每条业务规则还会写成自动化测试,此后每次发布新版本前都会重新运行。您会收到列明每项核对结果的报告。

  4. 30 天并行运行

    完整应用就绪后,Access 数据库会与之并行使用 30 天。任何差异都会在旧程序仍在时暴露出来,我们在约定价格内修正。

常见陷阱及应对方法

  1. Jet 和 ACE 的 SQL 并非标准 SQL

    Access 在 LIKE 中用 * 和 ? 作通配符,而 SQL Server 和 MySQL 用 % 和 _;Access 用 # 包裹日期,把 True 存为 -1。IIf、Nz、Format、DateSerial 等函数没有直接对应。直接复制 SQL 文本,查询要么报错,要么更糟,返回不同的记录。我们逐条改写查询,并与原结果比对。

  2. 循环和查询中的域聚合函数

    DLookup、DCount、DSum 用起来方便,但每次调用都会单独执行一次查询。放在连续窗体或其他查询里,一个界面就可能执行上千次。网页版中它们会改为连接和分组查询,由数据库服务器一次完成。

  3. 从打开的窗体读取值的查询

    像 [Forms]![frmOrders]![txtCustomerID] 这样的条件,只有在那台电脑上打开了该窗体时才有效。我们把这类引用改为参数,同一个查询就能供任何页面或报表使用。

  4. 是/否、货币和日期/时间字段

    Access 把是/否存为 0 和 -1,货币保留四位小数,日期以数字存储,还可能带有时间。迁移时稍不注意,合计就会差几分钱,或者按3月31日筛选却什么也查不到。我们为每种字段类型明确设定映射,并在每次导入后核对合计。

  5. 附件、多值和查阅字段

    这些字段类型只存在于 .accdb 格式中,背后隐藏着额外的表。我们把它们改为普通的关联表,附件则存为文件,由数据库引用。

  6. 每台电脑上都有一份前端

    很多数据库依赖每台电脑上的一份前端副本,版本有时各不相同,后端路径指向映射的网络驱动器。评估时我们会确认哪一份是最新的,以及代码依赖哪些路径、打印机和加载项。

价格和付款

评估

免费

书面报告,48 小时内

试点模块

€1,000–1,500

通常;开工时付 50%,验收时付 50%

付款条件

启动时支付 50%,验收时支付 50%。尾款须在上线和交付源代码之前付清。较大的项目按约定阶段分期付款。

评估免费。如果决定不继续,报告归您所有,无需支付任何费用。

价格固定,并在开工前以书面形式确定。如果工作内容发生变化,我们会发送新的书面报价,经您确认后才进行额外工作。

对于完整迁移,我们的目标是比一般软件公司的报价低 40% 到 60%。我们能做到,是因为我们是一家小型工作室,没有写字楼租金,也没有销售团队。

价格不含增值税。

估算价格

一次真实的迁移,由测试验证

Northwind 是微软随 Access 附带的示例数据库,并不是我们的客户。我们把一份公开副本迁移到 SQLite 和 PostgreSQL,通过自动化测试将每张表、每个查询与原始数据逐一比较,并在此基础上构建了一个可运行的网页应用。案例研究给出了具体数字,等效性报告列出了每一项核对。

等效性报告(英文) · 可点击预览和示例评估(演示)

常见问题

开发网页版期间,我们还能继续用 Access 吗?

可以。您照常使用数据库。上线前我们会从最新副本重新导入数据,之后数据库还会与新应用并行使用 30 天。

能否保留 Access 窗体,只把数据迁到 SQL Server?

可以,对有些企业来说这正是合适的第一步:表迁到 SQL Server,Access 前端通过链接表连接。这能解决容量和稳定性问题,但解决不了远程访问和对 Office 的依赖。评估报告会说明哪种方案适合您。

我们的数据库是 Access 97 或 2003 的 .mdb 文件,有问题吗?

没有问题。.mdb 和 .accdb 我们都能处理。如果旧 .mdb 设置了用户级安全,我们还需要工作组信息文件(.mdw),这一点会在您发送文件之前告知。

我们的报表怎么办?

每份报表都会重建为可打印或保存为 PDF 的页面,分组和合计保持不变。随后我们让 Access 和新应用处理同一批数据,逐一核对报表中的每个数字。

网页版可以同时有多少人使用?

这主要取决于数据库服务器而非应用本身。SQL Server 或 MySQL 能承载的并发用户远多于共享的 Access 文件。评估报告会根据您的用户数推荐合适的托管方案。

应用部署在哪里?

部署在您选择的服务器或云服务上,也可以由我们代为安排托管。我们使用常见技术(C# 与 ASP.NET Core,或 PHP 与 MySQL),方便您的 IT 服务商接手日常运维。

联系我们

请选择您方便的联系方式。我们会在一个工作日内用中文通过电子邮件回复您。

通过邮件

riccardo@modernizestudio.com
写邮件

请把数据库副本(如有顾虑可用测试数据)或一段功能说明发给我们。我们会在一个工作日内回复。

把文件发给我们

如果程序是用 Access、Excel、VB6、Delphi 或早期 .NET 开发的,您在发送文件后 48 小时内即可收到一份免费的书面评估。

  1. 复制一份文件,如您愿意,可使用测试数据。
  2. 把它附在表单或邮件中,最好放进有密码保护的压缩包,并另行发送密码。如有需要,我们会先签署保密协议。
  3. 48 小时内:收到评估报告和试点模块的固定价格。

我们在意大利办公。

给我们留言

可选。数据库、Excel 工作簿、截图或需求说明,最大 10 MB。更大的文件请在留言中附上下载链接。

发邮件给我们

点击按钮会打开您的邮件程序并填好内容。只有在邮件程序中点击“发送”后才会真正发出。

发邮件给我们