譬如数据库里的记录是这样子:
姓名              记录时间           累计     状态
张三    2005-1-1 10:10:10          450      上班
张三    2005-1-3 16:15:13          555      下班
李四    2005-1-2 12:12:12          333      上班
李四    2005-1-2 18:12:12          222      下班
……
……
张三    2005-1-3 12:12:12          555      上班
张三    2005-1-3 18:12:12          666      下班
然后在Data Report里面我需要打印出最后两条记录,并要显示出“张三在上班期间共计用了111”(666-555)。你看这样子能实现吗? (数据库用的是Access)
不知道怎么在该控件里实现得到最后两条记录的办法,并且取得“累计”字段的值进行相减。
望知情者告知方法,不胜感激。

解决方案 »

  1.   

    我对Data Report也不是很熟。
    你在Data Report里要显示什么,应该通过赋给Data Report的记录集就可以实现(记录集的where 来控制)。
    要显示出“张三在上班期间共计用了111”(666-555),只需要在Data Report里加入一个RptFunction控件。Data field设置为你要计算的那列的字段名。FunctionType设为相减。(属性值我忘了。)
      

  2.   

    不知道你的具体情况也说不清楚。你仔细看一下SQL句子。应该能实现的。
      

  3.   

    select top 1 A.姓名,B.累计-A.累计 as 总计时间 from 表名 A inner join (select top 1 姓名,累计, 记录时间,状态 from 表名 order by 记录时间 desc) B on A.姓名=B.姓名 where A.记录时间<B.记录时间 and A.状态<>B.状态 order by A.记录时间 desc
      

  4.   

    select top 1 A.姓名,B.累计-A.累计 as 总计时间, A.记录时间 as 上班, B.记录时间 as 下班 from 表名 A inner join (select top 1 姓名,累计, 记录时间,状态 from 表名 order by 记录时间 desc) B on A.姓名=B.姓名 where A.记录时间<B.记录时间 and A.状态<>B.状态 order by A.记录时间 desc
      

  5.   

    sangshuyezi(留一点空间去思考) 没有懂到你的意思,如果可以请QQ联系:12012109。