2

我使用 Microsoft Access 作为管理数据(过去存储在电子表格中)的一种方式,以更加表格化、有序和合乎逻辑的方式。对我的客户来说,一切似乎都很好,但她有一个问题:“有没有一种允许还原更改的模式?假设我做了一些更改,我想还原到我的原始版本,是这可能吗?”

我理解她的顾虑,尽管我想说“这就是数据库的工作方式;您对一行进行更改,它们会立即写入该行”,但我不能让自己说出来。她一直在使用 MS Excel,Excel 能够撤消多项更改,如果您还没有保存它,还可以恢复到原始文件。对我来说,我觉得她害怕Access会带来灾难性的后果——有一天她有点昏昏沉沉,开始到处乱改,然后她就没有办法取回原始文件了。巴姆。

我现在要问的是:是否有任何方法/设置允许 Access 不立即提交更改,也许直到用户单击某个按钮或其他东西?这不是 Access 的工作方式,请不要让我回到旧的 Excel,因为我喜欢并欣赏 Access 的 WYSIWYG 界面及其熟悉的数据库环境。也许不是这种行为,它与数据库一起出现。

4

1 回答 1

0

如果您正在寻找一个简单的设置来保留历史记录,或者启用撤消或强制将所有更改封装在显式事务中,那么您就不走运了,因为 Access 没有提供开箱即用的这些设置。

然而,有一些方法可以在不同程度上实现所有这些功能,从在记录即将更改时进行简单确认,创建所有更改的日志(以便用户至少可以看到更改的内容),再到在之前复制记录它们被修改等。

撤消操作可能很简单,例如恢复您刚刚键入的值,但如果您想要撤消创建或修改数据库中其他地方的十几个其他记录的操作,它可能会很快变得非常麻烦。如果在此之后执行了其他操作(例如由连接到数据库的其他用户),则变得特别困难。

但是,一些可以帮助您的事情:

  1. 您可以跟踪表单中的所有更改并保留操作日志(在另一个表中或仅在文本文件中):

  2. 您可以使用Access 2010 数据宏在数据库更新或添加某些内容时自动触发某些操作(例如复制记录或跟踪更改)。

  3. 您可以在未绑定模式下使用所有表单,并在表单打开(或更改记录)时手动设置数据,并仅在用户完成时将其保存回数据库。

所有这些方法都需要工作和测试,并且需要适应您希望为用户提供的体验。

您可以做的另一件事是简单地定期复制数据库作为备份,这样,如果出现问题,您并没有丢失所有内容(无论如何这是强制性的,我总是至少有一个每日备份系统)。

于 2013-08-02T08:33:45.093 回答