Office中国论坛/Access中国论坛
标题:
新手请教一句在access的sql
[打印本页]
作者:
bqq
时间:
2010-12-10 11:42
标题:
新手请教一句在access的sql
insert into TS部门人员活动时间总览表 (人员名称, 时间, 地区, 活动名称)
select TS部门人员活动表.人员名称, TS部门人员活动表.到达时间 + 32, TS部门人员活动表.到达的目的地, TS部门人员活动表.活动名称 from TS部门人员活动表
where TS部门人员活动表.到达时间 <= #2010-12-3# and TS部门人员活动表.到达时间 +32 >= #2010-11-1# and
case when TS部门人员活动表.离开时间 <=#2010-12-3# then ( where TS部门人员活动表.到达时间 +32 <= TS部门人员活动表.离开时间)
else ( where TS部门人员活动表.到达时间 +32 <= #2010-12-3# )
end
说语法错误,操作符丢失,实在是当局者迷,请各位高人指点,谢谢
作者:
roych
时间:
2010-12-10 13:40
请上传附件~~
作者:
todaynew
时间:
2010-12-10 14:12
bqq 发表于 2010-12-10 11:42
insert into TS部门人员活动时间总览表 (人员名称, 时间, 地区, 活动名称)
select TS部门人员活动表.人员 ...
时间和日期的加减法,需要用DateAdd函数。你在VB设计视图下,搜索一下该函数的用法,就什么都明白了。
作者:
bqq
时间:
2010-12-10 14:40
谢谢大大。我是access 2007环境的。试过不用case那部分是可以运行的。感觉是case那里有什么问题,因为自己写的,是在自己看不出来。。。求救。谢谢
作者:
t小宝
时间:
2010-12-10 19:24
ACCESS的SQL语句中没有case、else、end等关键词吧
作者:
aslxt
时间:
2010-12-11 17:36
case那部分可用iif函数代替
作者:
bqq
时间:
2010-12-11 20:04
感谢aslxt的建议,确实我用iif实现了 。可能access的sql不支持case把。谢谢
并且用到了嵌套
iif (nz(TS部门人员活动表.离开时间,0)=0,TS部门人员活动表.到达时间 +15<=#2010-12-16#,iif (TS部门人员活动表.离开时间 <=#2010-12-16#,TS部门人员活动表.到达时间 +15 <= TS部门人员活动表.离开时间,TS部门人员活动表.到达时间 +15<=#2010-12-16#))
作者:
aslxt
时间:
2010-12-11 23:29
回复
bqq
的帖子
是的,case 不能用于access!
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/)
Powered by Discuz! X3.3