表格不保存
Forms not saving
首先,我为我的术语和有时的愚蠢道歉,因为我完全 self/internet(主要是在这里)教。在过去的几年里,我一直在开发一个应用程序,主要是为了帮助我工作,更多的是为了踢球和咯咯笑。我现在 运行 遇到了一个让我难过的问题!所以我呼吁任何建议:)
好吧,一些背景,我在所有表格上使用颜色来根据 ID 识别数据块 - 看起来很漂亮,好吧;有时它是浏览 table 时数据属于哪个块的快速标识符。所以我有一个表格,我或用户可以将这些颜色更改为适合他们的眼睛、需要等的任何颜色,并且有一个 table 保存此信息。现在使用 'Conditional Formatting' 应用这些颜色(当 ID = 1 时,背景颜色为这种颜色,字体颜色为这种颜色,等等)。当在 FormLoad() 代码中打开一个表单时,会检查颜色是否已更改,如果已更改,则调用一个模块来更新表单上的所有 'Conditional Formats'(我应该在这里添加它是仅应用于表单上的 tables),一切看起来都很漂亮而且更重要的作品!现在这个过程相对较慢(在某些表单上需要几秒钟),每次打开表单时都慢到 运行。所以很久以前我找到了一种强制 Access 保存设计的方法,包括 'Conditional Formatting':
DoCmd.RunCommand (acCmdDesignView)
Forms!PrePlanner!BtnHelp.Caption = "Help"
DoCmd.Save acForm, "PrePlanner"
DoCmd.Close acForm, "PrePlanner", acSaveYes
这在某些表单上非常有效,但在其他表单上却不行!!
起初我认为这与子表单有关,因为它不适用于所有具有子表单的表单,而它正在处理的表单没有子表单...所以我复制了一个可以作为普通表单打开的简单子表单(最近创建的表单),对颜色进行了更改打开了测试表单,颜色按预期更新,使用上述代码关闭了表单并且格式未保存! :((如果我将帮助按钮更改为说 "Help!" 此更改已保存)
上面代码没有保存的表格也是我最近设计的表格,保存的是较旧的表格(几年前在不同的计算机上设计但相同的版本的访问)。我复制了其中一个旧表格,更改了颜色等等,它确实保存了!!!
我已经完成并比较了工作表单和非工作表单的所有属性,但什么也没有,我已经尝试导出和导入...请任何想法真正帮助我理智!!
提前致谢
.....我忘了说我在 64 位 Windows 10 机器上使用 Access 2016。
附加信息。
今天早上玩了一下,我创建了一个新表单(从头开始)配置了记录,以便可以应用条件格式等。打开新表单,条件格式已更新,关闭并保存表单。重新打开新表单后,一切都应该是条件格式已保存。所以我然后添加一个子窗体,再试一次,条件格式被更新,从关闭但是这次没有保存条件格式!然后我删除了子窗体并重复测试,这次条件格式被保存了。
所以这似乎与子表单有关,表单属性的哪些更改会添加一个子表单触发器来阻止条件格式的保存?这是 Access 中的一个怪癖吗?
再次感谢。
您是否尝试过 运行 您的代码在表单处于设计视图时应用格式?当表单处于正常视图模式时,通过 VBA 更新时,条件格式和属性似乎不会保存。我很幸运在设计中重新打开表单,运行 代码,然后保存表单。
首先,我为我的术语和有时的愚蠢道歉,因为我完全 self/internet(主要是在这里)教。在过去的几年里,我一直在开发一个应用程序,主要是为了帮助我工作,更多的是为了踢球和咯咯笑。我现在 运行 遇到了一个让我难过的问题!所以我呼吁任何建议:)
好吧,一些背景,我在所有表格上使用颜色来根据 ID 识别数据块 - 看起来很漂亮,好吧;有时它是浏览 table 时数据属于哪个块的快速标识符。所以我有一个表格,我或用户可以将这些颜色更改为适合他们的眼睛、需要等的任何颜色,并且有一个 table 保存此信息。现在使用 'Conditional Formatting' 应用这些颜色(当 ID = 1 时,背景颜色为这种颜色,字体颜色为这种颜色,等等)。当在 FormLoad() 代码中打开一个表单时,会检查颜色是否已更改,如果已更改,则调用一个模块来更新表单上的所有 'Conditional Formats'(我应该在这里添加它是仅应用于表单上的 tables),一切看起来都很漂亮而且更重要的作品!现在这个过程相对较慢(在某些表单上需要几秒钟),每次打开表单时都慢到 运行。所以很久以前我找到了一种强制 Access 保存设计的方法,包括 'Conditional Formatting':
DoCmd.RunCommand (acCmdDesignView)
Forms!PrePlanner!BtnHelp.Caption = "Help"
DoCmd.Save acForm, "PrePlanner"
DoCmd.Close acForm, "PrePlanner", acSaveYes
这在某些表单上非常有效,但在其他表单上却不行!!
起初我认为这与子表单有关,因为它不适用于所有具有子表单的表单,而它正在处理的表单没有子表单...所以我复制了一个可以作为普通表单打开的简单子表单(最近创建的表单),对颜色进行了更改打开了测试表单,颜色按预期更新,使用上述代码关闭了表单并且格式未保存! :((如果我将帮助按钮更改为说 "Help!" 此更改已保存)
上面代码没有保存的表格也是我最近设计的表格,保存的是较旧的表格(几年前在不同的计算机上设计但相同的版本的访问)。我复制了其中一个旧表格,更改了颜色等等,它确实保存了!!!
我已经完成并比较了工作表单和非工作表单的所有属性,但什么也没有,我已经尝试导出和导入...请任何想法真正帮助我理智!!
提前致谢
.....我忘了说我在 64 位 Windows 10 机器上使用 Access 2016。
附加信息。
今天早上玩了一下,我创建了一个新表单(从头开始)配置了记录,以便可以应用条件格式等。打开新表单,条件格式已更新,关闭并保存表单。重新打开新表单后,一切都应该是条件格式已保存。所以我然后添加一个子窗体,再试一次,条件格式被更新,从关闭但是这次没有保存条件格式!然后我删除了子窗体并重复测试,这次条件格式被保存了。
所以这似乎与子表单有关,表单属性的哪些更改会添加一个子表单触发器来阻止条件格式的保存?这是 Access 中的一个怪癖吗?
再次感谢。
您是否尝试过 运行 您的代码在表单处于设计视图时应用格式?当表单处于正常视图模式时,通过 VBA 更新时,条件格式和属性似乎不会保存。我很幸运在设计中重新打开表单,运行 代码,然后保存表单。