2

我已经搜索了各种论坛以找到一个条件格式的示例,该示例使用存储在表中的字段中的背景颜色值。

我的作品使用每月颜色将商品减半,12 个月 12 种颜色,所以第一次使用色带将不起作用。(哦,是的,它的 MS OFFICE 2010 专业版 Access)

我将打印带有部门名称、价格和月份名称的条形码 SKU。11 月的月份名称将具有灰色背景。在 12 月,所有灰色标签都减半。

这个问题可以在 VBA 中解决,正如access-programmers.co.uk中的这个示例所示,但它被硬编码到模块中。IE

Select Case Me.CarID  'the name of the control with the value to be tested
  Case "TILX"
    Me.TextBoxName.BackColor = 12632256  '(gray)
  Case "GATX"
    Me.TextBoxName.BackColor = vbRed
  Case Else
    Me.TextBoxName.BackColor = RGB(255, 255, 255)  '(white)
End Select

我有这样的月份表:

MonthCode  MonthName  MonthColor
---------  ---------  ----------
11         November     12632256

这样颜色值是动态存储的(如果桃色纸或粉红色墨水将来便宜十亿倍),但 MonthName 文本框的背景属性没有事件构建器,只是一个托盘选择(或者我会尝试=[monthTable]![MonthColor]) .

所以,

一个。我应该使用 VBA 示例并测试每个案例吗?或者

湾。我可以在 me.Textbox 的表达式中使用字段值作为 uhm 值吗?月份名称=[月份颜色]?

在我的收银、定价、收货和盘点之间,我只能在装有 Access 的计算机上不间断地进行大约 20 秒的实验。所以我真的很感谢你以前的经历。

埃里克

4

1 回答 1

0

由于您有远见将所需的颜色值放入表格中,因此您现在只需要一个DLookup(). 例如,在On Format报表的 Detail 带的事件处理程序中,我们可以做

Option Compare Database
Option Explicit

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
    Me.MonthName.BackColor = DLookup("MonthColor", "MonthTable", "MonthCode=" & Month(Me.txtSomeDate))
End Sub

产生

月份颜色.png

于 2013-11-11T13:17:13.757 回答