如果TextBox具有Cond,则会重新启用TextBox。格式化?

时间:2011-04-06 21:04:21

标签: ms-access vba

我想我正在直接查看Access 2003错误。这就是我所做的(我认为):

  1. 我正在开发一个连续表格(即每页多个记录)。
  2. 我在“详细信息”部分的背景中有一个未绑定的文本框。在数据属性下,我有已启用 =否和已锁定 =是。 (换句话说,我不希望用户选择它。我只想要它为背景颜色)
  3. 此文本框还有一些条件格式,可以更改该行的背景颜色。 (例如,如果我们暂时没有与该客户通话,则该记录的背景为红色)
  4. 如果我选择条件格式处于活动状态的记录(即背景为红色),我实际上可以单击此文本框。当然,我无能为力,但这不应该发生,肯定会让最终用户感到困惑。
  5. 有没有人见过这个?你的解决方法是什么?

3 个答案:

答案 0 :(得分:3)

Enabled是可以通过条件格式控制的属性。默认情况下,添加新条件时,Enabled属性设置为True。 如果您不希望启用控件,则必须在条件格式设置规则中明确设置Enabled = False。

通过条件格式设置对话框右下角的按钮切换属性。很容易错过(我一直忘记它)。

就个人而言,我认为该属性应该是三向的:True,False或Inherit(默认为Inherit)。遗憾的是,Access在添加条件格式设置规则时强制您显式,并说明规则是否应使控件启用或禁用。

答案 1 :(得分:1)

这是我的解决方法(我等着看其他人是否会提出更好的建议。显然不是。)

  1. 在我的有条件格式的文本框中,为GotFocus添加事件过程。输入以下代码:Me.Txt_FocusHere.SetFocus
  2. 在表单的某处创建第二个未绑定的文本框。收缩它直到它只有1行厚。称之为Txt_FocusHere
  3. 因此,无论何时用户点击彩色背景,焦点都会立即转移到这个无法存储任何数据的虚拟文本框,并且非常小,以至于用户看不到闪烁的光标。

答案 2 :(得分:0)

我在下一页成功使用了该方法:http://www.mvps.org/access/forms/frm0047.htm - “以连续形式更改当前记录的背景颜色”