MS Access 宏/VBA 无意义

问题描述

我有一个相当复杂的数据库,它已经工作了一段时间。今天我去排查了一些问题,但我遇到了一个无意义的错误

在我的宏中,我首先创建明细表。然后我使用 VBA 脚本在明细表中按顺序编号每一行。然后我创建了该表的汇总版本,仅包括关键信息,如 SKU 和行号。 (其余的详细信息稍后使用行号添加回来)。编号脚本正在运行。明细表有行号。但是,运行宏后汇总表没有行号。如果我手动点击查询添加汇总表,数字会神奇地出现。

请帮忙。这个数据库已经运行了一年多,没有出现这个问题。

enter image description here

解决方法

老实说,这听起来像是腐败。 MS Access 使用 Jet 引擎,该引擎以膨胀的 dB 大小而闻名,并且很容易损坏。

您可以通过奇怪的行为看到,程序在处理底层文件时遇到了问题。如果您打开一个新的 Access DB,它就不会出现同样的问题。

最好的办法是从头开始重新创建 dB 或将其移植到 SQL Server、PostGres、MySQL、SqlLite 等,并将应用程序逻辑放入程序中 - 即使它是 VB6 应用程序,但我建议使用 .Net。

我已经有了去除所有东西并在此处重新创建 MS Access dB 的代码: https://stackoverflow.com/a/16158027/495455