注册 登录
编程论坛 VFP论坛

出勤记录按年度统计并求和

htys 发布于 2022-02-23 16:48, 1586 次点击
只有本站会员才能查看附件,请 登录

小难题
如图输入姓名和年度,按查询出勤后,grd表里只显示被查询人的记录,同时下面出勤记录显示出勤本年度出勤次数。
9 回复
#2
htys2022-02-24 07:08
求大佬帮帮忙
#3
wengjl2022-02-24 08:05
你出勤的数据表传上来,统计简单的
#4
sych2022-02-24 08:19
_tally这个变量保存的就是全部查询记录数,直接赋值就行了
#5
mywisdom882022-02-24 08:35
以下是引用htys在2022-2-23 16:48:51的发言:


小难题
如图输入姓名和年度,按查询出勤后,grd表里只显示被查询人的记录,同时下面出勤记录显示出勤本年度出勤次数。

求和有2种,一个记录求和,一个是数量求和,
下面,就是用SQL语句求和,还可以用VFP语句的
* 记录求和
select count(姓名) as 次数 ,姓名 from 你表 group by 姓名 into cursor tmp1 && 按姓名不同,分组求和,这里的count(姓名),可以写成count(1),count(*)都可以
* 你的问题,就是多个条件就可以了 , 注意,你的年度,是数值,因为Year()返回的是数值
select count(姓名) as 次数 ,姓名 from 你表 where 姓名= "你要的姓名" and year(日期) = 你的年度 group by 姓名 into cursor tmp1
brow && 查看结果
* 数量求和
select sum(数量) as 总数 ,姓名 from 你表 group by 姓名 into cursor tmp2 && 按姓名不同,分组总数求和,这个和你的这题无关
#6
htys2022-02-24 11:01
只有本站会员才能查看附件,请 登录

数据表简单,现在就是按年度统计一下出勤次数,输入2022年就能统计出来本年度出勤次数。
想取表里的“服务时间”里的年度来统计次数
#7
htys2022-02-24 20:55
在数据表里加了个出勤年度,问题就解决了,问问大佬不加出勤年度还是上面的出勤表能不能给个方案,探讨一下
#8
独木星空2022-02-25 07:25
回复 5楼 mywisdom88
或许这两种求和方式,我都用着着。(zhezhao着着)
#9
mywisdom882022-02-25 08:39
以下是引用htys在2022-2-24 11:01:12的发言:


数据表简单,现在就是按年度统计一下出勤次数,输入2022年就能统计出来本年度出勤次数。
想取表里的“服务时间”里的年度来统计次数


* 假设你输入的,姓名-》text1(字符),年度->text2(数值)
nm = allt(thisform.text1.value)
nd = thisform.text1.value
select count(姓名) as 次数,姓名 from 义工考勤 where allt(姓名)== nm and year(服务时间) == nd group by 姓名 into cursor tmp
brow && 或者 ?tmp.次数


* 假设你输入的,姓名-》text1(字符),年度->text2(字符)

nm = allt(thisform.text1.value)
nd = int(val(thisform.text1.value))
select count(姓名) as 次数,姓名 from 义工考勤 where allt(姓名)== nm and year(服务时间) == nd group by 姓名 into cursor tmp
brow

#10
htys2022-02-25 10:18
回复 9楼 mywisdom88
谢谢结合您的语句,问题完美解决,再次感谢!
1