【问题标题】: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 为我解决了这些类型的问题。您可以发布您尝试过的代码吗? (是否有任何事件潜艇过早地重新打开它?)

标签: vba ms-access ms-access-2016


【解决方案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

【讨论】:

    猜你喜欢
    • 2016-11-21
    • 1970-01-01
    • 1970-01-01
    • 2018-02-08
    • 1970-01-01
    • 2020-09-19
    • 1970-01-01
    • 2012-02-01
    • 1970-01-01
    相关资源
    最近更新 更多