采用MS SQL 2000数据库,表Overtime结构如下:
ID                 int         4      不允许空      主键       递增1
Name               char        6      不允许空                 姓名
Date_Overtime      datetime    8      不允许空                 日期
Week_Overtime      char        6      不允许空                 星期
Time_Begin         datetime    8      不允许空                 开始时间
Time_End           datetime    8      不允许空                 结束时间
Time_Total         datetime    8      不允许空                 结束-开始
Mark               varchar     50     允许空                   备注假如表中有三条记录,如下:
1  张三  2004-01-02  星期五  10:00:00  12:00:00  2:00:00  洗碗
2  李四  2004-01-02  星期五  12:30:00  13:30:00  1:00:00  洗菜
3  张三  2004-01-02  星期五  14:30:00  16:00:00  1:30:00  烧饭在报表中,先显示上面记录,显示完毕显示汇总结果,形式如下:
张三  3小时30分钟00秒种
李四  1小时00分钟00秒种欢迎大家踊跃发言,谢谢!

解决方案 »

  1.   

    好象SQL里面有个函数的,我前段时间刚用过,,都忘了,你自己找找看
      

  2.   

    select name,sum(datediff(second,time_end,time_begin)) from Overtime group by name
      

  3.   

    Nwing(nwing)的思路是对的,得到每个工作人员工作的秒数,如果能转化为**小时**分钟**秒种就好了。
      

  4.   

    寫一個函數,在OnPrint時格式化顯示内容
      

  5.   

    谢谢 Nwing(nwing)和z_hongbao()!报表由两部门组成:详细内容和汇总内容,特别是汇总内容有多条记录,按姓名分组,不知道大家有没有遇见过同类问题。如果有,你们是怎么解决的,谢谢!
      

  6.   

    进行分组后,在组脚加qrexpr1这个控件,然后在其的expression中写入sum(要加和的字段名)
      

  7.   

    根据此问题,汇总信息放在rbDetail,rbSubDetail还是rbSummary中?
      

  8.   

    该问题已经通过主TQRBand(rbDetail)(汇总信息,ADOQuery1,DataSource1设置为ADOQuery1)从TQRSubDetail(详细信息,ADOQuery2,DataSource2设置为ADOQuery2)表解决。其中TQuickRep的DataSet设置为ADOQuery1,ADOQuery2的DataSource设置为ADOQuery1.
    谢谢大家!我马上将50分分配给你们!