【问题标题】:Access form edit doesn't save when closing with acSaveYes使用 acSaveYes 关闭时访问表单编辑不保存
【发布时间】:2020-07-13 22:38:59
【问题描述】:

我无法使用 Access 来保存我使用 VBA 编辑的表单以隐藏(或取消隐藏)列。基本代码如下。我打开表单(在数据表模式下,因为我正在更改 ColumnHidden 属性),进行更改,然后关闭并保存,但它不保存更改。进行实验,我将 acSaveYes 更改为 acSavePrompt,它甚至没有提示我保存。这与处于数据表模式有什么关系吗?在设计模式下进行类似编辑时从未遇到过这个问题。如果是这样,我该如何进行并保存这样的更改。感谢您的任何想法!

DoCmd.OpenForm "Form1", acFormDS
Forms![Form1].MyColumn.ColumnHidden = True
DoCmd.Close acForm, "Form1", acSaveYes

【问题讨论】:

    标签: ms-access vba


    【解决方案1】:

    您使用 VBA 所做的更改被 Access 视为临时的,并且不会被保存,即使您明确保存了您的对象。这种行为是有意的(并且非常有用,因为它允许您根据需要随时隐藏内容,而不必担心在用户完成表单后恢复更改)。一个例外是用户首先让 VBA 进行更改,然后切换到布局视图并进行其他更改,然后保存对象。在这种情况下,VBA 所做的更改将被保存。

    据我所知,您无法更改这一点。显然,您可以手动进行更改然后保存它,或者根据您在某处设置的内容打开表单后检查该列是否可见。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 2020-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多