在线等待。。急。。200分。。。@#¥¥%^&×&(请问怎么统计listview所显示的内容

zwjason 2003-09-08 11:12:44
是这样的,我做了一个排班表。。是用listview显示出来的。但我不知道怎么统计出来。某人某个月有多少个早班、中班、晚班、休息等等。。。

listview显示效果如下:

日期 星期 中班 休息 早班 晚班 休息 休息
2003 星期一 小李 小王 张三 小平 小马 小美
。 。 。 。 。 。 。 。
。 。 。 。 。 。 。 。
。 。 。 。 。 。 。 。
。 。 。 。 。 。 。 。
。 。 。 。 。 。 。 。

等等。。。
请问我用什么方法,怎么才能统计出来。到底某某上了多少个班。。

统计出来后,我要进行补助费的统计。。
最好给个例子。。最好详细点。。
谢谢各位。。。。高手。。。
...全文
26 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
2312 2003-09-09
  • 打赏
  • 举报
回复
你对数据库表进行统计很简单就实现了
表结构这样就可以:

日期 星期 人员代码 人员名称 早班 中班 晚班 休息 ....

2003-09-08 星期一 01 小李 1
2003-09-08 星期一 02 小美 1
2003-09-08 星期一 03 小王 1
2003-09-08 星期一 04 张三 1
2003-09-08 星期一 05 小平 1
2003-09-08 星期一 06 小马 1
2003-09-09 星期二 01 小李 1
2003-09-09 星期二 02 小美 1
2003-09-09 星期二 03 小王 1
2003-09-09 星期二 04 张三 1
2003-09-09 星期二 05 小平 1
2003-09-09 星期二 06 小马 1


这样,可以按日期,人员,或人员与日期的组合统计查询都可以,统计的结果
listview显示就可以啦~
zhp97 2003-09-09
  • 打赏
  • 举报
回复
如果你不用数据库也行,就设置几个数组吧。
hahu 2003-09-09
  • 打赏
  • 举报
回复
create procedure getit(
@@youtime varchar(30),
@@youtype varchar(30),
@@empname varchar(30)
) /*这里少了个括号*/
as
declare @@cmd varchar(1000)
set @@cmd='select cout(*) as tcount where DATEDIFF(month, 日期,CAST('+@@youtime+' AS datetime))<1 and '+@@youtype+'='+@@empname

exec(@@cmd)

@@youtime格式如2000-05-08 12:35:29.998
失败
mrtxc 2003-09-09
  • 打赏
  • 举报
回复
统计出来。到底某某上了多少个班。。

统计出来后,我要进行补助费的统计。。
********************************

这么多统计,楼主为什么不用数据库,不然很麻烦的(当然也可以实现)
但代码量太大了。

想来就有点晕!@#$!
hahu 2003-09-09
  • 打赏
  • 举报
回复
create procedure getit(
@@youtime varchar(30),
@@youtype varchar(30),
@@empname varchar(30)
) /*这里少了个括号*/
as
declare @@cmd varchar(1000)
set @@cmd='select cout(*) as tcount where DATEDIFF(month, 日期,CAST('+@@youtime+' AS smalldatetime))<1 and '+@@youtype+'='+@@empname

exec(@@cmd)
xiaofei7569 2003-09-09
  • 打赏
  • 举报
回复
对数据库进行统计就行了。
hahu 2003-09-09
  • 打赏
  • 举报
回复
create procedure getit(
@@youtime varchar(30),
@@youtype varchar(30),
@@empname varchar(30),
as
declare @@cmd varchar(1000)
set @@cmd='select cout(*) as tcount where DATEDIFF(month, 日期,CAST('+@@youtime+' AS smalldatetime))<1 and '+@@youtype+'='+@@empname

exec(@@cmd)

@@youtime格式如2000-05-08 12:35:29.998
2312 2003-09-09
  • 打赏
  • 举报
回复
存为数据库数据,



对表进行统计
2312 2003-09-09
  • 打赏
  • 举报
回复
存为数据库数据,



对表进行统计
Drate 2003-09-09
  • 打赏
  • 举报
回复
如果是这样的表格的话, 我会用数据库来保存,然后用SQL语句来做统计
否则自己来做的话,太累了,有数据库为什么不用呢?
tanqth 2003-09-09
  • 打赏
  • 举报
回复
我一般用数据库,用SQL统计
prettysky 2003-09-09
  • 打赏
  • 举报
回复
oklida(JAVA战士) 所言极是!

不过Showmessage好多次耶。。Show的我头痛。
oklida 2003-09-09
  • 打赏
  • 举报
回复

for i:=0 to ListView1.Items.count-1 do
begin
showmessage(listview1.Items[i].Caption);
showmessage(listview1.Items[1].SubItems.Strings[0]);//第i行第2列
showmessage(listview1.Items[1].SubItems.Strings[1]);//第i行第3列
end;

你知道怎么统计了吧
gardenyang 2003-09-09
  • 打赏
  • 举报
回复
你这些数据是不是存在数据库里面啊
可以用sql语句进行运算啊

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧