MS Access 2007 连续表格备用背景颜色屏幕损坏

Posted

技术标签:

【中文标题】MS Access 2007 连续表格备用背景颜色屏幕损坏【英文标题】:MS Access 2007 Continuous Form Alternate Back Colour Screen Corruption 【发布时间】:2018-02-16 06:38:59 【问题描述】:

应该有一个简单的解决方案,但我找不到:

我有一个连续的表单,所有控件都启用和锁定,透明背景和框架。 Form:Detail 部分有一个 Alternate Back Color 集。

表单显示通过表单标题中的组合框选择的银行帐户的交易。更改银行帐户时,会显示新帐户的交易。

但是,如果为新帐户显示的第一个屏幕行的颜色与以前帐户的颜色不同,则所有控件都会保留先前显示的行的背景颜色。重新查询或控制转到特定行时会发生相同的屏幕损坏。

希望下面的图片能澄清一下:

Example of Alternate Back Colour problem

我尝试了各种各样的方法,但似乎没有任何方法可以解决这个问题。最后的手段是删除备用的背景颜色,但我真的不想这样做。任何解决此问题的帮助将不胜感激。

【问题讨论】:

【参考方案1】:

尽管我试图把它从我的脑海中抛开并继续使用功能性的东西,但它一直在不断地琐碎。经过大量搜索并且通常会分心,我找到了一个非常简单的解决方案(https://access-programmers.co.uk/forums/showthread.php?t=268390):

当我更改帐户或转到记录时,只需将记录操作括在“Echo False”、“Echo True”对中即可。所以,例如:

    If RecordsetClone.RecordCount > 0 Then
        Me.RecordsetClone.MoveLast
        If Me.RecordsetClone.RecordCount > wRowNum Then
            wRecordNo = Me.RecordsetClone.RecordCount - wRowNum
        Else
            wRecordNo = Me.RecordsetClone.RecordCount
        End If
        Echo False
        DoCmd.GoToRecord , , acGoTo, wRecordNo
        Echo True
    End If

或:

    Set rs = Me.Recordset.Clone
    rs.FindFirst "WkACT_ID = " & Nz(wCurrentRecord, 0)
    If Not rs.EOF Then
        Echo False
        Me.Bookmark = rs.Bookmark
        Echo True
    End If

万岁!希望这对那些被同样的外观问题困扰的人有所帮助。

【讨论】:

以上是关于MS Access 2007 连续表格备用背景颜色屏幕损坏的主要内容,如果未能解决你的问题,请参考以下文章

MS access 2007 使用组合框填充图片

解决 Ms Access 连续表格?

MS Access 表单:添加表格/网格视图

MS Access:Access 2016 应用程序能否与 Access 2007 一起使用?

在 ms access 2016 中未打印背景颜色和图像

MS Access 2007 上的 MS Graph 图表中的图表区域有时为空白