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

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

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

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

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

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

Example of Alternate Back Colour problem

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

【问题讨论】:

    标签: ms-access-2007


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

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

    【讨论】:

      猜你喜欢
      • 2019-11-15
      • 1970-01-01
      • 2016-11-18
      • 2021-02-07
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 2011-11-09
      • 2017-05-13
      相关资源
      最近更新 更多