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