SQL.Text:='update zy1 set yjze=yjhzb.yjje from(select yjje from zy2 )yjhzb ';
这个查询在SQL2000的数据库中好正常执行,在ACCESS数据库中出错,不知道该如何改写一下,谢谢!

解决方案 »

  1.   

    自己试了一下:
    ACCESS中
    SQL.Text:='update zy1 set yjze=yjhzb.yjje from(select yjje from zy2 )yjhzb ';在SQL2000中改写成:
    SQL.Text:='update zy1 a, (select yjje from zy2 ) b set a.yjze=b.yjje ' 运行成功,但我要加一个SUM,也就是写成
    SQL.Text:='update zy1 a, (select sum(yjje) as yjje from zy2 ) b set a.yjze=b.yjje '提示操作必须使用一个可更新的查询。
      

  2.   

    换一个问法:
    表一:姓名,押金总额。
    表二:姓名,每次交押金的金额,交费日期
    每天想更新一下所有人的押金总额,数据库是ACCESS,如何写呢?
      

  3.   

    SQL.Text:='update zy1 a set a.yjze=b.yjje from (select yjje from zy2 ) b’;
    SQL.Text:='update zy1 a set a.yjze=b.yjje from (select sum(yjje) as yjje from zy2 ) b’;
      

  4.   

    用不用SUM都会报错,也就是说两条都报错,报语法错误。
      

  5.   

    用不用SUM都会报错,也就是说两条都报错,报语法错误。
    测试用的是ACCESS数据库
      

  6.   

    access中的update无法用这种子查询,你这需求必须用临时表解决