标题: 求教一个报表的现实 [打印本页] 作者: bqq 时间: 2010-12-13 14:41 标题: 求教一个报表的现实 制作 了一个动态交叉报表,字段是 日期,第一列的是人名。如
2010-12-1 2010-12-2 2010-12-3
A *
B #
C %
字段的日期和人名(A,B,C)都可以根据情况在报表中动态显示,但是我在这种基础上想实现一个功能是,如何判断值,如果是“*”就让报表中该文本框显示绿色,“#”就显示黄色,诸如此类的。文本框为空的就不显示颜色,求教。谢谢 作者: roych 时间: 2010-12-13 14:49
在报表里写代码就可以判断了,但是需要注意的是,星号和井号属于特殊符号,我没试过。下班后再上传一个例子~~作者: todaynew 时间: 2010-12-13 14:51
设置条件格式作者: bqq 时间: 2010-12-13 15:09
哦,代码我这样写的
For i = 0 To DayCount
Reports("TS部门人员活动时间总览报表").Controls("head" & i + 1).Caption = DateAdd("d", i, Me.查询时间从.Value)
Reports("TS部门人员活动时间总览报表").Controls("col" & i + 1).ControlSource = DateAdd("d", i, Me.查询时间从.Value)
If DLookup("符号", "TS部门人员活动时间总览表", "时间= #" & Me.查询时间从.Value + i & "#") = "#" Then
Reports("TS部门人员活动时间总览报表").Controls("col" & i + 1).BackColor = RGB(0, 255, 0)
End If
Next
这样就无论是否A还是B还是C,统统只要有一个人员是#的话整列都是绿色了。有没办法在区分符号的时候要区分出日期和人员?
谢谢作者: roych 时间: 2010-12-13 19:59
需要看看附件~~我这里有一段代码供参考:
Private sub Rpt_Detail(Cancel As Integer,FormatCount As Integer)
’初始化,TxtQ1为值,Q为字段
Me.TxtQ1.Properties("ForeColor")=vbBlack
Me.TxtQ1.Properties("FontItkic")=False
If Me.Q1>80 Then
Me.TxtQ1.Properties("ForeColor")=vbBlue
Me.TxtQ1.Properties("FontItkic")=True
End If
End Sub
当字段比较多的时候,应该可以用For语句来获取全部字段。