Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

更改最后一条记录的时间

马山杨梅  发表于:2011-10-03 16:52:45  
复制

为了更改表2最后一条记录的时间,先用

DoCmd.RunSQL "UPDATE 表2 SET 表2.关闭时间 = Now() WHERE (((表2.ID)=DMax("ID","表2")));"

后改成

DoCmd.RunSQL "UPDATE 表2 SET 表2.关闭时间 = Now() WHERE ((表2.ID) ='" & DMax("ID","表2")) & "'"

均提示语法错误,请高手给予指点,谢谢!

 

Top
都市侠影 发表于:2011-10-03 17:24:00

把函数Now放在引号外面:

"UPDATE 表2 SET 表2.关闭时间 =" & Now() & "WHERE ((表2.ID) ='" & DMax("ID","表2")) & "'"



马山杨梅 发表于:2011-10-03 18:06:52
测试了,还是不行哦。

符鸿敏 发表于:2011-10-03 18:16:29

经测试,改成如下:

DoCmd.RunSQL "UPDATE tbl钥匙 SET tbl钥匙.关闭时间 = Now() WHERE tbl钥匙.ID = DMax('id','tbl钥匙') "

已通过。



dbaseIIIer 发表于:2011-10-03 18:23:56

DoCmd.RunSQL "UPDATE 表2 SET 表2.关闭时间 = Now() WHERE ((表2.ID) ='" & DMax("ID","表2")) & "'"

 

低级错误!

 

1. now() 是可以放在查询语句的

2. 括号错误

3. ID 字段若是数字字段, 不该用单引号

 

应该是

 

DoCmd.RunSQL "UPDATE 表2 SET 表2.关闭时间 = Now() WHERE ((表2.ID)=" & DMax("ID","表2") & ")"

 

或简单点

DoCmd.RunSQL "UPDATE 表2 SET 关闭时间 = Now() WHERE ID=" & DMax("ID","表2")

 

 



马山杨梅 发表于:2011-10-03 18:24:34

原来后面要单引号啊,谢谢您。DoCmd.RunSQL "UPDATE 表2 SET 表2.关闭时间 = Now()  WHERE 表2.ID =  DMax('id','表2')  "

非常满意,谢谢老师啦!



马山杨梅 发表于:2011-10-03 18:26:33
同时谢谢其它两位老师啊。

总记录:6篇  页次:1/1 9 1 :