Office中国论坛/Access中国论坛

标题: 急,高手请进 [打印本页]

作者: joesu    时间: 2003-3-7 00:24
标题: 急,高手请进
下面语句在SQL Server中完全可行:
update p_rpt_tmpA set  p_rpt_tmpA.A0131=A01.A0131, p_rpt_tmpA.A0154=A01.A0154 from p_rpt_tmpA,A01 where p_rpt_tmpA.n_id=A01.n_id and A01.c_type='1'

但是到了Access中就不行了,请问在Access中怎么写这类语句?

作者: joesu    时间: 2003-3-7 00:40
有人么?
斑竹可以回答我吗?
作者: Roadbeg    时间: 2003-3-7 00:42
docmd.runsql "update ...."
会出错,那出错提示是什么?
作者: joesu    时间: 2003-3-7 00:54
提示如下:
语法错误(操作符掉失),在查询表达式'A01.A0154 from p_rpt_tmpA'中。

请问是什么原因?
作者: joesu    时间: 2003-3-7 01:08
由于我这个SQL 语句是动态生成的,不可能改成循环去执行,
不知道要改造成什么样式才能符合Access的要求?

呼唤高手!
作者: joesu    时间: 2003-3-7 02:29
谢谢RoadBag,本人已经得出答案,如下:

SQL Server:
update p_rpt_tmpA set  p_rpt_tmpA.A0131=A01.A0131, p_rpt_tmpA.A0154=A01.A0154 from p_rpt_tmpA,A01 where p_rpt_tmpA.n_id=A01.n_id and A01.c_type='1'

相等于
ACCESS:
UPDATE A01 INNER JOIN p_rpt_tmpA ON A01.N_Id = p_rpt_tmpA.n_id and A01.c_type='1' SET p_rpt_tmpA.A0154=A01.A0154





欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3