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 连续表格备用背景颜色屏幕损坏的主要内容,如果未能解决你的问题,请参考以下文章