SQL ORDER BY on Update-使用条件更新最后一条记录
我试图用latest TimeAccessed更新表Log字段的最后一条记录,因为TimeExited为null,并且computername与cm参数相同。我有这个错误,但在sql语句末尾缺少分号 怎么了SQL ORDER BY on Update-使用条件更新最后一条记录,sql,vba,ms-access,Sql,Vba,Ms Access,我试图用latest TimeAccessed更新表Log字段的最后一条记录,因为TimeExited为null,并且computername与cm参数相同。我有这个错误,但在sql语句末尾缺少分号 怎么了 dbs.Execute "UPDATE Log " _ & "SET TimeExited = " & Format(CloseTime, "\#hh:mm:ss AMPM\#") _ & " WHERE TimeExited is NULL AND Computer
dbs.Execute "UPDATE Log " _
& "SET TimeExited = " & Format(CloseTime, "\#hh:mm:ss AMPM\#") _
& " WHERE TimeExited is NULL AND ComputerName = '" & cm & "'" _
& " ORDER BY TimeAccessed DESC" _
& " LIMIT 1; "
前两行没有问题,工作很好,最后两行出现问题Access SQL不使用限制n它使用TOP n,正如您问题的评论中提到的,您不允许以您描述的方式使用TOP。相反,您需要按照以下思路做一些事情:
更新日志
设置TimeExited=CloseTime
其中TimeExited为NULL
和ComputerName='r2d2'
以及在
选择前1名
从日志
其中TimeExited为NULL
和ComputerName='r2d2'
按时间顺序访问描述
你说得对,我搜索得不够。这就解决了,谢谢