起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 390|回复: 16

【结帖】表达式计算字段的统计**

[复制链接]
发表于 2008-6-26 15:28:57 | 显示全部楼层 |阅读模式
从数据字典查出的数据集表结构如下
____________________
|工序 | 开始日期 |结束日期 |
------------------------------------
现加一表达式计算字段, 表达式为

DaysBetween(开始日期,结束日期)

在数据网个中页脚汇总合计值,总是显示  (合计值0天)

何故?
回复

使用道具 举报

 楼主| 发表于 2008-6-26 15:35:12 | 显示全部楼层
另外
我需要 结束日期比开始日期晚

数据表的数据约束设置 为 结束日期>开始日期 这样怎么不好用呢?
回复 支持 反对

使用道具 举报

发表于 2008-6-26 15:47:33 | 显示全部楼层
检查一下,数据类型是否正确?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-26 16:01:43 | 显示全部楼层
开始日期 结束日期 数据类型为 日期时间 表现类型为 日期
  表达式计算字段 类型为 数字  表现类型 为数字
回复 支持 反对

使用道具 举报

发表于 2008-6-26 17:24:12 | 显示全部楼层
怎么个不好用,是不能起不到约束吗?如果是,你是在哪里定义的?如果是表上,直接预览表正常吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-26 17:34:06 | 显示全部楼层
约束作用定义在数据表不好使,定义在数据集上可以用,效果达到即可,不去管它了!

主要是讨论页脚统计的话题!
回复 支持 反对

使用道具 举报

发表于 2008-6-26 17:50:53 | 显示全部楼层
页脚统计的是物理字段或者临时字段吗?如果都不是,而是计算字段或者表达式计算字段就不行了,从4楼的描述“表达式计算字段 类型为 数字  表现类型 为数字”,你是表达式计算字段,那就不能页脚汇总了,要不你改为临时字段,然后通过代码给临时字段赋值,然后实现页脚汇总
至于临时字段怎么赋值,参考  http://bbs.justep.com/forum.php?mod=viewthread&tid=4311
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-26 21:14:10 | 显示全部楼层
你好,我按照您发的地址的设置用了,发现效果很好。

只是有个问题,当新添加一行记录的时候,出现错误

error.png

25.61 KB, 下载次数: 198

回复 支持 反对

使用道具 举报

发表于 2008-6-27 08:31:18 | 显示全部楼层
屏蔽这段代码正常吗?
如果是,请把这段代码都帖出来看看
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-6-27 08:56:56 | 显示全部楼层
procedure TJHFKXX.DataSetZTSJJCalcFields(DataSet: TDataSet);
begin
     if DataSet.FieldByName('ContinueDate').AsString<>'' then
        if DataSet.FieldByName('PauseDate').AsString<>'' then
           DataSet.FieldByName('ZTTS').AsInteger:=DateUtils.DaysBetween(DataSet.FieldByName('PauseDate').AsDateTime,DataSet.FieldByName('ContinueDate').AsDateTime)
        else
           DataSet.FieldByName('ZTTS').AsInteger:=DateUtils.DaysBetween(DataSet.FieldByName('PauseDate').AsDateTime,SysSrv.SysService.Time)
     else
         DataSet.FieldByName('ZTTS').AsInteger:=0;
end;

一共就在OnCalcFields事件里加了这些个东西,其中
ZTTS 是临时字段,PauseDate和ContinueDate是时间日期类型,表现类型为日期

如果没有这些代码或者用表达式计算字段则增加修改没问题(表达式字段不能页脚汇总)。
很简单,是从一个表里通过 SELECT * 出来的,也没涉及复杂的跨表查询,只是一个表
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-18 16:18 , Processed in 0.048030 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表