姓名 月份 日期 加班时间 所属地区 张三 3 1 2 上海 李四 4 1 1 北京 王五 3 1 1 beijing 张三 3 2 1 shanghai 李四 3 2 2 xizang 张三 4 3 1 beijing 张三 3 3 1 SH 李四 3 4 1 上海 李四 3 5 1 shanghai 我要对一个公司员工管理的数据库进行操作,表中主要有员工姓名,日期,加班时间,所属地区等字段,所属地区字段中“上海”、“shanghai”和“SH”是等同的,“北京”和“beijing”是等同的,当我用select语句从数据库中找出日期为3月且所属地区是上海的所有记录时,我希望所属地区为“shanghai”和“SH”的记录也能被选出来,即期望结果是 姓名 月份 日期 加班时间 所属地区 张三 3 1 2 上海 张三 3 2 1 shanghai 张三 3 3 1 SH 李四 3 4 1 上海 李四 3 5 1 shanghai 然后基于上面的查询结果对姓名为“张三”的加班时间字段的值进行求和并赋给变量u 姓名为“李四”的加班时间的和赋给变量v 下面的程序仅可以做到对查询时输入的place内容查询,比如查询时输入“上海”就只能查到所属地区为上海的记录,“shanghai”和“SH”的记录就查不到了,请各位高手在下面的基础上提出修改的意见!谢谢!
a=trim(request("year")) b=trim(request("month"))
c=trim(request("date"))
d=trim(request("name"))
e=trim(request("place"))
Function sql(x,y,sqls)
if y<>"" then
sqls=sqls & " and " & x & " like '%" & y & "%'"
end if
sql=sqls
End Function
Set conn=Server.CreateObject("ADODB.Connection")
DBpath=Server.MapPath("biao.mdb")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};pwd=;dbq=" & DBpath
Set rs=Server.CreateObject("ADODB.Recordset")
sqls="select * from 加班信息 where 1=1"
sqls=sql("year",a,sqls)
sqls=sql("month",b,sqls)
sqls=sql("date",c,sqls)
sqls=sql(“name”,d,sqls)
sqls=sql("place",e,sqls)