wu8829 发表于 2016-4-15 13:17:44

根据报表数据进行统计并标记

本帖最后由 Lenka.Guo 于 2016-4-15 13:57 编辑

现有一个报表,如图:

如何统计“未签到”的次数及对“未签到”单元格做出红色标记

Lenka.Guo 发表于 2016-4-15 13:56:16

两个问题:
1. 统计未签到的次数

这个建议在做SQL 语句处理,如:
输入查询语句:
select count(状态)
from table
where 状态='未签到'


2. 对"未签到"标记为红色

使用IIF 表达式设置 Background Color属性,如:=IIF(状态='未签到',"red","");

wu8829 发表于 2016-4-15 15:34:21

按照你这样说来:报表本身不具有统计功能?

其次,按照你的方法来做标记,出现“无效的表达式格式”,如图:



wu8829 发表于 2016-4-15 15:36:06

其次,在这个报表中,“所属星期”列,是通过=Weekday(Fields!Work_DT.Value) 方法来获取的,但是显示的数字,能否显示成“星期一” ……

Lenka.Guo 发表于 2016-4-15 15:50:18

wu8829 发表于 2016-4-15 15:36
其次,在这个报表中,“所属星期”列,是通过=Weekday(Fields!Work_DT.Value) 方法来获取的,但是显示的 ...

如电话沟通:
报表转换工具 http://gcdn.gcpowertools.com.cn/forum.php?mod=viewthread&tid=21521#lastpost

wu8829 发表于 2016-4-15 16:11:37

因我的报表采用了共享数据源,所以无法使用此工具。IIF问题我已解决,接下来麻烦解决下面问题:

编写报表脚本实现 数字1 转换为 星期一。

Lenka.Guo 发表于 2016-4-15 16:26:12

wu8829 发表于 2016-4-15 16:11
因我的报表采用了共享数据源,所以无法使用此工具。IIF问题我已解决,接下来麻烦解决下面问题:

编写报 ...

报表模板:


实现步骤:

1. 选择“脚本”;测试数据:NWind_CHS.mdb


2. 输入代码:

Function SetWeekday(ByVal e As String) As String
        If (e = "1") Then
                Return "星期一"
        ElseIf(e = "2")Then
                Return "星期二"
        ElseIf(e = "3")Then
                Return "星期三"
        ElseIf(e = "4")Then
                Return "星期四"
        ElseIf(e = "5")Then
                Return "星期五"               
        ElseIf(e = "6")Then
                Return "星期六"
        Else
                Return "星期天"
        End If
End Function
3.    选中星期单元格,在属性窗口中,设置Value 属性:=Code.SetWeekday(Weekday (Fields!订购日期.Value))








wu8829 发表于 2016-4-15 16:45:26

谢谢,星期问题已成功解决。现在又出现一个奇怪的问题

添加多个数据源,分别用于显示报表、统计上午未签到次数、统计下午未签到次数、统计下班未签到次数


在某个单元格设置其value的值为:=First(Fields!CountAM.Value, "DS_CountAM") + First(Fields!CountPM.Value, "DS_CountPM") + First(Fields!CountOFF.Value, "DS_CountOFF")

居然不显示。。

但是我在报表空白区域分别添加三个文本框,分别设置其value的值为:=Sum(Fields!CountAM.Value, "DS_CountAM")、=Sum(Fields!CountPM.Value, "DS_CountPM")、=Sum(Fields!CountOFF.Value, "DS_CountOFF") 后,那个不显示数据的单元格居然显示了,这是怎么一回事?




Lenka.Guo 发表于 2016-4-15 17:35:35

wu8829 发表于 2016-4-15 16:45
谢谢,星期问题已成功解决。现在又出现一个奇怪的问题

添加多个数据源,分别用于显示报表、统计上午未签 ...

单元格设置Value 属性后,显示空白,则表示该值有误,所以无法正常显示。

您设置单元格的Value: =First(Fields!CountAM.Value, "DS_CountAM") + First(Fields!CountPM.Value, "DS_CountPM") + First(Fields!CountOFF.Value, "DS_CountOFF")
涉及三个数据集的值,但是一个TextBox 只能与一个数据集相关。

您可以设置三个TextBox 并分别设,TextBox 1,TextBox 2,TextBox 3: 为:=Sum(Fields!CountAM.Value,"DS_CountAM")、=Sum(Fields!CountPM.Value, "DS_CountPM")、=Sum(Fields!CountOFF.Value, "DS_CountOFF");并设置Visibility 的Hidden 属性为False

然后添加 TextBox4,设置Value属性: ReportItems!TextBox1.Value+ReportItems!TextBox2.Value+ReportItems!TextBox3.Value


页: [1]
查看完整版本: 根据报表数据进行统计并标记