【问题标题】:Complex MS Access Form controls not changing background color复杂的 MS Access 表单控件不改变背景颜色
【发布时间】:2016-05-03 14:51:09
【问题描述】:

我有一个未绑定的表单,上面有 300 多个控件,它从订单上的订单项中提取数据(通过记录集)并计算不同的产品。可以在此表单上计算宽度为 1、2、3 等的多个产品,然后在 VBA 中编程以在设置文本框值时将更改值的背景颜色设置为 vbGreen,以便用户可以轻松看到发生了什么变化。

我的框正在填充值,但是只有在您单击框时才会显示绿色背景

If Double20 <> 0 Then
  Me.Double20.Value = Double20
  Me.Double20.BackColor = VbGreen
End If

Double20 是保存计数的变量(是的,我确实尝试更改变量名称以检查冲突)

有什么想法吗?

编辑:我也尝试过明确提及它

Forms![DWO Creator Form]![Double20].BackColor = vbRed

然后将其更改为红色(但仅在单击它之后)

【问题讨论】:

  • 请在第一段使用一些标点符号,真的很难阅读。 --- 你不应该有一个与表单上的控件同名的变量。这肯定会造成混乱。
  • 我更改了变量的名称,但并没有解决问题
  • 尝试在 If/Then 块中添加 Form.Refresh。有时表单没有它就不会刷新。
  • 或者改成BackColor之后的Me.Repaint
  • 我卡住了。你能分享一份你的数据库吗?

标签: ms-access vba


【解决方案1】:

您所有的文本框都有一个透明背景。

您要么需要在设计视图中将其设置为“正常”,要么添加

Me.Double20.BackStyle = 1

设置.BackColor时。

回想起来,这应该很明显 - 控件仅在获得焦点时才显示其背景色正是透明背景的行为...

【讨论】:

  • 谢谢你这样做我以前从未遇到过表单问题,并且不要认为我修改了我填写表单的初始文本框
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 2015-06-16
  • 1970-01-01
  • 2012-04-02
相关资源
最近更新 更多