怎样解决这个问题?(关于思路的畅谈)

taylermail 2003-08-07 08:50:45
我做一个系统
目的:员工加班时间、休假的录入和查询。第一季度:员工假期=加班时间合计-休假合计。其中有个小环节,就是单位要求对员工假期每一季度进行一次转换。
也就是如果员工假期超过10天按10天计算,不足有多少算多少加到下一个季度的加班时间里。下一季度:员工假期=加班时间合计-休假合计+上季度转化来的假期。
我用asp+sql 应该怎么实现这个自动转换????
怎么建这个表。我有加班记录表,休假记录表,员工基本数据表。好要什么?
...全文
27 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
野马 2003-08-12
  • 打赏
  • 举报
回复
数据库的数据冗余太多,重新设计如下:
表1(pID(员工代号),员工姓名,部门代号) 存储员工信息资料
表2(bID(部门代号),部门名称) 存储部门的信息资料
表3(员工代号,加班时间,加班地点,加班天数) 存储每一次每一员工的加班情况
表4(员工代号,休假时间,休假天数) 存储每一次每一员工的休假情况
表5(员工代号,上季度转化来的假期,结算日期) 存储上次结算结果
员工加班的录入:
objRs.open "select * from 表3",conn,3,2
objRs.addnew
objRs.("员工代号")=员工代号
objRs.("加班时间")=加班时间
objRs.("加班地点")=加班地点
objRs.("加班天数")=加班天数
objRs.update

员工休假的录入:
objRs.open "select * from 表4" ,conn,3,2
objRs.addnew
objRs.("员工代号")=员工代号
objRs.("休假时间")=休假时间
objRs.("休假天数")=休假天数
objRs.update

查询
sqlstr="select 表1.员工姓名,表2.部门名称,sum(表3.加班天数),sum(表4.休假天数),上季度转化来的假期
form 表1,表2,表3,表4,表5
where 表1.部门代码=表2.部门代码
and 表1.员工代号=表2.员工代号(指的是查询条件要求查询的人的代号)
and 表3.员工代号=表1.员工代号
and 表4.员工代号=表1.员工代号
and 表5.员工代号=表1.员工代号"

季度结算:
首先查询上次结算日期,判断需不需要结算,如果需要:
objRs.open "select * from 表1",conn,3,3
for i=1 to objRs.recordcount
if objRs.eof then
exit for
else
Id = objRs("pID")
objRs2.open "select sum(表3.加班天数)-sum(表4.休假天数)+上季度转化来的假期
from 表1,表3,表4,表5 where and 表3.员工代号=表1.员工代号
and 表4.员工代号=表1.员工代号
and 表5.员工代号=表1.员工代号
and 表1.pID="& objRs("pID"),conn,3,3
spare = objRs2(1)
if spare>10 then spare=10
objRs2.open "select * from 表5 where 表5.员工代号="& Id
objRs2.Addnew
objRs2("员工代号") = Id
objRs2("上季度转化来的假期") = spare
objRs2("结算日期") = new()
objRs2.updata
objRs2.open "delete from 表4,表3
where and 表3.员工代号='"&Id&"'
and 表4.员工代号='"&Id&"'"
end if
objRs.NextMove
next

此处表达式,只表示一种思路,具体写法就要看你了。
希望我们能叫个朋友。
taylermail 2003-08-07
  • 打赏
  • 举报
回复
好 Tworkname(id ,name,bumen部门名称)
Tjbjl(id,bumen,name,jb_dz加班地址,jb_ rq加班日期,jb_tianshu(加班天数))
txjjl(id,bumen,name,xj_rq休假日期,xj_tianshu(休假天数))


请问怎么执行一次程序/
野马 2003-08-07
  • 打赏
  • 举报
回复
有兴趣,能不能不各字段的意思注释一下。要是自动不好定时间吧,可以到需要转换时执行一次程序。
taylermail 2003-08-07
  • 打赏
  • 举报
回复
说清楚点
我的 表字段
Tworkname(id ,name,bumen)
Tjbjl(id,bumen,name,jb_dz,jb_ rq,jb_tianshu(天数))
txjjl(id,bumen,name,xj_rq,xj_tianshu(天数))
tigerwen01 2003-08-07
  • 打赏
  • 举报
回复
最关键的就是要表与表之间要有关键字来建立关系这一思路。
taylermail 2003-08-07
  • 打赏
  • 举报
回复
我做一个系统
目的:员工加班时间、休假的录入和查询。
第一季度:员工假期=加班时间合计-休假合计。其中有个小环节,就是单位要求对员工假期每一季度进行一次转换。也就是如果员工假期超过10天按10天计算,不足有多少算多少,加到下一个季度的加班时间里。
下一季度:员工假期=加班时间合计-休假合计+上季度转化来的假期。
我建的 表1(id,部门名称,员工姓名)
表2(id,部门名称,员工姓名,加班时间,加班地点,加班天数)
表3(id,部门名称,员工姓名,休假时间,休假天数)
还需要什么表,干什么才能实现上面的系统??
taylermail 2003-08-07
  • 打赏
  • 举报
回复
请回答了给我taylermail@163.com
qq :3990202
野马 2003-08-07
  • 打赏
  • 举报
回复
thinking...

28,404

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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