需要子表单时,条件格式会闪烁
Posted
技术标签:
【中文标题】需要子表单时,条件格式会闪烁【英文标题】:Conditional Formatting flickering on and off when subform is requeried 【发布时间】:2021-08-03 13:57:18 【问题描述】:我有一个 Access 前端链接到数据库的 SQL Server。我有一个包含子表单的主表单,设置为Datasheet
,以使用条件格式向用户显示网格中的记录。记录集不可更新,因此我有一个单独的表单来修改数据。一旦该表单修改了数据,我需要调用Requery
来刷新数据。
问题是,当在 VBA 中点击此行时,子窗体的条件格式会暂时关闭然后重新打开,这会对最终用户造成“闪烁”效果,他们可以暂时看到数据而不是所需的颜色编码。
我已尝试更新表中的记录,但由于它不可更新,所以这不是一个选项。我也尝试在执行前设置Application.Echo False
无济于事。这似乎没有什么区别。
我怎样才能阻止这种情况发生?
下面的代码行:
Private Sub saveData_Click()
Dim x as Integer
Call frmSaveData(x) '// Calls the routine to save the data
Me.subFormData.Form.Requery '// Calls the subform query to refresh and formatting 'flickers'
End Sub
【问题讨论】:
Application.Echo False
为我解决了这些类型的问题。您可以发布您尝试过的代码吗? (是否有任何事件潜艇过早地重新打开它?)
【参考方案1】:
关闭绘画应该这样做:
Private Sub saveData_Click()
Dim x as Integer
' One or both. Test.
Me.Painting = False
Me!subFormData.Form.Painting = False
Call frmSaveData(x) '// Calls the routine to save the data
Me.subFormData.Form.Requery '// Calls the subform query to refresh and formatting 'flickers'
Me!subFormData.Form.Painting = True
Me.Painting = True
End Sub
【讨论】:
以上是关于需要子表单时,条件格式会闪烁的主要内容,如果未能解决你的问题,请参考以下文章