Office中国论坛/Access中国论坛

标题: 求教一个报表的现实 [打印本页]

作者: 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语句来获取全部字段。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3