是不是应该这样写啊?
DB.Execute "update sbk set sbk.wgy in (select kskm.name from kskm where sbk.wgm=kskm.wgm)"

解决方案 »

  1.   

    也许你这句
    ++++++
    select kskm.name from kskm where sbk.wgm=kskm.wgm
    +++++++
    没查询到结果~
      

  2.   

    可更新的查询?
    试试:
    DB.Execute "update sbk set sbk.wgy In (select kskm.name from kskm where sbk.wgm=kskm.wgm)"
      

  3.   

    是不是组合查询生成的记录不能更改,好像有这么个说法,DAO我不太清楚
      

  4.   

    (select kskm.name from kskm where sbk.wgm=kskm.wgm)这子查询不正确啊,你没有sbk呢
      

  5.   

    (select kskm.name from kskm where sbk.wgm=kskm.wgm)这子查询不对,你没有select sbk这表呢
      

  6.   

    kevincomein(白菜) :
    不需要吧,我看了其它贴子,好象都没有写啊,因为在前面已经写了的啊!?
      

  7.   

    select kskm.name from kskm where sbk.wgm=kskm.wgm
    错了,update也没有条件,要是要整个表操作,我一般用cursor的
      

  8.   

    nichole():
    你可不可以说详细点,该怎么做?
      

  9.   

    declare @wgmdeclare cur cursor for select wgm from kskm 
    open cur
    fetch next from cur into @wgmwhile @@fetch_status=false
    begin
    update sbk set sbk.wgy=(select kskm.name from kskm where kskm.wgm
    =@wgm)
    fetch next from cur into @wgm
    endclose cur
    deallocate cur这是存储过程,可以用command调用的
      

  10.   

    我看用另一种查询吧!比如update sbk set sbk.wgy=kskm.name inner join kskm on sbk.wgm=kskm.wgm
      

  11.   

    我用的方法是DAO啊,不是ADO?!!!!!!!!
      

  12.   

    sqlserver?access? or others?
      

  13.   

    DB.Execute "update sbk set sbk.wgy=(select kskm.name from kskm ,sbk where sbk.wgm=kskm.wgm)"
    如果还不可以,有可能select kskm.name from kskm ,sbk where sbk.wgm=kskm.wgm查出的纪录为空或不唯一所造成的。
      

  14.   

    DB.Execute "update sbk,kskm set sbk.wgy=kskm.wgy  where sbk.wgm=kskm.wgm"就正确啦!
    谢谢各位帮忙!!!!!!!!