MS Access条件格式值存储在表的字段中?

时间:2013-11-11 07:28:03

标签: ms-access-2010 conditional-formatting

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

我的作品使用每月颜色将商品放在一半的销售中, 12个月12种颜色,所以第一次使用色带将无法正常工作。 (哦,是它的MS OFFICE 2010专业版Access)

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

问题可以在VBA中解决,因为这个示例来自access-programmers.co.uk,但它被硬编码到模块中。即。

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值。 MONTHNAME = [MonthColor]

我的计算机上只有二十个不间断的秒钟,可以通过Access进行实验,在我的收银,定价,接收和库存之间。所以我真的很感激你以前的经历。

埃里克

1 个答案:

答案 0 :(得分:0)

由于您有远见将所需的颜色值放入表中,现在您只需要DLookup()。例如,在报告的详细信息带的On Format事件处理程序中,我们可以执行

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

产生

MonthColors.png